【问题标题】:How to grant permission for a user to all tables and sequences?如何授予用户对所有表和序列的权限?
【发布时间】:2015-07-15 08:49:42
【问题描述】:

如何授予用户对Oracle中所有表和序列的权限?

【问题讨论】:

    标签: oracle privileges


    【解决方案1】:

    表格:

    BEGIN
       FOR R IN (SELECT owner, table_name FROM all_tables WHERE owner='<<REPLACE_WITH_YOUR_SCHEMA>>') LOOP
          EXECUTE IMMEDIATE 'grant select on '||R.owner||'.'||R.table_name||' to <<REPLACE_WITH_USER>>';
       END LOOP;
    END;
    

    序列:

    BEGIN
       FOR R IN (SELECT sequence_owner, sequence_name FROM all_sequences WHERE sequence_owner='<<REPLACE_WITH_YOUR_SCHEMA>>') LOOP
          EXECUTE IMMEDIATE 'grant select on '||R.sequence_owner||'.'||R.sequence_name||' to <<REPLACE_WITH_USER>>';
       END LOOP;
    END;
    

    【讨论】:

      【解决方案2】:

      此查询可用于设置适当的系统权限。

       GRANT SELECT ANY TABLE TO SOMEUSERNAME;
       GRANT SELECT ANY SEQUENCE TO SOMEUSERNAME;
      

      更多信息可以在这里找到: https://docs.oracle.com/en/database/oracle/oracle-database/12.2/sqlrf/GRANT.html#GUID-20B4E2C0-A7F8-4BC8-A5E8-BE61BDC41AC3

      【讨论】:

        猜你喜欢
        • 2020-11-29
        • 1970-01-01
        • 2020-11-22
        • 1970-01-01
        • 1970-01-01
        • 2014-08-10
        • 2019-06-10
        • 1970-01-01
        • 2017-07-06
        相关资源
        最近更新 更多