Oracle 常用數(shù)據(jù)字典表、視圖的總結(jié)
Oracle 常用數(shù)據(jù)字典表、視圖的總結(jié)
一數(shù)據(jù)字典的分類
1.靜態(tài)數(shù)據(jù)字典表的 2.靜態(tài)數(shù)據(jù)字典視圖 3 動態(tài)數(shù)據(jù)字典表 4 動態(tài)數(shù)據(jù)字典視圖
二 數(shù)據(jù)字典的使用
1.靜態(tài)數(shù)據(jù)字典表的使用
靜態(tài)數(shù)據(jù)字典表只能由ORACLE 進(jìn)行維護(hù)。
2.靜態(tài)數(shù)據(jù)字典視圖的使用 *
通常用戶通過對靜態(tài)數(shù)據(jù)字典視圖的查詢可以獲取所需 i要的所有數(shù)據(jù)庫信息。
Oracle 靜態(tài)數(shù)據(jù)字典分類
名稱前綴 含義
user_ 包含了當(dāng)前數(shù)據(jù)庫用戶所擁有的所有的模式對象的信息
all_ 包含了當(dāng)前數(shù)據(jù)庫用戶可以訪問的所有的模式對象的信息
dba_ 包含了所有數(shù)據(jù)庫對象信息,只有具有DBA角色的用戶才嫩而過訪問的這些視圖
例如:
select * from dba_tables
select * from all_tables
select * from user_tables;
注: dba_ 開頭的 必須是sys 用戶所有 ,非 sys 用戶 需要在前面加 sys 前綴
下面都是一些常用的視圖家族,都有一個DBA_ ALL_ USER_ 的視圖
col_privs 包含了表的列權(quán)限信息,包含授予者,被授予者和權(quán)限名稱等信息,
extents 存儲分配信息,包括數(shù)據(jù)段名 表空間名和分區(qū)編號,分區(qū)大小
indexes 索引信息 包含索引類型, 唯一性, 索引作用等表的信息
ind_columns 索引列信息 包括索引上的列的排序方式等信息
object 對象信息, 包括對象名稱 類型 創(chuàng)建時間 等信息
segments 表和索引的數(shù)據(jù)段信息,包括表空間,存儲設(shè)置等信息
sequences 序列信息 包含序列名稱 ,循環(huán)性,最大值等信息
source 除觸發(fā)器之外的所有存儲過程,函數(shù),包的源代碼信息
synonyms 同義詞信息 包括引用的對象等信息
sys_privs 系統(tǒng)權(quán)限信息 包括系統(tǒng)權(quán)限名稱 授予者
tab_columns 表和視圖的列信息 ,包括列的數(shù)據(jù)類型等信息
tab_privs 表權(quán)限信息
tables 表信息 包括表所屬的表空間 ,存儲參數(shù) ,數(shù)據(jù)行數(shù)量等信息。
triggers 觸發(fā)器信息 包括觸發(fā)器的類型,事件。觸發(fā)器體等信息
users 用戶信息 。包括用戶臨時和默認(rèn)的表空間的類型
views 視圖 信息
看一下權(quán)限視圖
role_sys_privs 角色擁有的系統(tǒng)權(quán)限視圖
role_tab_privs 角色擁有的對象權(quán)限
user_role _ privs 用戶擁有的角色
user_sys_privs 用戶擁有的權(quán)限的角色
user_tab_privs_mads 用戶分配的關(guān)于表對象權(quán)限
user_tab_privs_recd 用戶擁有的關(guān)于表對象權(quán)限
user_col_privs_mads 用戶分配的關(guān)于列的對象權(quán)限
user_col_privs_recd 用戶擁有的關(guān)于列的對象權(quán)限
3. 動態(tài)性能表是數(shù)據(jù)庫實(shí)例啟動后 創(chuàng)建的表。動態(tài)性能表都數(shù)據(jù)SYS 用戶; 用于存放數(shù)據(jù)庫在運(yùn)行的過程中的性能相關(guān)的信息。 通過以下的視圖查看
select name from v_$fixed_table;
4.動態(tài)性能視圖的使用;
只有sys 用戶和擁有DBA 角色的用戶可以訪問 。
在數(shù)據(jù)庫啟動到 NOMOUNT 的狀態(tài)時 可以訪問 v$ parameter v$sga v$session v$process v$instance v$version v$option
當(dāng)數(shù)據(jù)庫啟動到 mount 的狀態(tài)時 我們還可以訪問 v$ log v$logfiel v$datafile v$controlfile v$ database v$thread v$datafile_header
當(dāng)數(shù)據(jù)庫完全啟動后。可以訪問 v_$fixed_table
v$access 包含當(dāng)前被鎖定的數(shù)據(jù)庫對象及正在訪問他們的會話
v$archive 包含歸檔所需的重做日志文件中的信息
v$ archived_log 包含從控制文件中獲取的歸檔日志信息。
v$archive_processes 包含于一個實(shí)例相關(guān)的arch 進(jìn)程的狀態(tài)信息
v$ backup 包含聯(lián)機(jī)數(shù)據(jù)文件的備份狀態(tài)信息
v$backup_async_io 包括從控制文件中獲取的備份集的信息
v$ backup_corruption 包含從控制文件中獲取的有關(guān)數(shù)據(jù)文件備份中損壞的信息。
v$ backup_datafile 包含從控制文件中獲取的備份的數(shù)據(jù)文件和備份控制文件的信息
v$ backup_device 包含支持備份設(shè)備的信息
v$backup_piece 包含從控制文件中獲取的備份塊的信息
v$backup_redolog 包含從控制文件中獲取的關(guān)于備份集的歸檔日志的信息
v$backup_set 包含從控制文件中獲取的備份集的信息
v$bgprocess 包含數(shù)據(jù)庫后臺進(jìn)程信息
v$ buffer_pool 包含當(dāng)前實(shí)例中所有可用緩沖池的信息
v$ buffer_pool_statistics 包含當(dāng)前實(shí)例所有可用緩沖池的統(tǒng)計(jì)信息
v$ cache 包含當(dāng)前實(shí)例的SGA 中的每一塊的頭部信息
v$context 包含當(dāng)前對話的屬性信息。
v$controlfile 包含控制文件信息
v$ controlfile_record_section 包含控制文件記錄部分的信息
v$ copy_curruption 包含從控制問價中獲取的數(shù)據(jù)文件副本損壞的信息
v$database 包含從控制文件中獲取的數(shù)據(jù)庫信息
v$datafile 包含從控制文件中獲取的數(shù)據(jù)文件信息
v$datafile_copy 包括從控制文件中獲取的數(shù)據(jù)文件副本的信息
v$datafile_header 包含數(shù)據(jù)文件頭部信息
v$ db_object_cache 包含緩存在庫高速緩沖中的數(shù)據(jù)庫對象信息
v$db_pipes 包含當(dāng)前數(shù)據(jù)庫中的管道信息
v$deleted_object 包含從控制文件中獲取的被刪除的歸檔日志,數(shù)據(jù)文件副本和備份塊的信息
v$ dispatcher_rate 包含調(diào)度進(jìn)程速率統(tǒng)計(jì)量的信息
v$ dispatche 包含調(diào)度進(jìn)程的信息
v$ DLM_ALL_LOCKS 包含當(dāng)前所有鎖
v$ DLM_CONVERT_LOCAL 包含本地鎖轉(zhuǎn)換操作所消耗的時間的信息
v$ EVENT_NAME 包含等待時間的信息
v$ fixed_table 包含所有可用的動態(tài)性能視圖和動態(tài)性能表的信息
v$ sysstat 包含當(dāng)前實(shí)例的性能統(tǒng)計(jì)信息
v$ instance 包含當(dāng)前實(shí)例的詳細(xì)信息
v$sga 包含 SGA 區(qū)的主要組成部分的信息
v$ sgainfo 包含SGA 區(qū)的詳細(xì)消息
v$ parameter 包含初始化參數(shù)信息
v$ sversion 包含Oracle 版本信息
v$ option 包含已安裝的 Oraclette組件的選項(xiàng)信息
v$session 包含當(dāng)前所有會話信息
v$process 包含當(dāng)前系統(tǒng)所有進(jìn)程信息
v$ bgprocess 包含數(shù)據(jù)庫所有后臺進(jìn)程信息
v$ database 包含當(dāng)前數(shù)據(jù)庫信息
v$ controlfile 包含當(dāng)前數(shù)據(jù)庫所有控制文件信息
v$ datafile 包含當(dāng)前數(shù)據(jù)庫所有的數(shù)據(jù)文件的信息
v$ dbfile 包含所有數(shù)據(jù)文件的編號信息
v$ logfile 包含當(dāng)前數(shù)據(jù)庫所有的重做日志文件信息
v$ log 包含當(dāng)前數(shù)據(jù)庫重做日志文件信息
v$ log_history 包含重做日志文件切換情況的歷史信息
v$ thread 包含當(dāng)前數(shù)據(jù)庫線程的信息
v$ lock 包含鎖的信息
v$ locked_object 包含被加鎖的數(shù)據(jù)庫對象信息
v$ rollname 包含當(dāng)前處于聯(lián)機(jī)狀態(tài)的回退信息
v$ rollstat 包含當(dāng)前所有的回退段的統(tǒng)計(jì)信息
v$ tablespace 包含當(dāng)前數(shù)據(jù)庫所有表空間信息
v$ tempfile 包含當(dāng)前數(shù)據(jù)庫多有的臨時數(shù)據(jù)文件的信息 ;
查看當(dāng)前用戶的缺省表空間
SQL>select username,default_tablespace from user_users;
查看當(dāng)前用戶的角色
SQL>select * from user_role_privs;
查看當(dāng)前用戶的系統(tǒng)權(quán)限和表級權(quán)限
SQL>select * from user_sys_privs;
SQL>select * from user_tab_privs;
查看用戶下所有的表
SQL>select * from user_tables;
查看用戶下所有的表的列屬性
SQL>select * from USER_TAB_COLUMNS where table_name=:table_Name;
顯示用戶信息(所屬表空間)
select default_tablespace,temporary_tablespace
from dba_users where username='GAME';
1、用戶
查看當(dāng)前用戶的缺省表空間
SQL>select username,default_tablespace from user_users;
查看當(dāng)前用戶的角色
SQL>select * from user_role_privs;
查看當(dāng)前用戶的系統(tǒng)權(quán)限和表級權(quán)限
SQL>select * from user_sys_privs;
SQL>select * from user_tab_privs;
顯示當(dāng)前會話所具有的權(quán)限
SQL>select * from session_privs;
顯示指定用戶所具有的系統(tǒng)權(quán)限
SQL>select * from dba_sys_privs where grantee='GAME';
顯示特權(quán)用戶
select * from v$pwfile_users;
顯示用戶信息(所屬表空間)
select default_tablespace,temporary_tablespace
from dba_users where username='GAME';
顯示用戶的PROFILE
select profile from dba_users where username='GAME';
2、表
查看用戶下所有的表
SQL>select * from user_tables;
查看名稱包含log字符的表
SQL>select object_name,object_id from user_objects
where instr(object_name,'LOG')>0;
查看某表的創(chuàng)建時間
SQL>select object_name,created from user_objects where object_name=upper('&table_name');
查看某表的大小
SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segments
where segment_name=upper('&table_name');
查看放在Oracle的內(nèi)存區(qū)里的表
SQL>select table_name,cache from user_tables where instr(cache,'Y')>0;
3、索引
查看索引個數(shù)和類別
SQL>select index_name,index_type,table_name from user_indexes order by table_name;
查看索引被索引的字段
SQL>select * from user_ind_columns where index_name=upper('&index_name');
查看索引的大小
SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segments
where segment_name=upper('&index_name');
4、序列號
查看序列號,last_number是當(dāng)前值
SQL>select * from user_sequences;
5、視圖
查看視圖的名稱
SQL>select view_name from user_views;
查看創(chuàng)建視圖的select語句
SQL>set view_name,text_length from user_views;
SQL>set long 2000; 說明:可以根據(jù)視圖的text_length值設(shè)定set long 的大小
SQL>select text from user_views where view_name=upper('&view_name');
6、同義詞
查看同義詞的名稱
SQL>select * from user_synonyms;
7、約束條件
查看某表的約束條件
SQL>select constraint_name, constraint_type,search_condition, r_constraint_name
from user_constraints where table_name = upper('&table_name');
SQL>select c.constraint_name,c.constraint_type,cc.column_name
from user_constraints c,user_cons_columns cc
where c.owner = upper('&table_owner') and c.table_name = upper('&table_name')
and c.owner = cc.owner and c.constraint_name = cc.constraint_name
order by cc.position;
8、存儲函數(shù)和過程
查看函數(shù)和過程的狀態(tài)
SQL>select object_name,status from user_objects where object_type='FUNCTION';
SQL>select object_name,status from user_objects where object_type='PROCEDURE';
查看函數(shù)和過程的源代碼
SQL>select text from all_source where owner=user and name=upper('&plsql_name');