每個oracle資料庫中包括乙個被稱為「元資料」的集合,或者說包含用來描述資料庫有關資料結構的資料。包含這些元資料的表和檢視稱為oracle資料字典。本文列出了一些常用的oracle資料字典的查詢方法。
下面按類別列出一些oracle使用者常用資料字典的查詢使用方法。
一、使用者
檢視當前使用者的預設表空間
sql>select username,default_tablespace from user_users;
檢視當前使用者的角色
sql>select * from user_role_privs;
檢視當前使用者的系統許可權和表級許可權
sql>select * from user_sys_privs;
sql>select * from user_tab_privs;
二、表檢視使用者下所有的表
sql>select* from user_tables;
檢視名稱包含log字元的表
sql>select object_name,object_id from user_objects where instr(object_name,'log')>0;
檢視某錶的建立時間
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的記憶體區里的表
sql>select table_name,cache from user_tables where instr(cache,'y')>0;
三、索引
檢視索引個數和類別
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');
四、序列號
檢視序列號,last_number是當前值
sql>select * from user_sequences;
五、檢視
檢視檢視的名稱
sql>select view_name from user_views;
檢視建立檢視的select語句
sql>select view_name,text_length from user_views;
sql>set long 2000;
//說明:可以根據檢視的text_length值設定set long 的大小
sql>select text from user_views where view_name=upper('&view_name');
六、同義詞
檢視同義詞的名稱
sql>select * from user_synonyms;
七、約束條件
檢視某錶的約束條件
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 6 order by cc.position;
八、儲存函式和過程
檢視函式和過程的狀態
sql>select object_name,status from user_objects where object_type='function';
sql>select object_name,status from user_objects where object_type='procedure';
檢視函式和過程的源**
sql>select text from all_source where owner=user and name=upper('&plsql_name');
九、觸發器
檢視觸發器
set long 50000;
set heading off;
set pagesize 2000;
select
'create or replace trigger ' ||
trigger_name || '' || chr(10)||
decode( substr( trigger_type, 1, 1 ),
'a', 'after', 'b', 'before', 'i', 'instead of' ) ||
chr(10) ||
triggering_event || chr(10) ||
'on ' || table_owner || '.' ||
table_name || '' || chr(10) ||
decode( instr( trigger_type, 'each row' ), 0, null,
'for each row' ) || chr(10) ,
trigger_body
from user_triggers;
oracle資料字典入門
資料字典是oracle存放有關資料庫資訊的地方,其用途是用來描述資料的。比如乙個表的建立者資訊,建立時間資訊,所屬表空間資訊,使用者訪問許可權資訊等。當使用者在對資料庫中的資料進行操作時遇到困難就可以訪問資料字典來檢視詳細的資訊。oracle中的資料字典有靜態和動態之分。靜態資料字典主要是在使用者訪...
Oracle 資料字典
資料字典包括以下內容 1.所有資料庫schema物件的定義 表,檢視,索引,聚簇,同義詞,序列,過程,函式,包,觸發器 2.資料庫的空間分配和使用情況 3.欄位的預設值 4.完整性約束資訊 5.oracle使用者名稱,角色,許可權等資訊 6.審計資訊 7.其他資料庫資訊 資料字典有4部分組成 內部r...
oracle 資料字典
oracle資料字典 select from user tab columns 檢視使用者列物件 select from user tab comments 檢視使用者表的備註 select from user tab statistics select from all users 所有使用者 s...