Oracle Sql Developer如何在Oracle中创建和设置角色?

Posted

技术标签:

【中文标题】Oracle Sql Developer如何在Oracle中创建和设置角色?【英文标题】:How to create and set roles in Oracle by Oracle Sql Developer? 【发布时间】:2012-09-19 08:46:08 【问题描述】:

我有一个 Oracle SQL Developer,我想为指定的表创建和设置多个角色(例如,插入、更新、删除和选择语句),但是当我使用 Grant 或 Revoke 语句来执行这些操作时,像这样:

GRANT INSERT, UPDATE on Employees to username or rolename
REVOKE INSERT, UPDATE on Employees from username or rolename

结果没有出现,所以我不能在 Oracle 中使用插入、更新、选择语句,我尝试一次又一次地发出这些语句,但它不起作用。

我该怎么办?

【问题讨论】:

【参考方案1】:

为了能够将这些权限授予用户,您必须与拥有此权限的用户建立联系。

如果您与这样的用户建立联系,您可以像这样授予用户权限

GRANT UPDATE ANY TABLE TO "user";

你也可以像这样盛大ADMIN OPTION

GRANT UPDATE ANY TABLE TO "user" WITH ADMIN OPTION;

您还可以将特定角色/用户授予特定表的特权:

GRANT SELECT ON "table_name" TO "user_or_role"; 

以下语句将 emp 表的所有列的 SELECT、INSERT 和 DELETE 对象权限授予用户 jfee 和 tsmith:

GRANT SELECT, INSERT, DELETE ON "table" TO "user1", "user2";

查看http://docs.oracle.com/cd/B10500_01/server.920/a96521/privs.htm管理用户权限

【讨论】:

我尝试测试它但没有任何结果 我像上面的语句一样写了 GRAND 和 REVOKE,但出现任何东西 究竟是什么命令,你在哪里写的?在什么工具上?你承诺了吗?【参考方案2】:

你最后没有分号只是一个错字吗?

运行语句时得到什么输出?

【讨论】:

【参考方案3】:

您是否同时发出了 GRANT 和 REVOKE? GRANT 提供,REVOKE 带走,因此将它们一起发布意味着什么都不会做。只需发出 GRANT 语句即可授予访问权限

GRANT INSERT, UPDATE ON schema.table1 TO username;

将允许 USERNAME 在 SCHEMA 的 TABLE1 中插入和更新行。

REVOKE INSERT, UPDATE ON schema.table1 FROM username;

如果您授予了允许 USERNAME 在 SCHEMA 中的 TABLE1 中插入和更新行的权限(否则它会告诉您您没有授予它们),将删除这些权限。

【讨论】:

以上是关于Oracle Sql Developer如何在Oracle中创建和设置角色?的主要内容,如果未能解决你的问题,请参考以下文章

win8 64位+Oracle 11g 64位下使用PL/SQL Developer 的解决办法

Oracle Sql Developer如何在Oracle中创建和设置角色?

如何安装pl/sql developer

如何安装pl/sql developer

如何在 SQL Developer 中检查语法 Oracle 存储过程?

oracle 客户端 sql developer 如何修改jdk版本