有哪些工具(商业或OSS)提供基于GUI的机制来创建架构升级脚本?需要说明的是,以下是工具职责:
-
获取与最近架构版本(称为"source")的连接 .
-
获取与先前架构版本(称为"target")的连接 .
-
比较源和目标之间的所有架构对象 .
-
创建脚本以使目标模式等效于源模式("upgrade script") .
-
创建回滚脚本以还原源模式,如果升级脚本失败(在任何时候),则使用该模式 .
-
为架构对象创建单个文件 .
该软件必须:
-
对重命名的列使用ALTER TABLE而不是DROP和CREATE .
-
使用Oracle 10g或更高版本 .
-
创建可以批量执行的脚本(通过命令行) .
-
琐碎的安装过程 .
-
(Bonus)创建可以使用SQL * Plus执行的脚本 .
以下是一些示例(来自StackOverflow,ServerFault和Google搜索):
不符合标准或无法评估的软件包括:
-
PL/SQL Developer - 无效的SQL * Plus语句 . 不生成ALTER语句 .
-
SQL Fairy - 没有安装程序 . 复杂的安装过程 . 记录不完整 .
-
DBDiff - 残缺的数据集评估,糟糕的客户支持 .
-
OrbitDB - 残缺数据集评估 .
-
SchemaCrawler - 没有易于识别的Oracle数据库下载版本 .
-
SQL Compare - SQL Server,而不是Oracle .
-
LiquiBase - 需要更改开发过程 . 没有安装人员手动编辑配置文件 . 无法识别自己的baseUrl参数 .
评估版本唯一可接受的瘫痪是时间 . 通过限制表和视图的数量来削弱可能的错误,这些错误仅在尝试迁移数百个表和视图期间在软件中可见 .
5 回答
Schema Compare for Oracle 应符合您的要求 . 这可以在这里下载:
http://www.red-gate.com/products/schema_compare_for_oracle/index.htm
我不认为SQLDeveloper是可行的方法 . 它非常适合在不同数据库之间迁移,而不是对数据模型的增量更改 .
你有没有看过official tool(更多meta link)?叫Oracle Migration Workbench .
Toad for Oracle 使用DBA模块完成所有这些操作,但回滚脚本除外 .
cx_OracleTools
如果您不介意面向命令行的工具,那么这个开源软件包将满足您的需求,但生成回滚脚本除外 .
ExportObjects [选项]
GeneratePatch [选项] FROMDIR TODIR
http://cx-oracletools.sourceforge.net/