Oracle 資料字典和資料字典檢視
--==============================
--Oracle 資料字典和資料字典檢視
--==============================
資料字典
是後設資料的集合,從邏輯上和物理上描述了資料庫及內容,儲存於SYSTEM與SYSAUX表空間內的若干段。
SYS使用者擁有所有的資料字典表,資料字典基本一般以$結尾,如col$,tab$等,這些資料字典存放在system表空間中。
資料字典的形成
在資料庫建立階段建立,在使用階段維護和更新
無法透過DML操作來修改,只能透過相關的命令修改系統,來達到間接修改資料字典。
資料字典的特點
每個Oracle資料庫的中樞
描述資料庫和它的物件
包含只讀的表和檢視
儲存在SYSTEM表空間中
擁有者是SYS使用者
由Oracle伺服器自己維護
用SELECT訪問
資料字典內容:
資料字典提供下列資訊:
邏輯和物理的資料庫結構
物件的定義和空間分配
一致性限制
使用者
角色
許可權
審計
資料字典的主要用途:
Oracle伺服器用它查詢下列資訊:
使用者
物件
儲存結構
Oracle伺服器修改資料字典當DDL語句執行的時候.
使用者和管理員們利用它瞭解資料庫的資訊.
基礎表和資料字典檢視:
資料字典包括兩個部分:
基礎表
儲存資料庫的描述
CREATE DATABASE命令建立(sql.bsq)
資料字典檢視
用於簡化基礎表的資訊
透過PUBLIC同義詞訪問
由指令碼catalog.sql建立
資料字典基表中的資料很難看懂。因此,很少人直接訪問這些基表。取而代之的是資料字典檢視。
資料字典檢視分為類,它們以前輟來區分,前輟分別為:USER、ALL、DBA
USER_* 使用者所擁有的物件資訊
ALL_* 使用者能訪問的物件資訊
DBA_* 整個資料庫中的物件資訊
建立資料字典檢視:
建庫後,執行以下指令碼建立的
$ORACLE_HOME/rdbms/admin/catalog.sql 建立常用的資料字典和同義詞
$ORACLE_HOME/rdbms/admin/catproc.sql 建立內建的儲存過程、包等pl/sql物件
DBCA建庫時會自動執行這兩個指令碼,但如果手動建庫的話,需手動執行。
常用的資料字典:
一般的概況: TAB,DICTIONARY, DICT_COLUMNS
物件: DBA_TABLES, DBA_INDEXES, DBA_TAB_COLUMNS, DBA_CONSTRAINTS --->user_ ,all_
空間分配: DBA_SEGMENTS, DBA_EXTENTS
資料庫結構: DBA_TABLESPACES, DBA_DATA_FILES
動態效能檢視:
是將記憶體裡的資料或控制檔案裡的資料以表的形式展現出來,它們實際都是虛擬表,並不是真正的表
只要資料庫在執行,就會不斷更新動態效能檢視
一旦資料庫關閉或崩潰,則動態效能檢視裡的資料就丟失,當資料庫重新啟動後,資料將會被更新
所有的動態效能檢視名稱都存放在v$fixed_table裡。這些動態效能檢視都是以V_$開頭,屬主是sys
oracle為每個動態效能檢視都建立了同義詞,同義詞將中間的“_”去掉了,形成以v$開頭
在同義詞中檢視v$session
SQL> SELECT owner,synonym_name,table_owner,table_name,db_link
2 FROM dba_synonyms WHERE synonym_name='V$SESSION';
OWNER SYNONYM_NAME TABLE_OWNER TABLE_NAME DB_LINK
-------------------- -------------------- -------------------- -------------------- --------
PUBLIC V$SESSION SYS V_$SESSION
SQL> SET LONG 15000
SQL> SELECT text FROM dba_views WHERE view_name='V_$SESSION';
TEXT
--------------------------------------------------------------------------------
select "SADDR","SID","SERIAL#","AUDSID","PADDR","USER#","USERNAME","COMMAND","OW
NERID","TADDR","LOCKWAIT","STATUS","SERVER","SCHEMA#","SCHEMANAME","OSUSER","PRO
CESS","MACHINE","TERMINAL","PROGRAM","TYPE","SQL_ADDRESS","SQL_HASH_VALUE","SQL_
ID","SQL_CHILD_NUMBER","PREV_SQL_ADDR","PREV_HASH_VALUE","PREV_SQL_ID","PREV_CHI
LD_NUMBER","MODULE","MODULE_HASH","ACTION","ACTION_HASH","CLIENT_INFO","FIXED_TA
BLE_SEQUENCE","ROW_WAIT_OBJ#","ROW_WAIT_FILE#","ROW_WAIT_BLOCK#","ROW_WAIT_ROW#"
,"LOGON_TIME","LAST_CALL_ET","PDML_ENABLED","FAILOVER_TYPE","FAILOVER_METHOD","F
AILED_OVER","RESOURCE_CONSUMER_GROUP","PDML_STATUS","PDDL_STATUS","PQ_STATUS","C
URRENT_QUEUE_DURATION","CLIENT_IDENTIFIER","BLOCKING_SESSION_STATUS","BLOCKING_I
NSTANCE","BLOCKING_SESSION","SEQ#","EVENT#","EVENT","P1TEXT","P1","P1RAW","P2TEX
T","P2","P2RAW","P3TEXT","P3","P3RAW","WAIT_CLASS_ID","WAIT_CLASS#","WAIT_CLASS"
TEXT
--------------------------------------------------------------------------------
,"WAIT_TIME","SECONDS_IN_WAIT","STATE","SERVICE_NAME","SQL_TRACE","SQL_TRACE_WAI
TS","SQL_TRACE_BINDS" from v$session
SQL> SELECT view_definition FROM v$fixed_view_definition
2 WHERE view_name='V$SESSION';
VIEW_DEFINITION
---------------------------------------------------------------------------------
select SADDR , SID , SERIAL# , AUDSID , PADDR , USER# , USERNAME , COMMAND ,
OWNERID, TADDR , LOCKWAIT , STATUS , SERVER , SCHEMA# , SCHEMANAME ,OSUSER ,
PROCESS , MACHINE , TERMINAL , PROGRAM , TYPE, SQL_ADDRESS , SQL_HASH_VALUE,
SQL_ID, SQL_CHILD_NUMBER , PREV_SQL_ADDR , PREV_HASH_VALUE , PREV_SQL_ID,
PREV_CHILD_NUMBER , MODULE , MODULE_HASH , ACTION , ACTION_HASH , CLIENT_INFO ,
FIXED_TABLE_SEQUENCE , ROW_WAIT_OBJ# , ROW_WAIT_FILE# , ROW_WAIT_BLOCK# ,
ROW_WAIT_ROW# , LOGON_TIME , LAST_CALL_ET , PDML_ENABLED , FAILOVER_TYPE ,
FAILOVER_METHOD , FAILED_OVER, RESOURCE_CONSUMER_GROUP, PDML_STATUS,
PDDL_STATUS, PQ_STATUS, CURRENT_QUEUE_DURATION, CLIENT_IDENTIFIER,
BLOCKING_SESSION_STATUS, BLOCKING_INSTANCE,BLOCKING_SESSION,SEQ#,
EVENT#,EVENT,P1TEXT,P1,P1RAW,P2TEXT,P2,P2RAW, P3TEXT,P3,P3RAW,
WAIT_CLASS_ID, WAIT_CLASS#,WAIT_CLASS,WAIT_TIME,SECONDS_IN_WAIT,
STATE,SERVICE_NAME, SQL_TRACE, SQL_TRACE_WAITS, SQL_TRACE_BINDS
from GV$SESSION
where inst_id = USERENV('Instance')
常用的資料字典檢視、動態效能檢視:
dba_objects
dba_tables
dba_users
dba_tablespaces
V$CONTROLFILE 控制檔案資訊
V$DATABASE 資料庫資訊
V$DATAFILE 資料檔案資訊
V$INSTANCE 例項資訊
V$PARAMETER 引數資訊
V$SESSION 會話資訊
V$SGA SGA資訊
V$SGAINFO SGA資訊
V$TABLESPACE 表空間資訊
V$THREAD
V$VERSION
V$option
v$parameter顯示的是session級的引數,也就是當前session的引數資訊。
如果沒有使用alter session單獨設定當前session的引數值,那麼預設和system級的引數應該是一樣的。
v$system_parameter顯示的是system級的引數,儲存的是使用alter system修改的值(scope=both或者scope=memory)。
上面兩個都是當前已經生效的引數值。對於使用spfile的庫,也可以暫時只修改spfile中的
值。v$spparameter顯示的就是儲存在spfile中的引數值(scope=spfile)。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22578826/viewspace-703484/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle常用資料字典.檢視Oracle
- 檢視資料字典
- Oracle相關資料字典檢視Oracle
- 【轉載】Oracle資料字典檢視Oracle
- oracle資料字典表與檢視Oracle
- 【檢視】oracle 資料字典檢視之 DICT / DICTIONARYOracle
- Oracle 資料庫字典 檢視 基表Oracle資料庫
- 系統表和資料字典檢視
- 常用的資料字典檢視和包
- 2.12 資料庫資料字典檢視資料庫
- Oracle ASM 相關的 檢視(V$) 和 資料字典(X$)OracleASM
- 使用資料字典檢視管理物件物件
- Oracle OCP(27):使用資料字典檢視管理物件Oracle物件
- Oracle 常用資料字典表、檢視的總結Oracle
- 【VIEW】Oracle資料字典檢視之DICT_COLUMNSViewOracle
- Oracle 常用資料字典檢視、表的總結Oracle
- oracle 資料字典Oracle
- 【檢視】oracle 資料字典檢視之 “小”檢視 CAT, TAB, SEQ, SYN ...Oracle
- 資料字典和動態效能檢視基礎
- 2.8.3 資料庫服務的資料字典檢視資料庫
- DBA常用的資料字典檢視(一)
- 資料字典簡介和資料字典命中率
- Oracle常用資料字典Oracle
- oracle 資料字典(轉)Oracle
- Oracle資料字典 (轉)Oracle
- 生成oracle資料字典Oracle
- Oracle 資料字典 (轉)Oracle
- Oracle的資料字典Oracle
- 資料流圖 和 資料字典
- 5.資料字典和動態效能檢視(筆記)筆記
- oracle常用的資料字典Oracle
- Oracle 資料字典學習Oracle
- Oracle 資料字典大全 ZTOracle
- Oracle常用資料字典表Oracle
- oracle資料字典簡介Oracle
- 瞭解Oracle資料字典Oracle
- oracle資料庫資料字典應用Oracle資料庫
- 資料字典