資料字典簡介
資料字典
由ORACLE伺服器建立和維護的一組只讀系統表。
存放了在資料庫和資料庫物件的資訊,ORACLE依靠這些資訊管理維護資料庫。ORACLE伺服器在資料庫建立時執行SQL.BSQ自動生成這些基表,通過執行catalog.sql指令碼產生資料字典檢視,系統執行期間,資料庫結構發生的變化會及時的在相應資料字典中修改、記錄。DDL、DCL、DML語句能引起變化
資料字典分兩類:一種為基表,另一種為資料字典檢視。
資料字典儲存瞭如下資料庫資訊:
資料庫邏輯結構和物理結構如表空間、資料檔案資訊
所有資料庫物件定義的資訊,包括表,索引,檢視,序列號,同義詞,過程,函式等
所有資料庫物件的磁碟空間分配資訊,如物件所分配的磁碟空間和當前正用的磁碟空間和當前正在使用的磁碟空間。ORACLE使用者名稱,使用者所授予的許可權和角色,完整性約束的資訊,列的預設值,審計資訊。
1.內部表--X$開頭,描述記憶體結構 ---X$開頭需要使用SYS使用者查詢,使用具有SYSDBA角色非SYS使用者不可查。
x$bh,x$klbh,x$ksmp,x$kglob, 在$ORACLE_HOME/bin/oracle 程式內定義2.資料字典表-也叫基表-存放在system表空間--只能在資料庫OPEN狀態下能查
tab$,obj$,col$,con$ 約束,seg$,ts$,bootstrap$回滾分為:系統回滾,一般回滾。
系統回滾
SYS@ bys3>select * from v$rollname;
USN NAME
---------- ----------------------------------------
0 SYSTEM --DDL操作,對資料字典表的操作,產生少量REDO UNDO。
1 _SYSSMU1_3056155133$
2 _SYSSMU2_3692097322$
3.資料字典檢視是靜態檢視--許可權控制
即資料庫發生變化時,ORACLE並不及時重新整理這些檢視中資訊。資料字典檢視分為三大類:
user_* 有關使用者所擁有的物件的資訊,即使用者自己建立的物件的資訊。all_* 有關使用者可以訪問的物件的資訊,即使用者自己建立的物件的資訊再加上其它使用者建立的物件但該使用者有權訪問的資訊。
dba_* 有關整個資料庫物件的資訊。 只有DBA使用者能使用。
資料字典檢視包含以下資訊:物件屬主,使用者擁有的許可權,物件的建立時間,物件儲存引數的設定,物件儲存空間的使用情況。
SQL> select owner,object_name,object_id,created,status from all_objects where owner='SCOTT';
SQL> select table_name from user_tables where owner not like '%SYS%';
SQL> select * from user_catalog;
select * from cat;
select * from tab;
4.動態效能表 是一組虛表,以v$開頭,v$dbfile;
檢視資料庫名,建立時間,日誌模式,開啟模式SQL> select name,created,log_mode,open_mode from v$database;
NAME CREATED LOG_MODE OPEN_MODE
---------- ----------- ------------ --------------------
ORCL 2012-12-20 NOARCHIVELOG READ WRITE
select * from v$log_history; 最近的日誌切換記錄
檢視作業系統主機名,例項名,軟體版本
SQL> select host_name,instance_name,version from v$instance;
HOST_NAME INSTANCE_NAME VERSION
---------- ---------------- -----------------
PC-17 orcl 11.2.0.1.0
檢視軟體版本詳細資訊
SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
PL/SQL Release 11.2.0.1.0 - Production
CORE 11.2.0.1.0 Production
TNS for 32-bit Windows: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production
檢視控制檔案資訊
SQL> select * from v$controlfile;
STATUS NAME IS_RECOVERY_DEST_FILE BLOCK_SIZE FILE_SIZE_BLKS
------- ------------------------------------------------------------ --------------------- ---------- --------------
G:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL01.CTL NO 16384 594
G:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\CONTROL02.CTL NO 16384 594
G:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\CONTROL03.CTL NO 16384 594
檢視重做日誌的配置資訊。
SQL> select group#,members,bytes/1024/1024 M,status,archived from v$log;
GROUP# MEMBERS M STATUS ARCHIVED
---------- ---------- ---------- ---------------- --------
1 1 50 CURRENT NO
2 1 50 INACTIVE NO
3 1 50 INACTIVE NO
檢視日誌檔案的位置。
SQL> select * from v$logfile;
GROUP STATUS TYPE MEMBER IS_RECOVERY_DEST_FILE
----- ------- ------- -------------------------------------------------- ---------------------
3 ONLINE G:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO03.LOG NO
2 ONLINE G:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO02.LOG NO
1 ONLINE G:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO01.LOG NO
檢視錶空間名,區塊大小,狀,UNDO是還原表空間,TEMP臨時表空間,排序用,
SQL> select tablespace_name,block_size,status,contents,logging from dba_tablespaces;
TABLESPACE_NAME BLOCK_SIZE STATUS CONTENTS LOGGING
------------------------------ ---------- --------- --------- ---------
SYSTEM 8192 ONLINE PERMANENT LOGGING
SYSAUX 8192 ONLINE PERMANENT LOGGING
UNDOTBS1 8192 ONLINE UNDO LOGGING
TEMP 8192 ONLINE TEMPORARY NOLOGGING
USERS 8192 ONLINE PERMANENT LOGGING
檢視資料檔案的相關資訊。
SQL> select file_id,file_name,tablespace_name,status,bytes/1024/1024 M from dba_data_files;
FILE_ FILE_NAME TABLESPACE STATUS M
----- -------------------------------------------------- ---------- --------- ----------
4 G:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF USERS AVAILABLE 5
3 G:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF UNDOTBS1 AVAILABLE 85
2 G:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF SYSAUX AVAILABLE 710
1 G:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF SYSTEM AVAILABLE 690
檢視系統中使用者的賬戶資訊
SQL> select username,created,ACCOUNT_STATUS from dba_users;
5.系統表
ORACLE資料庫的系統引數都儲存在資料庫中,可以通過SQLPLUS,以使用者SYSYTEM進行查詢。幾個重要的表或者檢視如下:
v$controlfile:控制檔案的資訊;
v$datafile:資料檔案的資訊;
v$log:日誌檔案的資訊;
v$process:處理器的資訊;
v$session:會話資訊;
v$transaction:事務資訊;
v$resource:資源資訊;
v$sga:系統全域性區的資訊。
上面的檢視名中的‘v$’,只是檢視名字中的字元。類似於上面的檢視或表還有很多,位於:
$ORACLE_HOME/RDBMS/ADMIN/CATALOG.SQL檔案中。
這些檢視或表可以在SQLPLUS中用SELECT語句進行查詢。
相關文章
- python元組與字典簡介Python
- 資料集簡介
- 資料字典生成工具及文件工具作用介紹
- 資料立方體簡介
- 資料結構簡介資料結構
- MongoDB資料庫簡介MongoDB資料庫
- WIOD資料庫簡介資料庫
- oceanbase資料庫簡介資料庫
- HSQL 資料庫介紹(1)--簡介SQL資料庫
- InnoDB資料字典--字典表載入
- ThinkCMF資料字典
- MySQL資料字典MySql
- 大資料技術簡介大資料
- MySQL資料庫索引簡介MySql資料庫索引
- 資料Redpanda平臺簡介
- ffmpeg資料結構簡介資料結構
- Redis資料結構簡介Redis資料結構
- Hibernate資料校驗簡介
- Oracle:容器資料庫簡介Oracle資料庫
- 大資料框架原理簡介大資料框架
- clickhouse資料型別簡介資料型別
- 資料流圖 和 資料字典
- 檢視資料字典
- H2 資料庫介紹(1)--簡介資料庫
- Python字典介紹Python
- redis(1)NoSQL資料庫簡介RedisSQL資料庫
- CNopendata·PPP專案資料簡介
- oracle資料庫資料字典應用Oracle資料庫
- 2.12 資料庫資料字典檢視資料庫
- Python資料結構:字典Python資料結構
- MySQL 8.0 之資料字典MySql
- 資料結構-字典樹資料結構
- navicat生成mysql資料字典MySql
- Oracle - 資料庫的組成簡介Oracle資料庫
- mysql 資料庫效能分析工具簡介MySql資料庫
- MySQL資料庫儲存引擎簡介MySql資料庫儲存引擎
- 國產資料庫OushuDB(Database)簡介資料庫Database
- 資料湖架構及概念簡介架構
- 《Hadoop大資料分析技術》簡介Hadoop大資料