是否可以使用来自其他数据库的包创建包或替换本地数据库中的现有包,而无需从远程数据库中导出它?
基本上我有两个环境/服务器(DEV和QA)。
使用开发环境的开发人员使用开发环境,我想使用DEV中的包来更新QA环境中的相同包(忽略任何可能的问题,例如编译失败等)。
是否可以使用Dev中的软件包作为源来频繁更新QA中的软件包(而不是从.sql文件编译)?也许数据库链接?
答案 0 :(得分:5)
是的,您可以在目标系统上创建一个进程,该进程使用远程系统上的DBMS_METADATA包来获取所需包规范和正文的DDL,然后在本地系统上使用动态SQL编译提取的代码。
或者,您可以使用Oracle的SQL Developer等工具来迁移代码。使用数据库差异功能来检测差异并准备适当的DDL脚本,或使用推车功能来挑选和选择要迁移的内容。但是,我不确定SQL Developer方法的自动化程度如何。