收回oracle下所有用户的权限
数据库中有近百的用户,不可能一个用户一个用户的收回权限吧,那么,在sys用户下怎么能一下子收回所有用户的权限呢,另外,我只授予所有用户insertupdateconnec...
数据库中有近百的用户,不可能一个用户一个用户的收回权限吧,那么,在sys用户下怎么能一下子收回所有用户的权限呢,另外,我只授予所有用户 insert update connect 权限 收回ddl权限 保留dml
展开
展开全部
我教你一种方法,运用拼字符串拼出脚本,比如下面这个
select 'revoke connect from '|| username||';' from dba_users;
你查询一下,结果显示为:
revoke connect from SYS;
revoke connect from SYSTEM;
revoke connect from TEST;
revoke connect from OUTLN;
revoke connect from MGMT_VIEW;
revoke connect from MDSYS;
revoke connect from ORDSYS;
把你查询出的结果复制出来运行,就批量撤销权限了,
当然因为不知道你的用户和你的具体权限。所以你进行适当的修改select 'revoke connect from '|| username||';' from dba_users;这条sql语句,然后运行,把结构查询出来执行就可以了
select 'revoke connect from '|| username||';' from dba_users;
你查询一下,结果显示为:
revoke connect from SYS;
revoke connect from SYSTEM;
revoke connect from TEST;
revoke connect from OUTLN;
revoke connect from MGMT_VIEW;
revoke connect from MDSYS;
revoke connect from ORDSYS;
把你查询出的结果复制出来运行,就批量撤销权限了,
当然因为不知道你的用户和你的具体权限。所以你进行适当的修改select 'revoke connect from '|| username||';' from dba_users;这条sql语句,然后运行,把结构查询出来执行就可以了
更多追问追答
追问
可以的 那么收回ddl 保留dml呢
追答
ddl具体看你都有哪些权限啊,一个用户下如果有10个ddl权限,那么你写10个sql语句,就把所有用户的权限都收回了,具体看你有什么权限,ddl权限并不是说就这么一个权限,它是一个逻辑概念,具体到线面有create table,create any table,create view,create any view等权限呢,要根据你的用户来些sql。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询