Oracle數據字典詳解

以下的文章主要是對Oracle數據字典文檔的描述,以及在Oracle數據字典的正確應用與實際的相關操作與在實際操作中有哪些的具體操作是值得我們大家注意的,下面就是文章的主要內容描述。

select * from dictionary;
Oracle數據字典

數據字典是Oracle存放有關數據庫信息的地方,其用途是用來描述數據的。

比如一個表的創建者信息,創建時間信息,所屬表空間信息,用戶訪問權限信息等。

數據庫Oracle數據字典是一組表和視圖結構。它們存放在SYSTEM表空間中

當用戶在對數據庫中的數據進行操作時遇到困難就可以訪問數據字典來查看詳細的信息。

用戶可以用SQL語句訪問數據庫數據字典。

Oracle數據字典內容包括:

1,數據庫中所有模式對象的信息,如表、視圖、簇、及索引等。

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

3,列的缺省值。

4,約束信息的完整性。

5,Oracle用戶的名字。

6,用戶及角色被授予的權限。

7,用戶訪問或使用的審計信息。

8,其它產生的數據庫信息。

Oracle中的數據字典有靜態和動態之分。

1,靜態數據字典>主要是在用戶訪問數據字典時不會發生改變的,

例如某用戶創建的表

2,動態數據字典>是依賴數據庫運行的性能的,反映數據庫運行的一些內在信息,所以在訪問這類數據字典時往往不是一成不變的。

當前鎖住的對象

靜態數據字典:這類Oracle數據字典主要是由表和視圖組成

數據字典中的表是不能直接被訪問的,但是可以訪問數據字典中的視圖。

靜態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文件等。

select object_name from user_objects;
主要描述當前用戶的信息,主要包括當前用戶名、帳戶id、帳戶狀態、表空間名、創建時間等。

select * from user_users;  
-  
user_/all_區別:

all_列出來的信息是當前用戶可以訪問的對象而不是當前用戶擁有的對象。

查詢某一用戶下的所有表、過程、函數等信息。上述的相關內容就是對Oracle數據字典文檔的部分內容描述,希望會給你帶來一些幫助在此方面。

本文轉載於 http://www.itjianghu.net/120128/409365862598.htm

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章