« 多个测试环境的表结构同步 »
Tools » http://www.anysql.net/tools/ocidiff-oracle-schema-auto-repair.html 2011-04-19一个复杂系统往往会有几套开发测试环境,对于开发DBA或测试环境DBA来讲,维护这些环境之间的同步是一个比较烦琐的事情。在2005年时,曾和当时的三个同事,花了足足三天时间来手工同步两个环境的表结构差异,最后促使我去开发一个表结构自动同步工具,现在是对那个工具的进一步升级。
– GetDDL: DDL Script Generator for Oracle, Release 3.0.1
– (@) Copyright Lou Fangxin (AnySQL.net) 2010, all rights reserved.
– Oracle Data Recovery, System Tuning and Monitoring and Tuning ServiceUsage: ocidiff fromuser=… touser=… file=…
Options:
fromuser — Source Connection String
fromschema — Source Schema to Switch
touser — Destination Connection String
toschema — Destination Schema to Swith
tstab — Tablespace for Tables
tsind — Tablespace for Indexes
sync — Sync List (ALL,SEQUENCE,TABLE,INDEX,VIEW,SOURCE,COMMENT)
file — Output Script File Name
log — SQL*Plus Spool log file name
auto — Automaticall call SQL*Plus to sync(YES)
上面的命令行选项,对于DBA来讲应当都比较容易理解,就不一个一个讲了。File和Log选项有一些特殊的设置,指定文件名时可以用%Y来表示年份,用%M来表示月份,同理用%D来表示日期,以便给自动同步工具留下足够的运行日志。
ocidiff …… file=scott_%%y%%m%%d.sql log=scott_%%y%%m%%d.log …
运行时加上”AUTO=YES”选项,会自动调用SQL*Plus连接到远程库上执行,执行后会留带日期的SQL和日志文件。
D:\ocidiff>dir /b scott_*
scott_20110419.log
scott_20110419.sql
对于生成的自动同步SQL的脚本准确性,还需要进行大量的测试及进一步的改进,下载试试吧。
Tags: Compare, Oracle, Table


有点难,看不懂,学习下
为什么不用ORACLE的高级复制或流复制达到同步?
TOAD也有数据库差异比较的功能,蛮实用的
真的这样就行了么
骨头软件工作室承接各种软件开发 有需要的和我联系QQ:867400 网站地址 http://www.baidu.com/s?wd=%B9%C7%CD%B7%C8%ED%BC%FE#
看了这篇文章,真的很激动,谢谢了
它支持mssql,mysql吗?
支持原创 拜读了