Oracle之資料詞典

來源:互聯網
上載者:User

select * from dictionary;

  --資料字典

  資料字典是Oracle存放有關資料庫資訊的地方,其用途是用來描述資料的。

  比如一個表的建立者資訊,建立時間資訊,所屬資料表空間資訊,使用者存取權限資訊等。

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

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

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

  資料字典內容包括:

  1,資料庫中所有模式對象的資訊,如表、視圖、簇、及索引等。

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

  3,列的預設值。

  4,約束資訊的完整性。

  5,Oracle使用者的名字。

  6,使用者及角色被授與權限。

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

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

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

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

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

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

  --當前鎖住的對象

  待用資料字典:這類資料字典主要是由表和視圖組成

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

  待用資料字典中的視圖分為三類,它們分別由三個首碼夠成: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_列出來的資訊是目前使用者可以訪問的對象而不是目前使用者擁有的對象。

  --查詢某一使用者下的所有表、過程、函數等資訊。

  select owner , object_name ,object_type from all_objects

  -----------------------------------------------------------------------------------------------------------

  --對於dba_開頭的需要管理員權限,

  --查詢資料表空間的資訊(目前使用者必須擁有DBA角色)。

  select * from dba_data_files

  -----------------------------------------------------------------------------------------------------------

  動態資料字典

  Oracle包含了一些潛在的由系統管理員如SYS維護的表和視圖,由於當資料庫啟動並執行時候它們會不斷進行更新,所以稱它們為動態資料字典(或者是動態效能檢視)。這些視圖提供了關於記憶體和磁碟的運行情況,所以我們只能對其進行唯讀訪問而不能修改它們。

  Oracle中這些動態效能檢視都是以v$開頭的視圖.

  v$access

  該視圖顯示資料庫中鎖定的資料庫物件以及訪問這些對象的會話對象(session對象)。

  select * from v$access

  v$session

  該視圖列出當前會話的詳細資料。

  v$active_instance

  該視圖主要描述當前資料庫下的活動的執行個體的資訊。依然可以使用select語句來觀察該資訊。

  v$context

  該視圖列出當前會話的屬性資訊。比如命名空間、屬性值等

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.