Oracle OCP(31):USER & ROLE & PRIVILEGE 其它

那年仲夏 提交于 2019-11-28 21:44:25

一、授予权限

GRANT privilege [, ...] ON object [, ...] TO {PUBLIC | GROUP group | username};

二、撤销权限

REVOKE <priv_name>|<role_name>[(<coloumn_name>)] [ON <table_name>]
FROM <role_name>|<user_name>
[CASCADE CONSTRAINTS];    --如果要删除通过 REFERENCES 权限对该对象实行的任何引用完整性约束,则此选项是必须的。

注:如果用户是通过 WITH GRANT OPTION 子句获得某项权限,则该用户也可以用 WITH GRANT OPTION 子句授予其他用户权限,这样就可能出现一长串的被授予者,但不允许循环授予权限。如果所有者从用户处撤消了某项权限,而该用户将此权限授予了其他用户,则撤销操作会级联到所有授予的权限。

  • 对于WITH ADMIN OPTION的系统权限,父权限回收,子权限将不级连回收
  • 对于WITH GRANT OPTION的对象权限,父权限回收,子权限将级连回收

三、查看USER创建信息

SELECT A.USERNAME,
       A.DEFAULT_TABLESPACE,
       A.TEMPORARY_TABLESPACE,
       TO_CHAR(A.CREATED, 'yyyy-mm-dd hh24:mi:ss'),
       A.PROFILE
  FROM DBA_USERS A
 WHERE USERNAME = '';

SELECT * 
  FROM DBA_TS_QUOTAS A;

四、查看用户状态信息

SELECT A.USERNAME,
       A.ACCOUNT_STATUS,
       TO_CHAR(A.LOCK_DATE, 'yyyy-mm-dd hh24:mi:ss'),
       TO_CHAR(A.EXPIRY_DATE, 'yyyy-mm-dd hh24:mi:ss')
  FROM DBA_USERS A;

五、查看 profile 内容

SELECT * 
  FROM DBA_PROFILES 
 WHERE PROFILE = 'PF_EAGLE';

六、获取用户创建语句

SELECT DBMS_METADATA.GET_DDL('USER', 'SCOTT')
  FROM DUAL
 UNION ALL
SELECT DBMS_METADATA.GET_GRANTED_DDL('SYSTEM_GRANT', 'SCOTT')
  FROM DUAL
 UNION ALL
SELECT DBMS_METADATA.GET_GRANTED_DDL('OBJECT_GRANT', 'SCOTT')
  FROM DUAL
 UNION ALL
SELECT DBMS_METADATA.GET_GRANTED_DDL('ROLE_GRANT', 'SCOTT')
  FROM DUAL;
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!