最新消息:

多个测试环境的表结构同步

Oracle admin 2759浏览 0评论

一个复杂系统往往会有几套开发测试环境,对于开发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 Service

Usage: 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的脚本准确性,还需要进行大量的测试及进一步的改进,下载试试吧。

Relative Posts:

转载请注明:爱开源 » 多个测试环境的表结构同步

您必须 登录 才能发表评论!