首页 文章

自动Oracle模式迁移工具[关闭]

提问于
浏览
7

有哪些工具(商业或OSS)提供基于GUI的机制来创建架构升级脚本?需要说明的是,以下是工具职责:

  • 获取与最近架构版本(称为"source")的连接 .

  • 获取与先前架构版本(称为"target")的连接 .

  • 比较源和目标之间的所有架构对象 .

  • 创建脚本以使目标模式等效于源模式("upgrade script") .

  • 创建回滚脚本以还原源模式,如果升级脚本失败(在任何时候),则使用该模式 .

  • 为架构对象创建单个文件 .

该软件必须:

  • 对重命名的列使用ALTER TABLE而不是DROP和CREATE .

  • 使用Oracle 10g或更高版本 .

  • 创建可以批量执行的脚本(通过命令行) .

  • 琐碎的安装过程 .

  • (Bonus)创建可以使用SQL * Plus执行的脚本 .

以下是一些示例(来自StackOverflow,ServerFault和Google搜索):

不符合标准或无法评估的软件包括:

  • TOAD

  • PL/SQL Developer - 无效的SQL * Plus语句 . 不生成ALTER语句 .

  • SQL Fairy - 没有安装程序 . 复杂的安装过程 . 记录不完整 .

  • DBDiff - 残缺的数据集评估,糟糕的客户支持 .

  • OrbitDB - 残缺数据集评估 .

  • SchemaCrawler - 没有易于识别的Oracle数据库下载版本 .

  • SQL Compare - SQL Server,而不是Oracle .

  • LiquiBase - 需要更改开发过程 . 没有安装人员手动编辑配置文件 . 无法识别自己的baseUrl参数 .

评估版本唯一可接受的瘫痪是时间 . 通过限制表和视图的数量来削弱可能的错误,这些错误仅在尝试迁移数百个表和视图期间在软件中可见 .

5 回答

  • 2

    Schema Compare for Oracle 应符合您的要求 . 这可以在这里下载:

    http://www.red-gate.com/products/schema_compare_for_oracle/index.htm

  • 2

    我不认为SQLDeveloper是可行的方法 . 它非常适合在不同数据库之间迁移,而不是对数据模型的增量更改 .

  • 5

    你有没有看过official tool(更多meta link)?叫Oracle Migration Workbench .

  • 0

    Toad for Oracle 使用DBA模块完成所有这些操作,但回滚脚本除外 .

  • 0

    cx_OracleTools

    如果您不介意面向命令行的工具,那么这个开源软件包将满足您的需求,但生成回滚脚本除外 .

    ExportObjects [选项]

    将模式中的所有对象导出为一组目录,这些目录以包含一组以对象本身命名的文件的对象类型命名 .

    GeneratePatch [选项] FROMDIR TODIR

    为两个目录(可能是使用ExportObjects创建)中的对象的差异生成补丁,并确保可以执行补丁脚本,而不必担心由于对象之间的依赖性而遇到错误 .

    http://cx-oracletools.sourceforge.net/

相关问题