zoukankan      html  css  js  c++  java
  • 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权限

  • 相关阅读:
    django4-模板进阶
    django3-视图函数进阶
    django1-web开发基础知识
    django2-登录与出版社
    django3-路由系统进阶
    web前端-bootstrap
    Java发送邮件--web.xml配置,Java代码配置
    yii框架美化访问路径,去掉index.php/?r=部分
    JAVA集合框架的特点及实现原理简介
    详解:Java字符串类型"switch"的底层原理
  • 原文地址:https://www.cnblogs.com/hanmk/p/9815912.html
Copyright © 2011-2022 走看看