zoukankan      html  css  js  c++  java
  • gen_grant_dml.sql

    set echo off feedback off verify off pagesize 0 linesize 120

    define v_grantee                = &1

    define v_grant_dml_command_file = .loggrant_dml_&v_grantee..sql

    define v_grant_dml_log_file     = .loggrant_dml_&v_grantee..log

    spool &v_grant_dml_command_file.
    prompt spool &v_grant_dml_log_file.
    prompt set echo on feedback on
    prompt show user
    select
      'grant select,insert,update,delete on ' || t.table_name || ' to &v_grantee;'
    from     user_tables t
    where not exists
      (select null
       from   user_tab_privs p
       where  p.owner      = user
       and    p.table_name = t.table_name
       and    p.grantee    = upper('&v_grantee'))
    and user != upper('&v_grantee')
    order by t.table_name
    /
    select
      'grant select on ' || v.view_name || ' to &v_grantee;'
    from     user_views v
    where not exists
      (select null
       from   user_tab_privs p
       where  p.owner      = user
       and    p.table_name = v.view_name
       and    p.grantee    = upper('&v_grantee'))
    and user != upper('&v_grantee')
    order by v.view_name
    /
    select
      'grant select on ' || s.sequence_name || ' to &v_grantee;'
    from     user_sequences s
    where not exists
      (select null
       from   user_tab_privs p
       where  p.owner      = user
       and    p.table_name = s.sequence_name
       and    p.grantee    = upper('&v_grantee'))
    and user != upper('&v_grantee')
    order by s.sequence_name
    /
    select
    'grant execute on ' || o.object_name || ' to &v_grantee;'
    from     user_objects o
    where object_type in ('PACKAGE')
    and   not exists
      (select null
       from   user_tab_privs p
       where  p.owner      = user
       and    p.table_name = o.object_name
       and    p.grantee    = upper('&v_grantee'))
    and user != upper('&v_grantee')
    order by o.object_name
    /
    prompt set echo off feedback off
    prompt spool off
    spool off

    @&v_grant_dml_command_file.

  • 相关阅读:
    面试再问ThreadLocal,别说你不会
    利用 Docker Compose 搭建 SpringBoot 运行环境(超详细步骤和分析)
    高并发场景下缓存处理的一些思路!
    利用Dockerfile部署SpringBoot项目
    [RH254] 1-运行级别
    [RH134] 12-系统启动
    [安全] HTTPS的理解
    [工具] Wireshark与相关的网络安全
    [Python自学] 爬虫(5)selenium
    [Python自学] 爬虫(4)xpath
  • 原文地址:https://www.cnblogs.com/feiyun8616/p/5897052.html
Copyright © 2011-2022 走看看