ORACLE-使用者常用資料字典的查詢使用方法

來源:互聯網
上載者:User

標籤:

一、使用者

查看目前使用者的預設資料表空間

SQL> select username,default_tablespace from user_users;

USERNAME DEFAULT_TABLESPACE
------------------------------ ------------------------------
SCOTT USERS

 

查看目前使用者的角色

SQL> select * from user_role_privs;

USERNAME GRANTED_ROLE ADMIN_OPTION DEFAULT_ROLE OS_GRANTED
------------------------------ ------------------------------ ------------ ------------ ----------
SCOTT CONNECT NO YES NO
SCOTT DBA NO YES NO
SCOTT RESOURCE NO YES NO

 

查看目前使用者的系統許可權和表級許可權

SQL> select * from user_sys_privs;

USERNAME PRIVILEGE ADMIN_OPTION
------------------------------ ---------------------------------------- ------------
SCOTT UNLIMITED TABLESPACE NO

SQL> select * from user_tab_privs;

GRANTEE OWNER TABLE_NAME GRANTOR PRIVILEGE GRANTABLE HIERARCHY
------------------------------ ------------------------------ ------------------------------ ------------------------------ ---------------------------------------- --------- ---------

顯示當前會話所具有的許可權

SQL> select * from session_privs;

 

指定使用者所具有的系統許可權

SQL> select * from dba_sys_privs where grantee=‘SCOTT‘;

GRANTEE PRIVILEGE ADMIN_OPTION
------------------------------ ---------------------------------------- ------------
SCOTT UNLIMITED TABLESPACE NO

顯示特權使用者

SQL> select * from v$pwfile_users;

USERNAME SYSDBA SYSOPER SYSASM
------------------------------ ------ ------- ------
SYS TRUE TRUE FALSE

 

顯示使用者資訊(所屬資料表空間)

SQL> select default_tablespace,temporary_tablespace from dba_users where username=‘SCOTT‘;

DEFAULT_TABLESPACE TEMPORARY_TABLESPACE
------------------------------ ------------------------------
USERS TEMP

顯示使用者的profile

SQL> select profile from dba_users where username=‘SCOTT‘;

PROFILE
------------------------------
DEFAULT

 

二、表

查看目前使用者下所有的表

SQL> select * from user_tables;

SQL> select table_name from user_tables;

 

查看名稱包含EP字元的表

SQL> select table_name from user_tables where instr(table_name,‘EP‘)>0;

查看名稱包含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 table_name,index_name,index_type 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 constraint_name, constraint_type,search_condition, r_constraint_name
from user_constraints where table_name = upper(‘&table_name‘);

 

六、預存程序和函數

查看函數和預存程序的狀態

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

ORACLE-使用者常用資料字典的查詢使用方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.