【问题标题】:How to revoke all privileges for a user in sqlplus?如何撤销sqlplus中用户的所有权限?
【发布时间】:2015-07-30 13:31:04
【问题描述】:

如何在 SQLPlus 中撤销用户的所有权限? 我以sysdba 登录,我想撤销普通用户的所有权限。

我用谷歌搜索了这个查询

REVOKE ALL PRIVILEGES, GRANT OPTION FROM user [, user] ...

但我不明白我应该为用户等放什么。

【问题讨论】:

标签: oracle sqlplus ddl privileges sql-revoke


【解决方案1】:

这里的答案取决于您是要撤销系统权限还是对象权限。 两者都有语法变化。

但是当您通过 sysdba 登录时,我猜您想撤销 system privileges

revoke sysdba from user_name;

这里将 user_name 替换为您的实际用户。喜欢

revoke sysdba from nagendra;

更新: 要撤销所有system privileges,我们可以使用:

revoke all privileges from user_name

object privilege 表示tables procedures functions 的特权并撤销此使用:

revoke all on object_name from public

例子

revoke all on nagendra_table from public

这将从all users 中删除表nagendra_table 上的所有现有权限

【讨论】:

    【解决方案2】:

    user 是您要撤销权限的用户的名称。 grant option 子句是 MySQL 语法,在 Oracle 企业数据库中不存在。所以,如果我想撤销r_mat 的所有权限,我会使用:

    REVOKE ALL PRIVILEGES FROM r_mat;
    

    【讨论】:

    • 它不工作,当我尝试你的解决方案时,我得到了这个消息 --> ORA-00990: missing or invalid privilege
    • 这是 MySQL 语法,因为问题已被标记。它不适用于 oracle。
    • 对不起,我弄错了我的意思是sqlplus不是mysql
    • @R_Mat 哦,原来是 Oracle。我修改了答案中的语法以适应这些新信息 - 见那里。
    猜你喜欢
    • 2020-02-16
    • 2018-09-29
    • 2011-07-14
    • 1970-01-01
    • 2018-06-12
    • 2021-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多