5.資料字典和動態效能檢視(筆記)
5.資料字典和動態效能檢視
資料字典是oracle資料庫的最重要的組成部分,它提供了資料庫的相關係統資訊;動態效能檢視記載了例程啟動以來的相關效能資訊。
資料字典記載了資料庫的系統資訊,它是隻讀表和檢視的集會。資料字典包含資料字典基表和資料字典檢視兩部分,其中,基表儲存資料庫的
基本資訊,普通使用者不能之間訪問資料字典基表;資料字典檢視是基於資料字典基表建立的檢視,普通使用者可以透過查詢資料字典檢視取得系
統資訊。資料字典檢視主要包括USER_XXX,ALL_XXX,DBA_XXX三種型別。
all_xxx
在oracle資料庫中,使用者與方案(schema)是一一對應的,方案是使用者所擁有物件的集合。
[oracle@tonykorn97 orcl]$ sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on Sat Sep 1 20:05:22 2007
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> conn system/oracle
Connected.
SQL> set wrap off
SQL> set linesize 130
SQL> col owner format a10
SQL> col table_name format a25
SQL> select owner,table_name from all_tables;
USER_XXX用於顯示當前使用者所擁有的所有物件,它只返回使用者所對應的所有物件。
select table_name from user_tables;
DBA_XXX用於顯示整個資料庫範圍內的詳細系統資訊,它會顯示所有方案所擁有的資料庫物件。
select table_name from dba_tables;
常用資料字典
DICT用於顯示當前使用者可訪問的所有資料字典檢視,並給出了這些資料字典檢視的作用。
select table_name from dict where comments like '%grant%';
DICT_COLUMNS用於顯示資料字典檢視的每個列的作用。
select column_name,comments from dict_columns where table_name='dict';
DUAL用於取得函式的返回值。
SQL> select user from dual;
USER
------------------------------------------------------------
SYSTEM
GLOBAL_NAME用於顯示當前資料庫的全名。
SQL> select * from global_name;
GLOBAL_NAME
----------------------------------------------------------------------------------------------------------------------------
------
orcl.REGRESS.RDBMS.DEV.US.ORACLE.COM
SQL>
IND用於顯示當前使用者所擁有的所有索引和索引的統計資訊。
SQL> col index_name format a10
SQL> col index_type format a10
SQL> col uniqueness format a10
SQL> select index_name,index_type,uniqueness from ind where table_name='emp';
no rows selected
SQL>
OBJ用於顯示當前使用者所擁有的所有物件。
SQL> col object_name format a15
SQL> select object_name,object_id,created from obj where object_type='table';
no rows selected
SQL>
SEQ用於顯示當前使用者所擁有的所有序列。
SQL> select sequence_name,increment_by from seq;
SEQUENCE_NAME INCREMENT_BY
------------------------------------------------------------ ------------
MVIEW$_ADVSEQ_GENERIC 1
MVIEW$_ADVSEQ_ID 1
SYN用於顯示當前使用者所擁有的同義詞和同義詞所對應的資料庫物件名。
SQL> col synonym_name format a15
SQL> col owner_object format a15
SQL> select synonym_name,table_owner||'.'||table_name owner_object from syn;
SYNONYM_NAME OWNER_OBJECT
--------------- ---------------
SYSCATALOG SYS.SYSCATALOG
CATALOG SYS.CATALOG
TAB SYS.TAB
COL SYS.COL
TABQUOTAS SYS.TABQUOTAS
SYSFILES SYS.SYSFILES
PUBLICSYN SYS.PUBLICSYN
PRODUCT_USER_PR SYSTEM.SQLPLUS_
8 rows selected.
TAB用於顯示當前使用者所用於的表,檢視和序列。
SQL> select * from tab;
動態效能檢視用於記錄當前例程的活動資訊。啟動例程時,oracle會自動建立動態效能檢視;停止例程時,oracle會自動刪除動態效能檢視。
需要注意的時,資料字典的資訊時從資料檔案中取得,而動態效能檢視時從SGA和控制檔案中取得。透過查詢動態效能檢視,一方面可以獲得性
能資料,另一方面可以取得與磁碟和記憶體結構相關的其他資訊。所有的動態效能檢視都是以V_$開始的,oracle為每個動態效能檢視提供了相應
的同義詞(以V$開始)
常用的動態效能檢視
V$FIXED_TABLE用於列出所有可用的動態效能檢視和動態效能表。
select name from v$fixed_table where name like 'V$%';
V$INSTANCE用於獲取當前例程的詳細資訊。
SQL> col host_name format a20
SQL> select instance_name,host_name,status from v$instance;
INSTANCE_NAME HOST_NAME STATUS
-------------------------------- -------------------- ------------------------
orcl tonykorn97 OPEN
SQL>
V$SGA用於取得SGA更詳細的資訊。
SQL> select * from v$sga;
NAME VALUE
---------------------------------------- ----------
Fixed Size 1220868
Variable Size 171970300
Database Buffers 436207616
Redo Buffers 2969600
SQL>
V$SGAINFO改動態效能用於取得SGA更詳細的資訊
SQL> select * from v$sgainfo;
NAME BYTES RESIZE
---------------------------------------------------------------- ---------- ------
Fixed SGA Size 1220868 No
Redo Buffers 2969600 No
Buffer Cache Size 436207616 Yes
Shared Pool Size 163577856 Yes
Large Pool Size 4194304 Yes
Java Pool Size 4194304 Yes
Streams Pool Size 0 Yes
Granule Size 4194304 No
Maximum SGA Size 612368384 No
Startup overhead in Shared Pool 37748736 No
Free SGA Memory Available 0
11 rows selected.
V$PARAMETER用於取得初始化引數的詳細資訊。
SQL> col name format a10
SQL> col description format a30
SQL> col value format a10
SQL> select name,value,description from v$parameter where name='db_name';
NAME VALUE DESCRIPTION
---------- ---------- ------------------------------
db_name orcl database name specified in CRE
SQL>
V$VERSION用於取得oracle版本的詳細資訊。
SQL> select * from v$version;
BANNER
----------------------------------------------------------------------------------------------------------------------------
----
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for Linux: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
SQL>
V$OPTION 用於顯示已經安裝的oracle選項。其中,TRUE表示該選項已經安裝,FALSE表示該選項沒有安裝。
SQL> col parameter format a40
SQL> col value format a10
SQL> select * from v$option;
V$SESSION 用於顯示會話的詳細資訊。
SQL> select sid,serial#,username from v$session where username is not null;
SID SERIAL# USERNAME
---------- ---------- ------------------------------------------------------------
143 48 SYSTEM
SQL>
V$PROCESS 用於顯示與oracle相關的所有程式的資訊(包括後臺程式和伺服器程式)。
SQL> select a.terminal,a.spid,a.pga_alloc_mem from v$process a,v$session b where a.addr=b.paddr and b.username='scott';
no rows selected
V$BGPROCESS 用於顯示後臺程式的詳細資訊。
SQL> col description format a40
SQL> select name,description from v$bgprocess where paddr<>'00';
NAME DESCRIPTION
---------- ----------------------------------------
PMON process cleanup
PSP0 process spawner 0
MMAN Memory Manager
DBW0 db writer process 0
LGWR Redo etc.
CKPT checkpoint
SMON System Monitor Process
RECO distributed recovery
CJQ0 Job Queue Coordinator
QMNC AQ Coordinator
MMON Manageability Monitor Process
NAME DESCRIPTION
---------- ----------------------------------------
MMNL Manageability Monitor Process 2
12 rows selected.
SQL>
V$DATABASE 用於取得當前資料庫的詳細資訊(如資料庫名,日誌模式以及建立時間)。
SQL> select name,log_mode,created from v$database;
NAME LOG_MODE CREATED
---------- ------------------------ ------------
orcl NOARCHIVELOG 01-SEP-07
SQL>
V$CONTROLFILE 用於取得當前資料庫所有控制檔案的資訊。
SQL> col name format a50
SQL> select name from v$controlfile;
NAME
--------------------------------------------------
/oracle/oradata/orcl/control01.ctl
/oracle/oradata/orcl/control02.ctl
/oracle/oradata/orcl/control03.ctl
SQL>
V$DATAFILE 用於取得當前資料庫所有資料檔案的詳細資訊。
SQL> select file#,name,bytes from v$datafile;
FILE# NAME BYTES
---------- -------------------------------------------------- ----------
1 /oracle/oradata/orcl/system01.dbf 503316480
2 /oracle/oradata/orcl/undotbs01.dbf 36700160
3 /oracle/oradata/orcl/sysaux01.dbf 241172480
4 /oracle/oradata/orcl/users01.dbf 5242880
5 /oracle/oradata/orcl/example01.dbf 104857600
6 /oracle/oradata/orcl/NNC_DATA01.dbf 1572864000
7 /oracle/oradata/orcl/NNC_DATA02.dbf 209715200
8 /oracle/oradata/orcl/NNC_DATA03.dbf 943718400
9 /oracle/oradata/orcl/NNC_INDEX01.dbf 943718400
10 /oracle/oradata/orcl/NNC_INDEX02.dbf 314572800
11 /oracle/oradata/orcl/NNC_INDEX03.dbf 943718400
FILE# NAME BYTES
---------- -------------------------------------------------- ----------
12 /oracle/oradata/orcl/IUFO01.dbf 209715200
13 /oracle/oradata/orcl/U8.dbf 104857600
13 rows selected.
SQL>
V$DBFILE 用於取得資料檔案編號及名稱。
SQL> select * from v$dbfile;
FILE# NAME
---------- --------------------------------------------------
4 /oracle/oradata/orcl/users01.dbf
3 /oracle/oradata/orcl/sysaux01.dbf
2 /oracle/oradata/orcl/undotbs01.dbf
1 /oracle/oradata/orcl/system01.dbf
5 /oracle/oradata/orcl/example01.dbf
V$LOGFILE 用於顯示重做日誌成員的資訊。
SQL> col member format a50
SQL> select group#,member from v$logfile;
GROUP# MEMBER
---------- --------------------------------------------------
3 /oracle/oradata/orcl/redo03.log
2 /oracle/oradata/orcl/redo02.log
1 /oracle/oradata/orcl/redo01.log
SQL>
V$LOG 用於顯示日誌組的詳細資訊。
SQL> select group#,thread#,sequence#,bytes,members,status from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS STATUS
---------- ---------- ---------- ---------- ---------- --------------------------------
1 1 2 52428800 1 CURRENT
2 1 0 52428800 1 UNUSED
3 1 1 52428800 1 INACTIVE
SQL>
V$THREAD 用於取得重做執行緒的詳細資訊。
SQL> col instance format a10
SQL> select thread#,status,groups,instance,sequence# from v$thread;
THREAD# STATUS GROUPS INSTANCE SEQUENCE#
---------- ------------ ---------- ---------- ----------
1 OPEN 3 orcl 2
SQL>
V$LOCK 用於顯示鎖資訊。
SQL> col username format a10
SQL> col machine format a25
SQL> select a.username,a.machine,b.lmode,b.request from v$session a,v$lock b where a.sid=b.sid and a.type='user';
no rows selected
SQL>
V$LOCKED_OBJECT 用於顯示被加鎖的資料庫物件。
SQL> col oracle_username format a20
SQL> col object format a20
SQL> select a.oracle_username,b.owner||'.'||b.object_name object
2 from v$locked_object a,dba_objects b
3 where a.object_id=b.object_id;
no rows selected
SQL>
V$ROLLNAME和V$ROLLSTAT
V$ROLLNAME動態效能檢視用於顯示處於Online狀態的undo段,而v$rollstat用於顯示undo段統計資訊,透過二者之間執行連線查詢,可以顯示
undo段詳細的統計資訊:
SQL> select a.name,b.xacts from v$rollname a,v$rollstat b where a.usn=b.usn;
NAME XACTS
-------------------------------------------------- ----------
SYSTEM 0
_SYSSMU1$ 0
_SYSSMU2$ 0
_SYSSMU3$ 0
_SYSSMU4$ 0
_SYSSMU5$ 0
_SYSSMU6$ 0
_SYSSMU7$ 0
_SYSSMU8$ 0
_SYSSMU9$ 0
_SYSSMU10$ 0
11 rows selected.
SQL>
V$TABLESPACE 用於顯示錶空間的資訊。
SQL> select * from v$tablespace;
TS# NAME INCLUD BIGFIL FLASHB ENCRYP
---------- -------------------------------------------------- ------ ------ ------ ------
0 SYSTEM YES NO YES
1 UNDOTBS1 YES NO YES
2 SYSAUX YES NO YES
4 USERS YES NO YES
3 TEMP NO NO YES
6 EXAMPLE YES NO YES
V$TEMPFILE 用於顯示當前資料庫所包含的臨時檔案。
SQL> select name from v$tempfile;
NAME
--------------------------------------------------
/oracle/oradata/orcl/temp01.dbf
SQL>
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/312079/viewspace-245213/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 檢視資料字典
- 系統表和資料字典檢視
- 2.12 資料庫資料字典檢視資料庫
- Oracle相關資料字典檢視Oracle
- 8.1關於動態效能檢視
- db2常用動態效能檢視DB2
- 2.8.3 資料庫服務的資料字典檢視資料庫
- openGausspostgreSQL資料庫效能檢視SQL資料庫
- Oracle OCP(27):使用資料字典檢視管理物件Oracle物件
- (重要)關於效能的幾個主要動態檢視
- Redis In Action 筆記(四):資料安全和效能優化Redis筆記優化
- MySQL筆記 13 檢視MySql筆記
- 資料互動筆記筆記
- 資料流圖 和 資料字典
- 2.4.12 Step 11: 執行指令碼來構建資料字典檢視指令碼
- MySQL檢視資料庫效能常用命令和實戰教學MySql資料庫
- android 檢視資料庫和shaedpreference資料框架Android資料庫框架
- 【PAT】5. 動態規劃動態規劃
- IOS筆記之字典iOS筆記
- 【閱讀筆記:字典】筆記
- Apache Calcite 動態資料管理框架整合 csv 實戰筆記Apache框架筆記
- GBase8s 資料庫檢視狀態資料庫
- 《JavaScript資料結構與演算法》筆記——第7章 字典和雜湊表JavaScript資料結構演算法筆記
- 如何檢視和分析Excel表格資料Excel
- oracle學習筆記(十四) 資料庫物件 索引 檢視 序列 同義詞Oracle筆記資料庫物件索引
- lavavel 自動生成資料字典
- Windows10系統檢視GPU效能資料的方法WindowsGPU
- 計算機視覺筆記及資料整理(含影象分割、目標檢測)計算機視覺筆記
- 從靜態到動態化,Python資料視覺化中的Matplotlib和SeabornPython視覺化
- MySQL 變數及效能狀態檢視知識技巧MySql變數
- 資料庫檢視資料庫
- 資料庫-檢視資料庫
- EXcel 資料檢視Excel
- 動態dp複習筆記筆記
- 系統狀態統計和檢視
- python字典和結構化資料Python
- Redis學習筆記(三) 字典Redis筆記
- go 學習筆記---map(字典)Go筆記
- 字典--Python學習筆記(五)Python筆記