oracle常用角色权限,Oracle角色、权限的一些常用视图 - 一夜寒江
Oracle角色、權限的一些常用視圖
ORACLE中數據字典視圖分為3大類
, 用前綴區別,分別為:USER,ALL 和 DBA,許多數據字典視圖包含相似的信息。
USER_*:
有關用戶所擁有的對象信息,即用戶自己創建的對象信息
ALL_*:
有關用戶可以訪問的對象的信息,即用戶自己創建的對象的信息加上其他用戶創建的對象但該用戶有權訪問的信息
DBA_*:
有關整個數據庫中對象的信息
(這里的*可以為TABLES, INDEXES, OBJECTS, USERS等)。
比如:只知道scott用戶的密碼,需要查看一下scott的一些信息 1、查scott用戶的創建時間、用戶狀態、使用的默認表空間、臨時表空間等信息
SQL> conn scott/mzl
已連接。
SQL>select * from user_users;
另:select * from all_users;(scott用戶可以訪問其他數據庫用戶對信息的用戶名) 另:select * from all_users;(所有數據庫的用戶信息,各用戶的密碼、狀態、默認表空間、臨時表空間等)
2、查看scott用戶自己擁有什么角色
SQL> select * from user_role_privs;
USERNAME GRANTED_ROLE ADM DEF OS_
------------------------------ ------------------------------ --- --- ---
SCOTT?????? CONNECT????? NO???? YES????? NO
SCOTT??????? RESOURCE?? NO???? YES???? NO
注:“ADM”表示這個用戶是否可以把該具有的角色賦予給其他的用戶
另:沒有all_role_privs這個視圖 另:select * from dba_role_privs(所有數據庫用戶具有哪些角色,這個視圖只有dba角色的權限才可以查詢)
3、查看scott用戶自己具有什么的權限
SQL> select * from session_privs;
4、查看scott用戶具有什么的系統權限呢
SQL>select * from user_sys_privs;
另:沒有all_sys_privs視圖 另:select * from dba_sys_privs;(所有數據庫用戶、角色所用于的系統權限)
5、查看scott用戶中,都哪些用戶把對象授予給scott用戶呢
(讀取其他用戶對象的權限)
SQL>select * from user_tab_privs;
另:select * from all_tab_privs;?? select * from dba_tab_privs;? 有空再琢磨琢磨
6、查看scott用戶中擁有的resource角色都具有什么權限呢
SQL> select * from role_sys_privs where role='RESOURCE';
ROLE
PRIVILEGE??????????????????????????????????? ADM
------------------------------ ---------------------------------------- ---
RESOURCE CREATE SEQUENCE NO
RESOURCE CREATE TRIGGER NO
RESOURCE CREATE CLUSTER NO
RESOURCE CREATE PROCEDURE NO
RESOURCE CREATE TYPE NO
RESOURCE CREATE OPERATOR NO
RESOURCE CREATE TABLE NO
RESOURCE CREATE INDEXTYPE NO
已選擇8行。
7、scott用戶自己擁有多少的表
SQL>select * from user_tables;
另:select * from all_tables; 其他用戶所擁有的表 另:select * from dba_tables;數據庫中所有用戶的表
8、查看scott用戶已經使用多大的空間,允許使用的最大空間是多少
SQL> select tablespace_name,bytes,max_bytes from user_ts_quotas;
另:select * from dba_ts_quotas;(所有的數據庫用戶在每個表空間已使用的空間,最大空間)
9、把自己的表賦予給其他用戶
SQL>grant select on emp to mzl;
查看都把哪些表什么權限賦予了其他用戶
SQL>select * from user_tab_privs_made
10、把表的某一列操作權限賦予給其他用戶
SQL>grant update(job) on emp to mzl;
注:查看數據庫中所有的角色select * form. dba_roles;
1、sys授予scott用戶dba角色
SQL> conn /as sysdba
已連接。
SQL> grant dba to scott;
授權成功。
另:如果這樣
SQL> grant dba to scott with admin option;
授權成功。
scott用戶就可以把dba的權限授予給其他的用戶了。
2、sys回收scott用戶的dba角色
SQL> revoke dba from scott;
撤銷成功。
總結
以上是生活随笔為你收集整理的oracle常用角色权限,Oracle角色、权限的一些常用视图 - 一夜寒江的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php要输出为空值怎么写,thinkph
- 下一篇: oracle语句取字段前2位,oracl