1、v$sql檢視
假定使用者a與使用者b都基於自身schema建立了表t
使用者a發布查詢select * from t,此時共享池中產生一條與該語句的相關的sql游標,在v$sql檢視體現(假定為首次執行)
不久使用者b也發出select * from t的查詢,同上,v$sql中也對應有一條該語句的游標
為了便於理解,我們將v$sql檢視中的sql文字稱之為游標,將v$sqlarea中的sql文字稱為sql語句
2、v$sqlarea
對於上述情形
此時v$sqlarea則是對檢視v$sql的乙個聚合,也即是相當於對檢視v$sql使用了distinct關鍵字。
儘管v$sql中出現了兩條select * from t,而v$sqlarea僅為一條
v$sqlarea提供的是每條sql語句執行的彙總資訊
3、v$sqltext
該檢視包括shared pool中sql語句的完整文字,但一條sql語句是被分成多個塊來進行儲存的。
對於比較短的sql語句,乙個piece就搞定,對於比較長的sql語句則需要多個piece的結合來完整展現一條真正的sql語句。
4、v$sqltext_with_newlines
該檢視用於完整儲存sql語句所有字元,保留sql語句的回車和製表符。
column
datatype
descrption
sql_text
varchar2(1000)
當前sql指標的前1000個字元(也就是說這裡記錄的sql是不完整的)
executions
number
執行次數
disk_reads
number
這個子指標disk read的次數
buffer_gets
number
這個子指標的buffer gets數量
optimizer_mode
varchar2(10)
sql執行的優化器模式
optimizer_cost
number
sql執行成本
hash_value
number
在library cache中父指標的hash value值
監聽 監測oracle資料庫執行的SQL語句
select a.sid,a.serial a.status,a.username,哪個使用者執行的sql d.spid 程序號,b.sql text sql內容,a.machine 計算機名稱,a.module 執行方式,to char cast c.sofar totalwork 100 as ...
資料庫 Oracle監聽例項詳解
oracle例項別名 imcdb description address protocol tcp host localhost port 1521 connect data server dedicated service name imcdb.imc.com imcdb 連線描述符名 例項別名 ...
Oracle資料庫中 in與exists語句的區別
一 in的理解 如sql select from t1 where x in select y from t2 中,先執行select y from t2,等價於select from t1,select distinct y from t2 t2 wheret1.x t2.y。可以理解為 先進行子...