ITPub博客

首页 > 数字化转型 > ERP > Oracle中将一个用户的所有对象授权给另一个用户

Oracle中将一个用户的所有对象授权给另一个用户

ERP 作者:leodinas_kong 时间:2018-01-24 08:25:53 0 删除 编辑

  1. --首先是CPR账号
  2.     --授权表上的读写权限
  3.     select 'grant all on '||owner||'.'||table_name||' to hisuser;' from dba_tables
  4.     where owner = 'CPR';
  5.     
  6.     --授权视图上的读写权限
  7.     select 'grant all on '||owner||'.'||view_name||' to hisuser;' from dba_views
  8.     where owner = 'CPR';

  9.     --授权函数和存储过程的读写权限
  10.     select 'grant execute on '||owner||'.'||name||' to hisuser;' from dba_source
  11.     where owner = 'CPR' and type in ('PROCEDURE','FUNCTION','PACKAGE','PACKAGE BODY','TYPE BODY','TRIGGER','TYPE') ;

  12.     --授权序列的读写权限
  13.     select 'grant all on '||sequence_owner||'.'||sequence_name||' to hisuser;' from dba_sequences where sequence_owner = 'CPR' ;

  14.     --创建同义词
  15.     select 'create or replace public synonym '||synonym_name||' for '||table_owner||'.'||table_name||' ;' from dba_synonyms
  16.     where table_owner='CPR' ;
  17.     select 'create or replace public synonym '||view_name||' for '||owner||'.'||view_name||' ;' from dba_views
  18.     where owner = 'CPR' and (owner NOT LIKE '%$%' OR view_name NOT LIKE '%$%') ;

  19. --然后是system账号
  20.     --授权表上的读写权限
  21.     select 'grant all on '||owner||'.'||table_name||' to hisuser;' from dba_tables
  22.     where owner = 'SYSTEM' and table_name NOT LIKE '%$%';
  23.     
  24.     --授权视图上的读写权限
  25.     select 'grant all on '||owner||'.'||view_name||' to hisuser;' from dba_views
  26.     where owner = 'SYS';    

  27.     --授权函数和存储过程的读写权限
  28.     select DISTINCT 'grant execute on '||owner||'.'||name||' to hisuser;' from dba_source
  29.     where owner = 'SYS' and type in ('PROCEDURE','FUNCTION','PACKAGE','PACKAGE BODY','TYPE BODY','TRIGGER','TYPE') AND name NOT LIKE '%$%'

  30.     --授权序列的读写权限
  31.     select 'grant all on '||sequence_owner||'.'||sequence_name||' to hisuser;' from dba_sequences where sequence_owner = 'SYSTEM' AND sequence_name NOT LIKE '%$%';

  32.     --创建同义词
  33.     select 'create or replace public synonym '||synonym_name||' for '||table_owner||'.'||table_name||' ;' from dba_synonyms
  34.     where table_owner='SYS' and synonym_name NOT LIKE '%$%';
  35.     
  36.     select 'create or replace public synonym '||view_name||' for '||owner||'.'||view_name||' ;' from dba_views
  37.     where owner = 'SYS' and (owner NOT LIKE '%$%' OR view_name NOT LIKE '%$%') ;

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31401608/viewspace-2150476/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: dba_profiles
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2016-10-11

  • 博文量
    102
  • 访问量
    126816