天天看點

oracle檢視字典結構體,oracle 資料字典

--1.靜态資料字典

--user_source視圖

--主要描述目前使用者的type and

code資訊.

select * from user_source;

select * from all_source;

select * from dba_source;

-----------------------------

--user_users視圖

--主要描述目前使用者的資訊,主要包括目前使用者名、帳戶id、帳戶狀态、表空間名、建立時間等。例如執行下列指令即可傳回這些資訊。

select * from user_users;

select * from all_users;

select * from dba_users;

-----------------------------

--user_tables視圖

--主要描述目前使用者擁有的所有表的資訊,主要包括表名、表空間名、簇名等。通過此視圖可以清楚了解目前使用者可以操作的表有哪些。

select * from user_tables;

select * from all_tables;

select * from dba_tables;

------------------------------

--user_views視圖

--主要描述目前使用者擁有的所有views的資訊.

select * from user_views;

select * from all_views;

select * from dba_views;

------------------------------

--user_objects視圖

--主要描述目前使用者擁有的所有對象的資訊,對象包括表、視圖、存儲過程、觸發器、包、索引、序列等。

--該視圖比user_tables視圖更加全面。例如,需要擷取一個名為“PARTNER_DF_PK”的對象類型和其狀态的資訊,可以執行下面指令

select object_type,status from user_objects

where object_name=upper('PARTNER_DF_PK');

--這裡需注意upper的使用,資料字典裡的所有對象均為大寫形式,而PL/SQL裡不是大小寫敏感的,是以在實際操作中一定要注意大小寫比對。

select * from user_objects;

select * from all_objects;

select * from dba_objects;

---------------------------------------

--user_tab_privs視圖

--該視圖主要是存儲目前使用者下對所有表的權限資訊。比如,為了了解目前使用者對DIM_ITEM的權限資訊,可以執行如下指令

select * from user_tab_privs where

table_name=upper('DIM_ITEM');

--了解了目前使用者對該表的權限之後就可以清楚的知道,哪些操作可以執行,哪些操作不能執行。

--前面的視圖均為user_開頭的,其實all_開頭的也完全是一樣的,隻是列出來的資訊是目前使用者可以通路的對象而不是目前使用者擁有的對象。

--對于dba_開頭的需要管理者權限,其他用法也完全一樣,這裡就不再贅述了。

select * from user_tab_privs;

select * from all_tab_privs;

select * from dba_tab_privs;

----------------------------------------

2.動态資料字典

select * from v$access;

select * from v$session;

select * from v$active_instance;

select * from v$context;

---------------------------

1.檢視使用者擁有的資料庫對象

Sql代碼

select object_name from user_objects;

2.檢視限制資訊

Sql代碼

select constraint_name from user_constraints;

3.檢視使用者所擁有的表

Sql代碼

select table_name from user_tables;

Sql代碼

select *from tab;

4.檢視使用者所擁有的視圖

Sql代碼

select view_name from user_views;

5.檢視使用者所擁有的觸發器

Sql代碼

select trigger_name from user_triggers;

6.檢視使用者擁有的序列

Sql代碼

select sequence_name from user_sequence;

7.檢視使用者擁有的索引

Sql代碼

select index_name from user_indexs;

8.顯示目前使用者

Sql代碼

show user;

9.切換使用者

Sql代碼

conn scott/tiger;

10.将使用者賦予某種角色登入

Sql代碼

conn scott/tiger as sysdba;

11.檢視所有使用者

Sql代碼

conn system/unis;

select username from dba_users;

12.檢視使用者所擁有的權限

Sql代碼

select *from session_privs;

13.給使用者加鎖

Sql代碼

alter user scott account lock;

14.給使用者解鎖

Sql代碼

alter user scott account unlock;

15.修改使用者密碼

Sql代碼

alter user zzg identified by zzg123

16.建立使用者

Sql代碼

create user zzg identified by zzg123;

17.删除使用者及相關對象

Sql代碼

drop user zzg cascade;

18.給使用者賦權(多個采用逗号間隔)

Sql代碼

grant create session,create table to zzg;

19.配置設定表空間給使用者

Sql代碼

alter user zzg default tablespace ts_zzg;

20.授權表空間給使用者

Sql代碼

grant unlimited tablespace to zzg;