我想将一些角色从生产数据库复制到测试数据库。
如何以编程方式生成基于文本的SQLPLUS脚本来执行此操作?因为我只对角色感兴趣,所以我不想使用EXP / IMP。
答案 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;