Oracle DBA 权限是否包括“CREATE ANY TABLE”? 角色?
我只需要在同一数据库下创建从用户到任何用户的表。 让我们考虑 3 个模式。
Schema_1、Schema_2 和 Schema_3。
模式 1 具有 DBA 权限。
是否可以从 Schema_1 中表到 Schema_2 或 Schema_3???
或者我们还需要给这个角色“创建任何表”?
I Just need to create table from a user to any user under the same DB.
letz consider 3 Schemas.
Schema_1,Schema_2 and Schema_3.
schema 1 had DBA Privilege.
Is it possible to table in SChema_2 or Schema_3 from Schema_1????
or we need to give this role "CREATE ANY TABLE" also ??
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
DBA 角色在典型安装中应该具有此权限 - 您可以通过以下方式查看拥有此权限的其他角色/用户:
select grantee from dba_sys_privs whereprivilege = 'CREATE ANY TABLE'
The DBA role should have this privilege in a typical installation - you can see other roles/users who have this by:
select grantee from dba_sys_privs where privilege = 'CREATE ANY TABLE'
正如 @dpbradly 所说,Oracle 为 DBA 角色提供的“开箱即用”权限包括“CREATE ANY TABLE”权限。 您可以使用以下查询来检查这一点(并查看授予此角色的所有系统权限):
Oracle 数据字典是您的朋友。
As @dpbradly states, Oracle "out of the box" privileges for the DBA role include the 'CREATE ANY TABLE' privilege. You can check this out with the following query (and see all the system privileges granted to this role as well):
The Oracle data dictionary is your friend.
好吧,让我们澄清一些事情
CREATE ANY TABLE
是系统权限而不是角色您可以通过简单地编写
GRANT DBA TO来授予任何用户DBA权限 带管理员选项;
话虽这么说,
schema_1
将能够在任何用户上创建表,因为他拥有CREATE ANY TABLE
权限创建表 hr.dbaMade_tab
(身份证号码,
名称 varchar2(20)
);
如果您 schema_1 授予
CREATE ANY TABLE
权限,那么 schema_2 和 schema_3 将能够在任何表中创建表。不要将 DBA 角色授予任何人。 创建新角色并赋予其必要的权限,并将该角色授予其他用户。 在您的情况下,schema_2 和 schema_3。 希望这会有所帮助。
Ok lets make some things clear
CREATE ANY TABLE
is system privilege not roleyou can grant any user DBA privileges by simply writing
GRANT DBA TO <USER_NAME> WITH ADMIN OPTION;
That being said,
schema_1
will be able to create table on any user as he haveCREATE ANY TABLE
privilegecreate table hr.dbaMade_tab
(id number,
name varchar2(20)
);
If you schema_1 grants
CREATE ANY TABLE
then schema_2 and schema_3 will be able to create table to any table.Do not grant DBA role to anyone. Make new role and give it necessary privileges and grant that role to other users. In your case schema_2 and schema_3. Hope that helps.