zoukankan      html  css  js  c++  java
  • Oracle赋予用户查询另一个用户所有表的权限

    用户:UserA,UserB

    场景:用户UserA只有用户UserB指定表的查询权限。

    解决方案:

    1.给他一些权限,包括连接权限,因为他要创建同义词,还需要给他同义词

    grant connect to UserA;
    grant create synonym to UserA;
    grant create session to UserA;

    2.因为需要把UserB的所有表的查询权限给UserA。所以需要所有表的grant select on table_name to UserA语句,不可能一句一句去写,因此用select 吧所有的grant语句查出来直接执行

    select 'grant select on '||owner||'.'||object_name||' to UserA;'
    from dba_objects
    where owner in ('UserB')
    and object_type='TABLE';

    把所有结果复制出来,在UserB 下执行一遍

    grant select on UserB.Table1 to UserA;

    grant select on UserB.Table2 to UserA;

    grant select on UserB.Table3 to UserA;

    3.需要给UserB用户下所有表创建同义词,但是考虑到之前已经创建过一些表的同义词,因此把所有创建同义词的语句select出来在UserA用户下执行。

    SELECT 'create or replace SYNONYM UserA. ' || object_name|| ' FOR ' || owner || '.' || object_name|| ';'
    from dba_objects
    where owner in ('UserB')
    and object_type='TABLE';

    把所有结果复制出来登录UserA用户执行

    create or replace SYNONYM  UserA. T_KDXF_ACCOUNT FOR UserB.Table1 ;

    create or replace SYNONYM  UserA. T_KDXF_ACCOUNT FOR UserB.Table2 ;

    create or replace SYNONYM  UserA. T_KDXF_ACCOUNT FOR UserB.Table3 ;

  • 相关阅读:
    C/C++中volatile关键字详解(转)
    Spring中 @Autowired标签与 @Resource标签 的区别(转)
    [转]各种互斥量的总结
    nginx限制ip访问(转)
    HDU 4833 Best Financing (DP)
    HDU 4832 Chess (DP)
    HDU 4831 Scenic Popularity
    POJ 2155 Matrix (二维线段树)
    POJ 2155 Matrix (二维树状数组)
    HDU 4819 Mosaic (二维线段树)
  • 原文地址:https://www.cnblogs.com/qianj/p/13578227.html
Copyright © 2011-2022 走看看