oracle 優化/診斷命令

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 空間事務處理鎖表明由於優化不良的數據庫中的區正在增長或收
縮SMON 正在合併相鄰的空閒區
• 持有模式當前加在表或行上的鎖的級別它是通過一條成功的 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 罕用此值

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章