Oracle-數據字典解讀

      網友投稿 886 2022-05-30

      概述

      官方文檔

      oracle數據庫字典通常是在創建和安裝數據庫時被創建的,Oracle數據字典是Oracle數據庫系統工作的基礎,沒有數據字典的支持,Oracle數據庫系統就不能進行任何工作。數據字典中的表是不能直接被訪問的,但是可以訪問數據字典中的視圖。

      Oracle 數據字典是有表和視圖組成,它們存放在 SYSTEM 表空間中, 數據字典中的表是不能直接被訪問的,但是可以訪問數據字典中的視圖。

      Oracle字典視圖包括四個層次,分別為X$內部表、基礎數據字典表、數據字典視圖和動態性能視圖(v$或者GV$開頭)。

      Not all views sets have three members. For example, the data dictionary

      contains a DBA_LOCK view but no ALL_LOCK view.

      查看全部的數據字典 dictionary

      Oracle 11g中數據字典視圖2577個,神仙也記不住,但是有個dictionary視圖,該視圖里記錄了所有的數據字典視圖的名稱。所以當我們需要查找某個數據字典而又不知道這個信息在哪個視圖里的時候,就可以在dictionary視圖里找。

      Oracle-數據字典解讀

      該視圖還有個同名詞dict。

      select * from dict ORDER BY TABLE_NAME; 或 SELECT * FROM DICTIONARY ORDER BY TABLE_NAME;

      1

      2

      3

      同義詞視圖

      select OWNER,SYNONYM_NAME,TABLE_NAME from dba_synonyms ;

      1

      我們可以看到 v$ 正好是v_$的同義詞,驗證了之前的關于oracle性能視圖的理論。

      SQL> select OWNER,SYNONYM_NAME,TABLE_NAME from dba_synonyms a where a.table_name='DICTIONARY' ; OWNER SYNONYM_NAME TABLE_NAME --------------- ---------------- ----------------- PUBLIC DICTIONARY DICTIONARY PUBLIC DICT DICTIONARY

      1

      2

      3

      4

      5

      6

      7

      數據字典的內容

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

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

      3,列的缺省值。

      4,約束信息的完整性。

      5,Oracle 用戶的名字。

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

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

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

      數據字典分類

      數據字典分為 數據字典表 和 數據字典視圖

      數據字典表

      數據字典表里的數據是 Oracle 系統存放的系統數據,而普通表存放的是用戶的數據。

      為了方便的區別這些表,數據字典表的名字都是用”$”結尾, 這些表屬于 SYS用戶,只有 Oracle 能夠進行讀寫。

      數據字典表由$ORACLE_HOME/rdbms/admin/sql.bsq 腳本創建.

      SYS 用戶下的這些數據字典表,存放在 system 表空間下面, 表名都用”$”結尾.

      為了便于用戶對數據字典表的查詢, Oracle 對這些數據字典都分別建立了用戶視圖, 這樣即容易記住, 還隱藏了數據字典表表之間的關系, Oracle 針對這些對象的范圍,分別把視圖命名為 DBA_XXXX, ALL_XXXX 和 USER_XXXX。

      數據字典視圖

      動態性能視圖由腳本: $ORACLE_HOME/rdbms/admin/catalog.sql 創建

      靜態數據字典(靜態性能視圖)

      包括了所有數據庫對象的信息;

      Views with the prefix DBA_ show all relevant information in the entire database.

      DBA_ views are intended only for administrators.

      前提是當前用戶具有訪問這些數據庫的權限,一般來說必須具有管理員權限。

      SELECT OWNER, OBJECT_NAME, OBJECT_TYPE FROM DBA_OBJECTS ORDER BY OWNER, OBJECT_NAME;

      1

      2

      當前用戶有權限訪問到的所有對象的信息;

      與user_*相比,all_* 并不需要擁有該對象,只需要具有訪問該對象的權限即可

      SELECT OWNER, OBJECT_NAME, OBJECT_TYPE FROM ALL_OBJECTS ORDER BY OWNER, OBJECT_NAME;

      1

      2

      當前用戶schema下的對象;

      SELECT OBJECT_NAME, OBJECT_TYPE FROM USER_OBJECTS ORDER BY OBJECT_NAME;

      1

      2

      動態數據字典(動態性能視圖)

      除了靜態數據字典中三類視圖, 其他的字典視圖中主要的是 V$視圖,之所以這樣叫是因為他們都是以 V$或 GV$開頭的。

      這些視圖會不斷的進行更新,從而提供了關于內存和磁盤的運行情況,所以我們只能對其進行只讀訪問而不能修改它們。

      V$視圖是基于 X$虛擬視圖的。V$視圖是 SYS 用戶所擁有的,在缺省狀況下,只有 SYS 用戶和擁有 DBA 系統權限的用戶可以看到所有的視圖,沒有 DBA 權限的用戶可以看到 USER_和 ALL_視圖,但不能看到 DBA_視圖。

      與 DBA_,ALL,和 USER_視圖中面向數據庫信息相反,這些視圖可視的給出了面向實例的信息。

      更多請查看 Oracle-動態性能視圖解讀

      Oracle 數據庫

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:jQuery之高級選擇器
      下一篇:SAP官方發布的ABAP編程規范
      相關文章
      久久精品国产亚洲7777| www.亚洲精品.com| 亚洲日韩在线中文字幕第一页 | 亚洲中文字幕久久精品无码喷水| 深夜国产福利99亚洲视频| 亚洲av无码兔费综合| 亚洲色在线无码国产精品不卡| 亚洲一区欧洲一区| www.亚洲日本| 亚洲国产成人在线视频| 亚洲三级在线观看| 中文字幕乱码亚洲精品一区| 亚洲不卡影院午夜在线观看| 亚洲中文无码永久免| 中文无码亚洲精品字幕| 亚洲欧美黑人猛交群| 国产精品久久久久久亚洲影视| 亚洲AV无码专区亚洲AV桃| 精品亚洲国产成人av| 国产AV日韩A∨亚洲AV电影| 亚洲第一福利网站在线观看| 亚洲综合亚洲综合网成人| 国产自偷亚洲精品页65页| 亚洲色欲一区二区三区在线观看| 亚洲熟妇无码AV在线播放| 亚洲高清国产拍精品26U| 亚洲三级电影网址| 亚洲国产亚洲片在线观看播放| 亚洲av无码久久忘忧草| 亚洲日韩精品无码专区加勒比| 亚洲av无码成人精品区一本二本| 四虎精品亚洲一区二区三区| 亚洲伊人成无码综合网| 国产亚洲综合成人91精品 | 亚洲AV噜噜一区二区三区| 亚洲国产精品尤物yw在线| 亚洲乱亚洲乱妇无码麻豆| 亚洲大片在线观看| 亚洲一区无码中文字幕乱码| 亚洲精品无AMM毛片| 亚洲国产小视频精品久久久三级|