收回oracle下所有用户的权限

数据库中有近百的用户,不可能一个用户一个用户的收回权限吧,那么,在sys用户下怎么能一下子收回所有用户的权限呢,另外,我只授予所有用户insertupdateconnec... 数据库中有近百的用户,不可能一个用户一个用户的收回权限吧,那么,在sys用户下怎么能一下子收回所有用户的权限呢,另外,我只授予所有用户 insert update connect 权限 收回ddl权限 保留dml 展开
 我来答
yang_wling23c
推荐于2017-12-15 · TA获得超过547个赞
知道小有建树答主
回答量:200
采纳率:73%
帮助的人:64.4万
展开全部
我教你一种方法,运用拼字符串拼出脚本,比如下面这个

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。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式