首页 文章

ORA-01952:未授予“ROJIB”的系统权限

提问于
浏览
1

为什么我得到ORA-01952:未授予'ROJIB'系统权限?

创造角色:

SQL> create role security;

Role created.

然后为角色'安全'创建授权:

SQL> grant create table,create view to security;

Grant succeeded.

授予用户:

SQL> grant security to rojib;

Grant succeeded.

在撤销后,我收到错误:

SQL> revoke create table from rojib;
revoke create table from rojib
*
ERROR at line 1:
ORA-01952: system privileges not granted to 'ROJIB'

1 回答

  • 3

    为什么我得到ORA-01952:未授予'ROJIB'系统权限?

    那是因为你授予了 ROLE SECURITY 的特权,所以你需要 ROLE SECURITY 的特权 REVOKE ,而不是 USER .

    例如,

    Create a USER:

    SQL> CREATE USER TEST IDENTIFIED BY TEST;
    
    User created.
    

    Create a ROLE:

    SQL> CREATE ROLE SECURITY;
    
    Role created.
    

    Grant privileges to the ROLE:

    SQL> GRANT CREATE TABLE,CREATE VIEW TO SECURITY;
    
    Grant succeeded.
    

    Grant ROLE to the USER:

    SQL> GRANT SECURITY TO TEST;
    
    Grant succeeded.
    

    Revoke privilege from the ROLE:

    SQL> REVOKE CREATE TABLE FROM SECURITY;
    
    Revoke succeeded.
    

    Revoke ROLE from the USER:

    SQL> REVOKE SECURITY FROM TEST;
    
    Revoke succeeded.
    

相关问题