Oracle資料字典常用查詢

2021-05-11 05:53:58 字數 3973 閱讀 3434

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>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使用者常用資料字典查詢

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

ORACLE資料字典的常用查詢

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