91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

Oracle數據字典怎么應用

發布時間:2023-04-17 11:38:15 來源:億速云 閱讀:87 作者:iii 欄目:開發技術

這篇文章主要介紹了Oracle數據字典怎么應用的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Oracle數據字典怎么應用文章都會有所收獲,下面我們一起來看看吧。

1. 什么是Oracle數據字典

數據字典(Data Dictionary)是Oracle元數據(Metadata)的存儲地點,匯集了數據庫對象及數據庫運行時需要的基礎信息。Oracle RDBMS使用數據字典記錄和管理對象信息和安全信息,用戶可以通過數據字典獲取數據庫相關信息,從而進行數據庫管理、優化和維護工作。

2. 數據字典的內容

數據字典包括以下內容:

  • 所有數據庫Schema對象的定義(表、視圖、索引、聚簇、同義詞、序列、過程、函數、包、觸發器等);

  • Oracle用戶名稱、角色、權限等信息;

  • 完整性約束信息;

  • 數據庫的空間分配和使用情況;

  • 字段缺省值;

  • 審計信息;

  • 其他數據庫信息。

Oracle字典包括四個層次,分別為內部RDBMS表(X)、基礎數據字典表、數據字典視圖和動態性能視圖( V )、基礎數據字典表、數據字典視圖和動態性能視圖(V)、基礎數據字典表、數據字典視圖和動態性能視圖(V)。

(1)X$表

X$表是Oracle數據庫的核心部分,用于跟蹤內部數據庫信息,維持數據庫正常運行,在數據庫啟動時由Oracle應用程序動態創建,不允許SYSDBA之外的用戶直接訪問。X$表是加密命名的且不作文檔說明。Oracle通過X$建立起其他大量視圖,供用戶查詢管理數據庫之用。

(2)數據字典表、數據字典視圖

數據字典表(Data Dictionary Table)用以存儲表、索引、約束以及其他數據庫結構的信息,

表名都用$結尾(如tab$、obj$、ts$等),在創建數據庫的時候通過運行sql.bsq($ORACLE_HOME/RDBMS/admin目錄下)腳本來創建。

數據字典表的用戶都是sys,存在在system這個表空間里,Oracle對這些數據字典都分別建立了數據字典視圖,Oracle針對這些對象的范圍,分別把視圖命名為DBA_XXXX, ALL_XXXX和USER_XXXX,dictionary視圖記錄了所有的數據字典視圖的名稱。

  • user_類視圖:描述了當前用戶schema下的對象;

  • all_類視圖:描述了當前用戶有權限訪問到的所有對象的信息;

  • dba_類視圖:包括了所有數據庫對象的信息;

通常USER_類視圖不包含Owner字段,查詢返回當前用戶的對象信息。

e.g.

SQL> select username from all_users; //查詢所有用戶
SQL> select username from dba_users; //查詢dba用戶
SQL> select table_name from user_tables;  //查詢當前用戶的表
SQL> select table_name from all_tables;  //查詢所有用戶的表
SQL> select table_name from dba_tables;  //查詢包括系統表
SQL> select owner,constraint_name,constraint_type,table_name from user_constraints; 
SQL> select owner,constraint_name,constraint_type,table_name from all_ constraints; 
SQL> select owner,constraint_name,constraint_type,table_name from dba_ constraints ;

(3)動態性能視圖

動態性能(V$)視圖(Dynamic Performance View)記錄了數據庫運行時的信息和統計數據。

創建X$表之后,Oracle創建了GV$和V$視圖,在GV$和V$之后,Oracle建立了GV_$和V_$視圖,隨后為這些視圖建立了公共同義詞。這些工作都是通過catalog.sql腳本實現的。通過V_$視圖,Oracle把V$視圖和普通用戶隔離,V_$視圖的權限可以授予其他用戶,而Oracle不允許任何對于V$視圖的直接授權。Oracle提供了一些特殊視圖用以記錄其他視圖創建方式,如v$fixed_view_defition,可以查看視圖的定義。

SQL> select view_definition from v\$fixed_view_definition where view_name ='V$NLS_PARAMETERS';

3. 數據字典應用示例

(1)查詢表的信息

查詢DBA_TABLES視圖可以獲取所有表的信息,包括表名、表空間、擁有者等等。例如,以下查詢語句可以獲取所有表的表名和表空間:

SQL> SELECT table_name, tablespace_name FROM dba_tables;

(2)查詢索引的信息

查詢DBA_INDEXES視圖可以獲取所有索引的信息,包括索引名、所屬表、索引類型等等。例如,以下查詢語句可以獲取所有索引的信息:

SQL> SELECT index_name, table_name, index_type FROM dba_indexes;

(3)查詢用戶的信息

查詢DBA_USERS視圖可以獲取所有用戶的信息,包括用戶名、默認表空間、臨時表空間等等。例如,以下查詢語句可以獲取所有用戶的用戶名和默認表空間:

SQL> SELECT username, default_tablespace FROM dba_users;

(4)查詢表空間的信息

查詢DBA_TABLESPACES視圖可以獲取所有表空間的信息,包括表空間名、塊大小、狀態等等。例如,以下查詢語句可以獲取所有表空間的表空間名和狀態:

SQL> SELECT tablespace_name, status FROM dba_tablespaces;

(5)查詢數據文件的信息

查詢DBA_DATA_FILES視圖可以獲取所有數據文件的信息,包括數據文件名、表空間名、文件大小等等。例如,以下查詢語句可以獲取所有數據文件的數據文件名和文件大小:

SQL> SELECT file_name, bytes FROM dba_data_files;

(6) 查詢數據庫的性能數據

查詢DBA_HIST_SNAPSHOT視圖可以獲取數據庫的歷史性能數據,包括CPU利用率、內存利用率、I/O等等。例如,以下查詢語句可以獲取數據庫的CPU利用率和內存利用率:

SQL> SELECT begin_interval_time, end_interval_time, cpu_usage, memory_usage
FROM dba_hist_sysmetric_summary
WHERE metric_name IN ('CPU Usage Per Sec', 'Memory Usage Per Sec')
ORDER BY begin_interval_time;

關于“Oracle數據字典怎么應用”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“Oracle數據字典怎么應用”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

古浪县| 赤峰市| 盱眙县| 德格县| 甘肃省| 手游| 宝丰县| 射阳县| 海晏县| 上犹县| 和硕县| 汾阳市| 阳江市| 贵州省| 乌兰浩特市| 周宁县| 湘乡市| 昆明市| 华宁县| 名山县| 温泉县| 乐都县| 昭通市| 马山县| 邹平县| 新密市| 九台市| 沂源县| 辽中县| 蒲城县| 通许县| 藁城市| 江华| 万年县| 武强县| 都安| 江北区| 凌海市| 江安县| 秦皇岛市| 大理市|