當前位置:成語大全網 - 新華字典 - 數據字典視圖及其用途(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$開頭

常用的數據字典視圖、動態性能視圖:

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)。