Oracle:将角色从一个数据库复制到另一个数据库?

时间:2012-04-23 21:21:26

标签: oracle roles sqlplus

我想将一些角色从生产数据库复制到测试数据库。

如何以编程方式生成基于文本的SQLPLUS脚本来执行此操作?因为我只对角色感兴趣,所以我不想使用EXP / IMP。

1 个答案:

答案 0 :(得分:4)

DBMS_METADATA可能会有所帮助:http://www.orafaq.com/wiki/DBMS_METADATA

SELECT dbms_metadata.get_ddl('ROLE', role) FROM dba_roles;
SELECT dbms_metadata.get_granted_ddl('ROLE_GRANT',  '&&your_role_name') FROM dual;
SELECT dbms_metadata.get_granted_ddl('SYSTEM_GRANT','&&your_role_name') FROM dual;
SELECT dbms_metadata.get_granted_ddl('OBJECT_GRANT','&&your_role_name') FROM dual;