深入淺出資料字典摘要

dotaddjj發表於2012-02-06

Eygle深入淺出的資料字典摘要:

Oracle資料字典儲存的是oracle內部的後設資料,而資料字典一般是隻讀的,由4部分組成:內部rbdmsx$)表,資料字典表,動態效能(v$)檢視和資料字典檢視。

X$表是oracle執行基礎,在資料庫啟動時由oracle應用程式建立。不允許授權其他sys使用者訪問,比較常見x$bh,x$ksmsp,x$kvit等。

SQL> grant select on x$kvit to xiaoyu;

grant select on x$kvit to xiaoyu

ORA-02030: 只能從固定的表/檢視查詢

不過使用autotraceexplain plan檢視sql語句,常用的v檢視執行計劃的實質卻是底層的x檢視。

SQL> explain plan for select * from v$parameter;

Explained

SQL> select * from table(dbms_xplan.display());

PLAN_TABLE_OUTPUT

--------------------------------------------------------------------------------

Plan hash value: 1128103955

------------------------------------------------------------------------------

| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |

------------------------------------------------------------------------------

| 0 | SELECT STATEMENT | | 1 | 926 | 1 (100)| 00:00:01 |

|* 1 | HASH JOIN | | 1 | 926 | 1 (100)| 00:00:01 |

|* 2 | FIXED TABLE FULL| X$KSPPI | 1 | 249 | 0 (0)| 00:00:01 |

| 3 | FIXED TABLE FULL| X$KSPPCV | 100 | 67700 | 0 (0)| 00:00:01

提一下x$kvit檢視記錄的是例項執行的一些資訊,例如後臺程式dbwr達到以下條件時會觸發:

Dirty buffers達到閥值25%

no free buffer當程式掃描LRU一定數量block還找不到free space,觸發dbwr執行寫出(此時會伴隨一個free buffer waits等待事件,是由於需要把datafileblock寫入到buffer cache中但是掃描LRU一定數量block後還是找不到free space

資料字典表用以儲存表、索引、約束等資料庫結構資訊,一般以$結尾例如bootstrap$undo$,在建立資料庫的時候執行$oracle_home/dbms/sql.bsq指令碼建立。

動態效能檢視記錄的資料庫執行資訊和統計資料,大部分動態效能檢視被實時更新以反映資料庫當前狀態。

常見的v檢視和gv檢視,gv檢視是用於rac環境下,而v檢視是基於gv$檢視的,增加了inst_id列的where條件inst_id=userenv(‘instance’)返回當前instance資訊。我們可以利用v$fixed_tablev$fixed_view_definition檢視v$ gv$x$的有關資訊。

Oracle為了安全機制建立了gv_檢視、v_檢視和publicgv同義詞、v同義詞,建立的資訊儲存於oracle_homerbdmsadmincatalog.sql下。

Create or replace view v_$fixed_table as select * from v$fixed_table;

Create or replace public synonym v$fixed_table as select * from v_$fixed_table;

透過v_檢視,oraclev$檢視和普通使用者隔離,普通使用者是無法訪問v檢視的,v_$檢視可以授予其他使用者,v$檢視則不允許。

所以,實際上通常的大部分使用者訪問的v$物件,並不是檢視,而是指向v_$檢視的synonym

(訪問的優先順序table>view>私有synonym>publict synonym

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25362835/viewspace-1057284/,如需轉載,請註明出處,否則將追究法律責任。

相關文章