v$views
• 這些檢視基於 x$ 表 這是一種儲存例程資訊的記憶體結構因此在例程
處於 nomount 或 mount 狀態時這些檢視均可用
• v$ 檢視在 v$fixed_table 中列出
• v$ 檢視 實際上是 v_$ 檢視的同義詞屬於 sys 使用者
示例確定消耗程式全域性區 (pga) 記憶體多於 30,000 位元組的會話
sql> select username,name,value
2 from v$statname n, v$session s, v$sesstat t
3 where s.sid=t.sid
4 and n.statistic#=t.statistic#
5 and s.type='user'
6 and s.username is not null
7 and n.name='session pga memory'
8* and t.value > 30000;
v$session_event 檢視按會話顯示自例程啟動以來某一特定事件的等待時間
總計v$session_wait 檢視列出活動會話正在等待的資源或事件
如果您正在為 oracle 伺服器進行故障診斷則您需要知道某一程序何時曾經等
待過某一資源v$session_wait 檢視的結構使您能夠容易地實時檢查是否有
任何會話正在等待如果有等待的原因是什麼
示例sql> select sid, event
2 from v$session_wait
3* where wait_time = 0;
鎖頁字段續
• 鎖型別經常獲取的一些鎖型別如下
– tm 表鎖提供幾個表上的併發訪問
– tx 事務處理鎖或行鎖提供併發訪問行
– mr 介質恢復鎖表明資料庫檔案是聯機的
– st 空間事務處理鎖表明由於優化不良的資料庫中的區正在增長或收
縮**on 正在合併相鄰的空閒區
• 持有模式當前加在表或行上的鎖的級別它是通過一條成功的 sql 語句
獲得的5 種主要的表級鎖定模式如下
– 行共享一條 select...for update 語句獲得此鎖
– 行專用任何一條 dml 語句都會獲得此鎖
– 共享的行專用這個鎖通常是使用外來鍵約束條件的 on delete
cascade 選項從一條語句獲得的
– 共享有時獲得這種鎖是為了在外鍵關係中阻止對父表進行 dml
– 專用只能通過 lock table 命令獲得它也是通過 dml 命令獲得的
唯一一種行級鎖
• 請求模式正等待由 sql 語句請求以加到表或行上的鎖的級別由於表或
行上已有鎖它就無法獲得此鎖表級鎖模式與持有模式相同
• 物件名鎖正在對其起作用的物件的名稱
• 物件所有者擁有此物件的資料庫使用者的名稱
• 物件型別物件型別如 table 或 rollback
• 資源 id1 對於 tm 型鎖此號碼標識從 dba_objects 檢視使用
object_id 的表對於 tx 型鎖此號碼除以 65535 後標識 undo$ 中的
回退段號碼
• 資源 id2 罕用此值
診斷oracle效能
檢視session的運 況 select v.blocking session,v.sid,v.sql id v.event,v.row wait obj v.row wait file v.row wait block v.row wait row v.from gv session v wher...
Oracle診斷工具 RDA
oracle診斷工具 rda rda是remote diagnostic agent 的簡稱,是oracle用來收集 分析資料庫的工具,執行該工具不會改變系統的任何引數,rda收集的相關資料非常全面,可以簡化我們日常監控 分析資料庫的工作。一 支援的作業系統 ibm aix intel linux ...
用SQL TRACE對Oracle進行診斷(一)
生成trc檔案後查詢可以通過資料字典表看到trace檔案的位置 select d.value lower rtrim i.instance,chr 0 ora p.spid trc trace file name from select p.spid from v mystat m,v sessio...