oracle 優化 診斷命令

2021-04-01 17:45:06 字數 1604 閱讀 8185

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...