Oracle:创建一个只有查看权限的用户
发布时间:2020-12-12 13:43:07 所属栏目:百科 来源:网络整理
导读:因为工作中测试环境和开发环境是分开的,所以开发有时处理bug时需要连接测试数据库,这样出现一个问题是有些开发会为了验证某些问题任意改动数据库的表和字段,对测试库造成污染。为了能够让开发连接测试环境,同时又不污染测试库,可以给其提供一个只有查看
1.首先登陆sys用户,创建一个账号,并赋予连接权限create user test_cx identified by 11; grant connect to test_cx;
2.设置权限,使其能够查看base库的所有表登陆base库,然后执行如下语句,得到针对base库所有表的授权语句(授权给test_cx用户) select ‘grant select on base.‘ || table_name || ‘ to test_cx;‘ from user_tables;
3.在base库中执行查询得到的授权语句因为表有上千个,肯定不能一个一个执行,我这里用了一个比较笨的方法,就是把查询结果导出为sql文件如下 因为每个授权语句都被相同的insert语句包裹,可以通过把多余的部分替换为空格,只剩下grant语句,然后再执行这个sql文件就好了 替换后如下 4.执行上述sql文件即可5.检验(1)用test_cx账号登录,查看其权限 select * from session_privs;
(2)查询base库的一张表 (3)尝试修改base库的表 可以看到test_cx只有select权限 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ruby-on-rails-3.1 – Rails 3.1中的供应商CSS样式表和资产
- c – 发布模式出错,但未出现在构建模式下
- reactjs – 如何更改React Material UI上的Stepper颜色?
- ruby – 正则表达式,用于匹配捕获组中的前一个或后一个字母
- 让Sqlite3以GB2312编码存储汉字
- c – 如果存在依赖关系,编译器是否可以正确处理静态变量的初
- c# – Simple.Data ORM.多部分标识符无法绑定
- Flex builder 版本找不到LayoutDirection属性或者说没有定义
- c# – 在分支之间转换时构建错误:您的项目未引用“.NETFra
- c# – Linq多个查询