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