如何复制ORACLE用户权限是很多人提到过的问题,下面就对复制ORACLE用户权限的方法作详细的分析介绍,如果您对ORACLE用户权限方面感兴趣的话,不妨一看。
解释:
如果要实现权限赋予表是ALL ,视图是SELECT其他是EXECUTE
- DECODE (object_type, 'TABLE', 'ALL', 'VIEW', 'SELECT', 'EXECUTE')
然后修改 EXECUTE IMMEDIATE 'grant' || rec.grant_type || 'on ' || rec.object_name || ' to ' || p_grantee;
1).logon as grantor, for instance USER1
2). run PL/SQL scripts:
- DECLARE
- p_grantee VARCHAR2(30):='ywxt_module_admin';
- BEGIN
- FOR rec IN (SELECT object_name, object_type
- , DECODE (object_type, 'TABLE', 'ALL', 'VIEW', 'SELECT', 'EXECUTE') grant_type FROM user_objects)
- LOOP
- BEGIN
- EXECUTE IMMEDIATE 'grant all on ' || rec.object_name || ' to ' || p_grantee;
- EXCEPTION
- WHEN OTHERS THEN
- DBMS_OUTPUT.PUT_LINE(SUBSTR (SQLERRM,1,240));
- END;
- END LOOP;
- END;
- /
以上就是复制ORACLE用户权限的方法介绍。
【编辑推荐】