Oracle數(shù)據(jù)字典的用途介紹
Oracle數(shù)據(jù)字典是Oracle存放某些數(shù)據(jù)庫的相關(guān)信息的場(chǎng)所,Oracle數(shù)據(jù)字典的用途主要是用來描述相關(guān)數(shù)據(jù)。形象的說,比如某個(gè)表的創(chuàng)建者的信息,創(chuàng)建時(shí)間信息,所屬表空間信息,用戶訪問權(quán)限信息等。
Oracle數(shù)據(jù)庫數(shù)據(jù)字典是一組表和視圖結(jié)構(gòu)。它們存放在SYSTEM表空間中
當(dāng)用戶在對(duì)數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行操作時(shí)遇到困難就可以訪問數(shù)據(jù)字典來查看詳細(xì)的信息。
用戶可以用SQL語句訪問數(shù)據(jù)庫數(shù)據(jù)字典。
Oracle數(shù)據(jù)字典內(nèi)容包括:
1,數(shù)據(jù)庫中所有模式對(duì)象的信息,如表、視圖、簇、及索引等。
2,分配多少空間,當(dāng)前使用了多少空間等。
3,列的缺省值。
4,約束信息的完整性。
5,Oracle用戶的名字。
6,用戶及角色被授予的權(quán)限。
7,用戶訪問或使用的審計(jì)信息。
8,其它產(chǎn)生的數(shù)據(jù)庫信息。
Oracle中的數(shù)據(jù)字典有靜態(tài)和動(dòng)態(tài)之分。
1,靜態(tài)數(shù)據(jù)字典-->主要是在用戶訪問數(shù)據(jù)字典時(shí)不會(huì)發(fā)生改變的,
--例如某用戶創(chuàng)建的表
2,動(dòng)態(tài)數(shù)據(jù)字典-->是依賴數(shù)據(jù)庫運(yùn)行的性能的,反映數(shù)據(jù)庫運(yùn)行的一些內(nèi)在信息,所以在訪問這類數(shù)據(jù)字典時(shí)往往不是一成不變的。
--當(dāng)前鎖住的對(duì)象
靜態(tài)數(shù)據(jù)字典:這類數(shù)據(jù)字典主要是由表和視圖組成
數(shù)據(jù)字典中的表是不能直接被訪問的,但是可以訪問Oracle數(shù)據(jù)字典中的視圖。
靜態(tài)數(shù)據(jù)字典中的視圖分為三類,
它們分別由三個(gè)前綴夠成:user_*、 all_*、 dba_*。
- user_*
該視圖存儲(chǔ)了關(guān)于當(dāng)前用戶所擁有的對(duì)象的信息。(即所有在該用戶模式下的對(duì)象)
- all_*
該試圖存儲(chǔ)了當(dāng)前用戶能夠訪問的對(duì)象的信息。(與user_*相比,all_* 并不需要擁有該對(duì)象,只需要具有訪問該對(duì)象的權(quán)限即可)
- dba_*
該視圖存儲(chǔ)了數(shù)據(jù)庫中所有對(duì)象的信息。(前提是當(dāng)前用戶具有訪問這些數(shù)據(jù)庫的權(quán)限,一般來說必須具有管理員權(quán)限)
- select * from dictionary;
查詢?cè)撚脩魮碛心男┍?,user_tables主要描述當(dāng)前用戶擁有的所有表的信息,主要包括表名、表空間名、簇名等。通過此視圖可以清楚了解當(dāng)前用戶可以操作的表有哪些
- desc user_tables;
- select table_name from user_tables;
- select * from user_tables;
查詢?cè)撚脩魮碛心男┧饕?/p>
- select index_name from user_indexes;
查詢?cè)撚脩魮碛心男┮晥D
- select view_name from user_views;
查詢?cè)撚脩魮碛心男?shù)據(jù)庫對(duì)象,對(duì)象包括表、視圖、存儲(chǔ)過程、觸發(fā)器、包、索引、序列、JAVA文件等。
以上的相關(guān)內(nèi)容就是對(duì)Oracle數(shù)據(jù)字典的相關(guān)內(nèi)容的介紹,望你能有所收獲。
【編輯推薦】