第七章:數據字典

 

第七章:數據字典
 
7.1.概念:
         基表;基表(base table):用於存儲相關的數據庫信息。只有 Oracle 才能讀寫這些表。用戶很少直接訪問她們,因爲這些表是規範化的(normalized),且其中的大部分數據的含義是普通用戶無法理解的。
7.2.數據字典有三個主要用途:
 1、Oracle 利用數據字典來獲取關於用戶,方案對象,及存儲結構(storage structure)的信息。
  2、每當數據庫中執行了 DDL 語句後,Oracle 將對數據字典進行修改。
 3、所有 Oracle 用戶都可以使用數據字典來獲取關於數據庫的信息。
 
7.3.數據字典內容:
數據庫中所有模式對象的信息,如表、視圖、簇、及索引等。
分配多少空間,當前使用了多少空間等。
列的缺省值。
約束信息的完整性。
Oracle用戶的名字。
用戶及角色被授予的權限。
用戶訪問或使用的審計信息。
其它產生的數據庫信息。
 
7.4.數據字典視圖及分類:
7.4.1.DBA_*該視圖存儲了數據庫中所有對象的信息。(前提是當前用戶具有訪問這些數據庫的權限,一般來說必須具有管理員權限)
7.4.2.ALL_*該試圖存儲了當前用戶能夠訪問的對象的信息。(與user_*相比,all_* 並不需要擁有該對象,只需要具有訪問該對象的權限即可)
7.4.3.USER_*該視圖存儲了關於當前用戶所擁有的對象的信息。(即所有在該用戶模式下的對象)
7.5.數據字典視圖的使用:
數據字典示例
總覽
- DICTIONARY, DICT_COLUMNS
方案對象
- DBA_TABLES, DBA_INDEXES, DBA_TAB_COLUMNS,
DBA_CONSTRAINTS
空間分配
- DBA_SEGMENTS, DBA_EXTENTS
數據庫結構
- DBA_TABLESPACES, DBA_DATA_FILES
數據字典示例
要獲取數據字典視圖的概覽,可以查詢DICTIONARY 視圖或其同義詞DICT 視圖。
例如:
SELECT * FROM dictionary;
用where 子句來縮小查詢範圍:
SELECT * FROM dictionary WHERE table_name LIKE ‘dba_seg%’
要獲得視圖中各列的列表,請使用DESCRIBE 關鍵字:
DESCRIBE dba_users;
要獲得數據字典視圖中各列的概覽,可以查詢DICT_COLUMNS 視圖。
要查看數據字典視圖的內容,請使用SELECT 命令。
SELECT * FROM dba_users;
7.6.動態性能視圖的使用:
在Oracle 服務器的整個操作過程中,它將當前數據庫活動記錄在稱爲動態性能視圖的一組虛擬表中。只有數據庫處於運行狀態時,這些虛擬表才駐留在內存中,反映數據庫操作的實時狀況。它們指向內存和控制文件中的實際信息源。這些表不是真正的表,大多數用戶都無法訪問它們;但是數據庫管理員可以在這些視圖上查詢、授予SELECT 權限並創建視圖。這些視圖有時稱爲固定視圖,因爲數據庫管理員無法更改或刪除這些視圖。動態性能表由SYS 擁有,它們的名稱均以V_$ 開頭。在這些表上先創建視圖,然後再爲這些視圖創建公共同義詞。同義詞名以V$ 開頭。例如,V$DATAFILE 視圖包含有關數據庫中數據文件的信息,而V$FIXED_TABLE 視圖包含有關數據庫中所有動態性能表和視圖的信息。
V$CONTROLFILE:列出控制文件的名稱
V$DATABASE:包含控制文件中的數據庫信息
V$DATAFILE:包含控制文件中的數據文件信息
V$INSTANCE:顯示當前例程的狀態
V$PARAMETER:列出會話的當前有效參數和值
V$SESSION:列出當前每個會話的會話信息
V$SGA:包含有關係統全局區(SGA) 的摘要信息
V$SPPARAMETER:列出SPFILE 的內容
V$TABLESPACE:顯示控制文件中的表空間信息
V$THREAD:包含控制文件中的線程信息
V$VERSION:Oracle 服務器中核心庫組件的版本號
        
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章