溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Oracle的數(shù)據(jù)字典是什么

發(fā)布時間:2021-12-01 09:13:42 來源:億速云 閱讀:219 作者:iii 欄目:數(shù)據(jù)庫

這篇文章主要講解了“Oracle的數(shù)據(jù)字典是什么”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Oracle的數(shù)據(jù)字典是什么”吧!

數(shù)據(jù)字典是oracle存放有關(guān)數(shù)據(jù)庫信息的地方,幾乎所有的系統(tǒng)信息和對象信息都可在數(shù)據(jù)字典中進行查詢。數(shù)據(jù)字典是oracle數(shù)據(jù)庫系統(tǒng)的信息核心,它是一組提供有關(guān)數(shù)據(jù)庫信息的表和視圖的集合,這些表和視圖是只讀的。它是隨著數(shù)據(jù)庫的建立而建立的,當(dāng)數(shù)據(jù)庫執(zhí)行特定動作時數(shù)據(jù)字典也會自動更新。數(shù)據(jù)一覽與數(shù)據(jù)字典來記錄、校驗和管理正在進行的操作。

Oracle中,sys用戶是數(shù)據(jù)字典的擁有者,數(shù)據(jù)字典保證在所有數(shù)據(jù)庫的系統(tǒng)表空間system內(nèi),任何用戶都無權(quán)更改sys模式下的模式對象或數(shù)據(jù)字典中的行。也就是說數(shù)據(jù)字典只能查詢,不能手動進行修改。

一、數(shù)據(jù)字典用途

Oracle通過存取數(shù)據(jù)字典從而比較方便地獲取有關(guān)用戶某事對象和存儲結(jié)構(gòu)等信息。當(dāng)系統(tǒng)執(zhí)行了DDL語句后,oracle會及時修改數(shù)據(jù)字典。任何用戶只能以讀的形式使用數(shù)據(jù)字典獲取數(shù)據(jù)庫信息。

二、數(shù)據(jù)字典存儲的信息

  • 數(shù)據(jù)用戶的名稱

  • 為用戶授予的權(quán)限和角色

  • 模式對象的名。

  • 完整性約束的具體信息;

  • 每個字段的默認值;

  • 數(shù)據(jù)庫空間的使用情況;

  • 存儲審計的信息

  • 對象與用戶的嚴(yán)格管理(適用于高度機密管理);

  • 其他一般數(shù)據(jù)庫信息

三、四種前綴的數(shù)據(jù)字典視圖

  • user_ :任何用戶都可以讀取的視圖,每個用戶讀取的都不一樣,它只提供當(dāng)前用戶某事下的對象信息。

如查詢當(dāng)前模式下的所有對象:
select object_name, object_type from user_objects;
  • all_ :所有用戶都可讀取的用戶視圖,它提供與用戶有關(guān)的對象信息。

如查詢當(dāng)前用戶可訪問的所有對象:
select owner, object_name, object_type from all_objects;
  • dba_:提供了只有數(shù)據(jù)庫管理員才可讀取的視圖,包括所有用戶視圖中的對象信息。

如:
select owner, object_name, object_type from sys.dba_objects;
  • v$:動態(tài)性能視圖

動態(tài)性能視圖用于記錄當(dāng)前例程的活動信息,當(dāng)啟動oracle server時,系統(tǒng)會建立動態(tài)性能視圖;當(dāng)停止oracle server時,系統(tǒng)會刪除動態(tài)性能視圖,oracle的所有動態(tài)性能視圖都是以v_KaTeX parse error: Expected 'EOF', got '開' at position 1: 開?始的,并且oracle為每個動…開始的,例如_KaTeX parse error: Expected 'EOF', got '的' at position 9: datefile的?同義詞為vdatefile;動態(tài)性能視圖的所有者為sys,一般情況下,由DBA或是特權(quán)用戶來查詢動態(tài)性能視圖。

四、查詢數(shù)據(jù)字典示例

  • 查詢用戶相關(guān)的數(shù)據(jù)字典

查詢用戶
select username from dba_users; -- 只有管理員權(quán)限的用戶才能查詢
select username from all_users; -- 當(dāng)前或任何用戶都可使用

-- 查看當(dāng)前用戶的默認表空間
select username, default_tablespace from user_users;

--當(dāng)前用戶角色
select * from user_role_privs;

-- 當(dāng)前用戶的系統(tǒng)權(quán)限和表級權(quán)限
select * from user_sys_privs;
select * from user_tab_privs;
  • 查詢表空間相關(guān)的數(shù)據(jù)字典(擁有DBA權(quán)限的用戶才能查詢)

select * 
from dba_data_files;
select * from dba_tablespaces; --表空間
select tablespace_name, sum(bytes), sum(blocks) from dba_free_space group by tablespace_name; --空閑表空間
select * from dba_data_files where tablespace_name='USERS'; -- 表空間對于的數(shù)據(jù)文件
select * from dba_segments where tablespace_name='USERS';

--查詢用戶模式對象所使用過的正在使用空間大小
select name, type, source_size, code_size from user_object_size;
  • 查詢數(shù)據(jù)庫對象(擁有DBA權(quán)限的用戶才能查詢)

select * 
from dba_objects
select * from dba_objects where object_type = upper('package body');
select * from dba_objects where OBJECT_TYPE='TABLE' and OWNER='SCOTT'

感謝各位的閱讀,以上就是“Oracle的數(shù)據(jù)字典是什么”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Oracle的數(shù)據(jù)字典是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI