【问题标题】:ORA-01952: system privileges not granted to 'ROJIBORA-01952: 系统权限未授予 'ROJIB
【发布时间】:2015-11-26 13:32:05
【问题描述】:

为什么我得到 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'

【问题讨论】:

  • 您已通过角色将权限授予用户,而您正在尝试从用户撤消权限而不是从角色撤消权限。

标签: sql database oracle


【解决方案1】:

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

那是因为您向 ROLE SECURITY 授予了权限,因此您需要REVOKE ROLE SECURITY 的权限,而不是 USER

例如,

创建用户:

SQL> CREATE USER TEST IDENTIFIED BY TEST;

User created.

创建角色:

SQL> CREATE ROLE SECURITY;

Role created.

授予角色权限:

SQL> GRANT CREATE TABLE,CREATE VIEW TO SECURITY;

Grant succeeded.

将角色授予用户:

SQL> GRANT SECURITY TO TEST;

Grant succeeded.

撤销 ROLE 的权限:

SQL> REVOKE CREATE TABLE FROM SECURITY;

Revoke succeeded.

撤销 USER 的 ROLE:

SQL> REVOKE SECURITY FROM TEST;

Revoke succeeded.

【讨论】:

    猜你喜欢
    • 2012-02-22
    • 2018-03-31
    • 2017-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 2022-08-24
    相关资源
    最近更新 更多