Oracle如何授予/撤销对象权限?

可以使用以下命令将对象权限授予任何用户或者角色:

SQL> grant [privilege name] on [schema].[object_name] to [username or role] [WITH GRANT OPTION];
They can be revoked with the following command:
SQL> revoke [privilege name] on [schema].[object_name] from [username or role];

注意:对象权限可以由对象所有者、通过 WITH GRANT OPTION 授予该对象权限的用户或者被授予“GRANT ANY OBJECT PRIVILEGE”权限的用户授予。

授予某个用户的所有对象权限都可以在 DBA_TAB_PRIVS 中查看。

SQL> select owner, table_name, privilege from dba_tab_privs where grantee='SYSTEM';
OWNER         TABLE_NAME          PRIVILEGE
-----------   ----------          ----------------
SYS           INCEXP              FLASHBACK
SYS           INCEXP              DEBUG
SYS           INCEXP              QUERY REWRITE
SYS           INCEXP              ON COMMIT REFRESH
SYS           INCEXP              REFERENCES
SYS           INCEXP              UPDATE
SYS           INCEXP              SELECT
SYS           INCEXP              INSERT
SYS           INCEXP              INDEX
SYS           INCEXP              DELETE
SYS           INCEXP              ALTER
...

注意:当被授予 WITH GRANT OPTION 对象权限的用户失去该权限时,所有被该用户授予此权限的用户也将失去该权限。

日期:2020-09-17 00:11:41 来源:oir作者:oir