Oracle:如何创建一个只有查看权限的用户
因为工作中测试环境和开发环境是分开的,所以开发有时处理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权限
Oracle:如何创建一个只有查看权限的用户的更多相关文章
- MySQL创建一个具有root权限的用户
grant all privileges on *.* to 'user'@'host' identified by 'password' WITH GRANT OPTION MAX_QUERIES_ ...
- 管理员技术(四): 配置NTP网络时间客户端、 创建一个备份包、 配置用户和组账号、配置一个cron任务
一. 配置NTP网络时间客户端 目标: 本例要求配置虚拟机 server0,能够自动校对系统时间.相关信息如下: 1> NTP服务器位于 classroom.example.com ...
- 给新创建的用户 赋予所有的权利 *.* 查看权限 删除用户 ---------DCL用户权限管理篇
第一步:进入数据库以后,先用 show databases; 再use mysql; 再 show tables; 再 select user,host from mysql.user; ...
- Oracle 12c 创建新的数据库实例、用户
前提:安装好了Oracle 12c数据库,已有一个数据库实例xe,登录用户/密码:system/oralce 我用的是docker安装的Oracle 12c的实例: docker run --name ...
- oracle中创建一个用户,只能查看指定的视图,如何授权,创建别名
1.create user A identified by Apassword,创建用户,用户名是A,密码是Apassword2.grant connect to A --授予connect权限3.g ...
- (转载)如何创建一个以管理员权限运行exe 的快捷方式? How To Create a Shortcut That Lets a Standard User Run An Application as Administrator
How To Create a Shortcut That Lets a Standard User Run An Application as Administrator by Chris Hoff ...
- kubernetes实战篇之创建一个只读权限的用户
系列目录 上一节我们讲解到了如何限制用户访问dashboard的权限,这节我们讲解一个案例:如何创建一个只读权限的用户. 虽然可以根据实际情况灵活创建各种权限用户,但是实际生产环境中往往只需要两个就行 ...
- 《Oracle Database 12c DBA指南》第二章 - 安装Oracle和创建数据库(2.2 安装数据库软件)
当前关于12c的中文资料比较少,本人将关于DBA的一部分官方文档翻译为中文,很多地方为了帮助中国网友看懂文章,没有按照原文句式翻译,翻译不足之处难免,望多多指正. 2.2 安装数据库软件 这部分简短讲 ...
- 《Oracle Database 12c DBA指南》第二章 - 安装Oracle和创建数据库(2.1 安装Oracle数据库软件和创建数据库概览)
当前关于12c的中文资料比较少,本人将关于DBA的一部分官方文档翻译为中文,很多地方为了帮助中国网友看懂文章,没有按照原文句式翻译,翻译不足之处难免,望多多指正. 2.1 安装Oracle数据库软件和 ...
随机推荐
- SSL及其加密通信过程
SSL及其加密通信过程 什么是SSL SSL英文全称Secure Socket Layer,安全套接层,是一种为网络通信提供安全以及数据完整性的安全协议,它在传输层对网络进行加密.它主要是分为两层: ...
- 在android下使用i2c tools
在android使用i2c tools访问i2c,很方便,可以在https://launchpad.net/ubuntu/+source/i2c-tools 下载最新的i2c tools. 把i2c- ...
- ssh-copy-id命令解析
ssh-copy-id命令可以把本地主机的公钥复制到远程主机的authorized_keys文件上, ssh-copy-id命令也会给远程主机的用户主目录(home)和~/.ssh, 和~/.ssh/ ...
- Bootstrap3基础 list-inline 无序列表横向显示
内容 参数 OS Windows 10 x64 browser Firefox 65.0.2 framework Bootstrap 3.3.7 editor ...
- IP/子网掩码/网关/广播地址
判断两个IP是否处于同一子网(网段) 广播地址的作用是什么? 每天一个linux命令(52):ifconfig命令 什么是IP地址.子网掩码.路由和网关
- 1823: [JSOI2010]满汉全席 2-sat
链接 https://www.lydsy.com/JudgeOnline/problem.php?id=1823 思路 建图,缩点tarjan 判断impossible 代码 #include < ...
- 2018年第九届蓝桥杯B组题C++汇总解析-fishers
2018年第九届蓝桥杯B组题C++解析-fishers 题型 第一题:第几天 第二题:明码 第三题:乘积尾零 第四题:测试次数 第五题:快速排序 第六题:递增三元组 第七题:螺旋折线 第八题:日志统计 ...
- CodeForces 509C Sums of Digits(贪心乱搞)题解
题意:a是严格递增数列,bi是ai每一位的和,告诉你b1~bn,问你怎样搞才能让an最小 思路:让ai刚好大于ai-1弄出来的an最小.所以直接模拟贪心,如果当前位和前一个数的当前位一样并且后面还能生 ...
- Jenkins serving Cake: our recipe for Windows
https://novemberfive.co/blog/windows-jenkins-cake-tutorial/ Where we started, or: why Cake took the ...
- js动画(速度)
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta ht ...