Oracle資料字典的用途介紹

lygle發表於2013-05-08

Oracle資料字典是Oracle存放某些資料庫的相關資訊的場所,Oracle資料字典的用途主要是用來描述相關資料。形象的說,比如某個表的建立者的資訊,建立時間資訊,所屬表空間資訊,使用者訪問許可權資訊等。

Oracle資料庫資料字典是一組表和檢視結構。它們存放在SYSTEM表空間中

當使用者在對資料庫中的資料進行操作時遇到困難就可以訪問資料字典來檢視詳細的資訊。

使用者可以用SQL語句訪問資料庫資料字典。

Oracle資料字典內容包括:

1,資料庫中所有模式物件的資訊,如表、檢視、簇、及索引等。

2,分配多少空間,當前使用了多少空間等。

3,列的預設值。

4,約束資訊的完整性。

5,Oracle使用者的名字。

6,使用者及角色被授予的許可權。

7,使用者訪問或使用的審計資訊。

8,其它產生的資料庫資訊。

Oracle中的資料字典有靜態和動態之分。

1,靜態資料字典--&gt主要是在使用者訪問資料字典時不會發生改變的,

--例如某使用者建立的表

2,動態資料字典--&gt是依賴資料庫執行的效能的,反映資料庫執行的一些內在資訊,所以在訪問這類資料字典時往往不是一成不變的。

--當前鎖住的物件

靜態資料字典:這類資料字典主要是由表和檢視組成

資料字典中的表是不能直接被訪問的,但是可以訪問Oracle資料字典中的檢視。

靜態資料字典中的檢視分為三類,

它們分別由三個字首夠成:user_*、 all_*、 dba_*。

user_*
該檢視儲存了關於當前使用者所擁有的物件的資訊。(即所有在該使用者模式下的物件)

all_*
該試圖儲存了當前使用者能夠訪問的物件的資訊。(與user_*相比,all_* 並不需要擁有該物件,只需要具有訪問該物件的許可權即可)

dba_*
該檢視儲存了資料庫中所有物件的資訊。(前提是當前使用者具有訪問這些資料庫的許可權,一般來說必須具有管理員許可權)

select * from dictionary;
查詢該使用者擁有哪些表,user_tables主要描述當前使用者擁有的所有表的資訊,主要包括表名、表空間名、簇名等。通過此檢視可以清楚瞭解當前使用者可以操作的表有哪些

desc user_tables; 
select table_name from user_tables; 
select * from user_tables; 
查詢該使用者擁有哪些索引

select index_name from user_indexes;
查詢該使用者擁有哪些檢視

select view_name from user_views;
查詢該使用者擁有哪些資料庫物件,物件包括表、檢視、儲存過程、觸發器、包、索引、序列、JAVA檔案等。

以上的相關內容就是對Oracle資料字典的相關內容的介紹,望你能有所收穫。

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

相關文章