下面按類別列出一些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
2 from user_constraints where table_name = upper('&table_name');
//注意,表名一定是大寫才行
sql>select c.constraint_name,c.constraint_type,cc.column_name
2 from user_constraints c,user_cons_columns cc
3 where c.owner = upper('&table_owner')
4 and c.table_name = upper('&table_name')
5 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使用者常用資料字典的查詢使用方法。一 使用者 檢視當前使用者的預設表空間sql select username,default tablespace from user users 檢視當前使用者的角色sql select from user role privs 檢視...
基礎知識補漏 資料字典
資料字典 資料字典表 data dictionary table 用以儲存表 索引 約束以及其他資料庫結構的資訊。這些物件通常以 結尾 例如 tab obj ts 等 在建立資料庫的時候通過執行 sql.bsq 指令碼來建立。dba objects 中有兩個字段經常使人誤解 object id 和 ...
oracle基礎之資料字典
1.資料字典概念 資料字典是oracle資料庫的核心元件,它由一系列唯讀的資料字典表和資料字典檢視組成.資料字典中記錄了資料庫的系統資訊 例程執行的效能。資料字典的所有者為sys使用者,其資料字典表和資料字典檢視都儲存在system表空間中.資料字典表主要儲存以下資訊 各種方案物件的定義資訊,如表 ...