授予用户对 Oracle 中所有其他用户对象的所有权限

mig*_*res 1 oracle permissions

我想知道如何向用户授予对 oracle 中所有其他用户对象的所有权限。问候和非常感谢

EdS*_*ens 6

哪些特权?当然,它们是通过使用适当的 GRANT 命令授予的,但我怀疑这不是您要问的。您可以使用 ANY 选项(如 GRANT SELECT ANY TABLE ...),但我强烈建议不要使用它,因为它违反了授予必要最小权限的原则。我怀疑你真正需要的是这样的:

set echo off feedback off header off pagesize 0
spool doit.sql
select 'grant select on table '||table_name||' to someuser;'
from dba_tables
where <whatever condition to filter the list of tables>
;
spool off
Run Code Online (Sandbox Code Playgroud)

然后对假脱机文件“doit.sql”进行完整性检查,根据需要进行编辑,然后执行它。有些人使用 PL/SQL 循环一次性完成所有操作,但我宁愿先捕获命令并能够对其进行完整性检查。