因为工作中测试环境和开发环境是分开的,所以开发有时处理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:如何创建一个只有查看权限的用户的更多相关文章

  1. MySQL创建一个具有root权限的用户

    grant all privileges on *.* to 'user'@'host' identified by 'password' WITH GRANT OPTION MAX_QUERIES_ ...

  2. 管理员技术(四): 配置NTP网络时间客户端、 创建一个备份包、 配置用户和组账号、配置一个cron任务

    一. 配置NTP网络时间客户端 目标: 本例要求配置虚拟机 server0,能够自动校对系统时间.相关信息如下: 1> NTP服务器位于 classroom.example.com        ...

  3. 给新创建的用户 赋予所有的权利 *.* 查看权限 删除用户 ---------DCL用户权限管理篇

    第一步:进入数据库以后,先用 show databases; 再use mysql;    再 show tables;    再 select user,host from mysql.user; ...

  4. Oracle 12c 创建新的数据库实例、用户

    前提:安装好了Oracle 12c数据库,已有一个数据库实例xe,登录用户/密码:system/oralce 我用的是docker安装的Oracle 12c的实例: docker run --name ...

  5. oracle中创建一个用户,只能查看指定的视图,如何授权,创建别名

    1.create user A identified by Apassword,创建用户,用户名是A,密码是Apassword2.grant connect to A --授予connect权限3.g ...

  6. (转载)如何创建一个以管理员权限运行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 ...

  7. kubernetes实战篇之创建一个只读权限的用户

    系列目录 上一节我们讲解到了如何限制用户访问dashboard的权限,这节我们讲解一个案例:如何创建一个只读权限的用户. 虽然可以根据实际情况灵活创建各种权限用户,但是实际生产环境中往往只需要两个就行 ...

  8. 《Oracle Database 12c DBA指南》第二章 - 安装Oracle和创建数据库(2.2 安装数据库软件)

    当前关于12c的中文资料比较少,本人将关于DBA的一部分官方文档翻译为中文,很多地方为了帮助中国网友看懂文章,没有按照原文句式翻译,翻译不足之处难免,望多多指正. 2.2 安装数据库软件 这部分简短讲 ...

  9. 《Oracle Database 12c DBA指南》第二章 - 安装Oracle和创建数据库(2.1 安装Oracle数据库软件和创建数据库概览)

    当前关于12c的中文资料比较少,本人将关于DBA的一部分官方文档翻译为中文,很多地方为了帮助中国网友看懂文章,没有按照原文句式翻译,翻译不足之处难免,望多多指正. 2.1 安装Oracle数据库软件和 ...

随机推荐

  1. Magnum Kubernetes源码分析(二)

    Kubernetes Master Stack kubernetes master的stack的resources主要分为三个部分. master wait handle wait handle主要用 ...

  2. 简单的MVC与SQL Server Express LocalDB

    M模式: 类,表示数据的应用程序和使用验证逻辑以强制实施针对这些数据的业务规则. V视图: 应用程序使用动态生成 HTML 响应的模板文件. C控制器: 处理传入的浏览器请求的类中检索模型数据,然后指 ...

  3. matlab练习程序(k-means聚类)

    聚类算法,不是分类算法. 分类算法是给一个数据,然后判断这个数据属于已分好的类中的具体哪一类. 聚类算法是给一大堆原始数据,然后通过算法将其中具有相似特征的数据聚为一类. 这里的k-means聚类,是 ...

  4. 重要, 要播放音乐视频等多媒体: 安装fedora23中的多媒体编码器

    区分: 大多数用户和高级用户? 删除 dnf remove software-name 启动软件管理器: gnome-software. 要删除系统 "自带的" 软件, 如empt ...

  5. 如何卸载旧版本的dotnet core

    How to remove the .NET Core Runtime and SDK https://docs.microsoft.com/en-us/dotnet/core/versions/re ...

  6. Ubuntu yindaoxiufu 引导修复(Boot Repair)

    Ubuntu yindaoxiufu 引导修复(Boot Repair)   from: http://blog.csdn.net/piaocoder/article/details/50589667 ...

  7. (zhuan) Recurrent Neural Network

    Recurrent Neural Network 2016年07月01日  Deep learning  Deep learning 字数:24235   this blog from: http:/ ...

  8. Nand flash code

    (1)流水灯   1>我们来看原理图                                2>datasheet                             3> ...

  9. algorithm.sty not found error in LaTeX 解决方法

    参考: algorithm.sty not found error in LaTeX algorithm.sty not found error in LaTeX 解决方法 错误日志: LaTeX E ...

  10. Lintcode241-String to Integer - Naive

    Given a string, convert it to an integer. You may assume the string is a valid integer number that c ...