Oracle Orace 11g:在另一个架构中创建表,仅对架构所有者具有select权限

Oracle Orace 11g:在另一个架构中创建表,仅对架构所有者具有select权限,oracle,select,oracle11g,privileges,Oracle,Select,Oracle11g,Privileges,我有两个用户:User1和User2 我能够从User1在User2的模式中创建表 create table user2.tmp_tab ( temp1 varchar2(20), temp2 varchar2(20) ); Table created Successfully 但是我希望User2在表上仅具有选择权限。 而且我不想在模式User1中创建表 可能吗?怎样才能做到呢 不,你不能。架构所有者自动对自己的架构拥有所有对象权限 从 用户自动拥有架构对象的所有对象权限

我有两个用户:User1和User2

我能够从User1在User2的模式中创建表

create table user2.tmp_tab (
     temp1 varchar2(20),
     temp2 varchar2(20)
);
Table created Successfully
但是我希望User2在表上仅具有选择权限。 而且我不想在模式User1中创建表


可能吗?怎样才能做到呢

不,你不能。架构所有者自动对自己的架构拥有所有对象权限

用户自动拥有架构对象的所有对象权限 包含在他或她的模式中。用户可以授予任何对象权限 在他或她拥有的任何架构对象上,将其分配给任何其他用户或角色


架构所有者将拥有其架构对象的所有权限。感谢提供文档ink@user2019331不客气。如果它解决了您的问题,请将其标记为已回答。我是否可以从User2架构中的User1(用户创建表)撤消所有权限?请将其与User2(所有者)一起启用。如果希望User1在User2中不具有任何权限,请从User2撤消User1的所有权限。您不能撤消架构所有者的任何特权。