ORACLE資料字典的常用查詢

2021-06-28 08:07:34 字數 3828 閱讀 1905

一、使用者

檢視當前使用者的預設表空間

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>comment   on   table   表   is   '表注釋';  

給字段新增描述 

sql>comment   on   column   表.列   is   '列注釋';  

檢視當前使用者所有表的描述

sql>select o.object_name,c.comments

from user_objects o

left outer join user_tab_comments  c

on o.object_name=c.table_name

where object_type='table'

/*where instr(o.object_name,'tco_')>0*/

and c.comments like '%部門%'

檢視指定使用者所有欄位的描述

sql>select c.table_name,o.column_name,o.data_type,o.data_length,c.comments

from user_tab_columns o

left outer join user_col_comments c

on o.table_name=c.table_name

and  o.column_name=c.column_name

where o.table_name like upper('om_organization%') --指定表名

三、索引

檢視索引個數和類別

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

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');

九、觸發器

檢視觸發器

setlong

50000;

setheading off;

setpagesize 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 檢視當前使用者的系統許可權和表級...

Oracle使用者常用資料字典查詢

檢視當前使用者的預設表空間 sql select username,default tablespace from user users 檢視當前使用者的角色 sql select from user role privs 檢視當前使用者的系統許可權和表級許可權 sql select from us...

Oracle使用者常用資料字典查詢

郭 躍龍 laptop環境 22 10 10 檢視當前使用者的預設表空間 sql select username,default tablespace from user users 檢視當前使用者的角色 sql select from user role privs 檢視當前使用者的系統許可權和表...