• 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权限

  • 相关阅读:
    Ms.office2010安装教程
    Hadoop开发第3期---Hadoop的伪分布式安装
    Linux随笔---tar命令
    Hadoop开发第2期---虚拟机中搭建Linux
    appium(8)-locator strategies
    appium(7)-Automating mobile gestures
    appium(3)-Running Tests
    appium(4)-Automating mobile web apps
    appium(5)-Appium capabilities
    appium(2)-Setting up Appium
  • 原文地址:https://www.cnblogs.com/hanmk/p/9815912.html
Copyright © 2020-2023  润新知