Oracle數(shù)據(jù)字典文檔經(jīng)典版詳解
以下的文章主要是對Oracle數(shù)據(jù)字典文檔的描述,以及在Oracle數(shù)據(jù)字典的正確應用與實際的相關操作與在實際操作中有哪些的具體操作是值得我們大家注意的,下面就是文章的主要內(nèi)容描述。
- select * from dictionary;
Oracle數(shù)據(jù)字典
數(shù)據(jù)字典是Oracle存放有關數(shù)據(jù)庫信息的地方,其用途是用來描述數(shù)據(jù)的。
比如一個表的創(chuàng)建者信息,創(chuàng)建時間信息,所屬表空間信息,用戶訪問權限信息等。
數(shù)據(jù)庫Oracle數(shù)據(jù)字典是一組表和視圖結構。它們存放在SYSTEM表空間中
當用戶在對數(shù)據(jù)庫中的數(shù)據(jù)進行操作時遇到困難就可以訪問數(shù)據(jù)字典來查看詳細的信息。
用戶可以用SQL語句訪問數(shù)據(jù)庫數(shù)據(jù)字典。
Oracle數(shù)據(jù)字典內(nèi)容包括:
1,數(shù)據(jù)庫中所有模式對象的信息,如表、視圖、簇、及索引等。
2,分配多少空間,當前使用了多少空間等。
3,列的缺省值。
4,約束信息的完整性。
5,Oracle用戶的名字。
6,用戶及角色被授予的權限。
7,用戶訪問或使用的審計信息。
8,其它產(chǎn)生的數(shù)據(jù)庫信息。
Oracle中的數(shù)據(jù)字典有靜態(tài)和動態(tài)之分。
1,靜態(tài)數(shù)據(jù)字典>主要是在用戶訪問數(shù)據(jù)字典時不會發(fā)生改變的,
例如某用戶創(chuàng)建的表
2,動態(tài)數(shù)據(jù)字典>是依賴數(shù)據(jù)庫運行的性能的,反映數(shù)據(jù)庫運行的一些內(nèi)在信息,所以在訪問這類數(shù)據(jù)字典時往往不是一成不變的。
當前鎖住的對象
靜態(tài)數(shù)據(jù)字典:這類Oracle數(shù)據(jù)字典主要是由表和視圖組成
數(shù)據(jù)字典中的表是不能直接被訪問的,但是可以訪問數(shù)據(jù)字典中的視圖。
靜態(tài)Oracle數(shù)據(jù)字典中的視圖分為三類,它們分別由三個前綴夠成:user_*、 all_*、 dba_*。
user_*
該視圖存儲了關于當前用戶所擁有的對象的信息。(即所有在該用戶模式下的對象)
all_*
該試圖存儲了當前用戶能夠訪問的對象的信息。(與user_*相比,all_* 并不需要擁有該對象,只需要具有訪問該對象的權限即可)
dba_*
該視圖存儲了數(shù)據(jù)庫中所有對象的信息。(前提是當前用戶具有訪問這些數(shù)據(jù)庫的權限,一般來說必須具有管理員權限)
-
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;
查詢該用戶擁有哪些數(shù)據(jù)庫對象,對象包括表、視圖、存儲過程、觸發(fā)器、包、索引、序列、JAVA文件等。
- select object_name from user_objects;
主要描述當前用戶的信息,主要包括當前用戶名、帳戶id、帳戶狀態(tài)、表空間名、創(chuàng)建時間等。
- select * from user_users;
- -
user_/all_區(qū)別:
all_列出來的信息是當前用戶可以訪問的對象而不是當前用戶擁有的對象。
查詢某一用戶下的所有表、過程、函數(shù)等信息。上述的相關內(nèi)容就是對Oracle數(shù)據(jù)字典文檔的部分內(nèi)容描述,希望會給你帶來一些幫助在此方面。
【編輯推薦】
- Oracle修改字段類型那用到的步驟
- Oracle數(shù)據(jù)庫中所有重復數(shù)據(jù)的解決
- 對Oracle歸檔模式的切換技術理解
- Oracle數(shù)據(jù)集成的解決方案詳解
- Oracle 10g應用比例不斷攀升的緣由