ocidiff助力51job日常维护

    比较两个环境, 比如测试A和测试B, 或测试环境和正式环境之间的表结构差异, 是件很麻烦的事, 如果有成千上百的表, 可能会相当地耗时, 花个一两天也是有的. 正是因为不想花这么长的时间去做麻烦的事, 就偷懒地写了ocidiff这个表结构比较和自动同步程序.

    一位51job的DBA朋友正好面临同样的问题, 我就推荐了这个程序给他. 早上正式使用后, 回馈说程序运行相当的快速和准确, 几分钟内完成手工几个小时才能完成的事, 并给出可读性很好很清晰的比较报告, 因此决定作为正式工具在公司内部使用, 以大大的减少了DBA在这类琐事上无谓的时间消耗. 每年年初他们网站的流都要上升个几倍, 因此需要花更多的时间面对负荷的上升, 就不能花太多的时间在手工比较表结构这种事上面. 这个角本再加上良好的SQL编写习惯, 可以防止某些低级错误.

    这个工具是命令行的OCI程序, 做成命令行是为了更适合在OS上进行作业调度, 这一点虽不为大众所喜欢, 但却是很实用的. 这是一个三年前开发的工具, 已经成熟稳重了, 并且和人工处理相比, 它的结果更加准确. ocidiff是点对点的比较, 另一个工具(Compare Any Column)则可以进行多点之间的比较, 比较方式更加灵活.

    作为一个很偷懒的DBA, 有好几个用来偷懒的角本. 不偷懒的DBA不是好DBA, 不是指不做事的, 是指在做事中相办法偷时间的.

留言 (6)

看看这篇,提到你的AUL了
http://www.oracle-internals.com/?p=17

偷懒也是一种进步的方式!

我一般都是使用toad或者pl/sql developer,不过,是D版地:(

从没有用过Toad来比较两个用户下的表结构异同,它生成的报告是如何的?

写个shell角本,采用sdiff来比较,非常方便!

logzgh, 建议先试用一下ocidiff后在评论sdiff的方便性。

发表留言:

« Previous | Main | Next »

英语900句 | English 900

  • When do you get up everyday?
  • 每天你几点起床?
  • I usually get up at 8 o'clock.
  • 我通常8点起床.
  • Where do you have your lunch?
  • 你在哪儿吃午饭?
  • I have my lunch in a snack bar nearby.
  • 我在附近一家快餐店吃午饭.
  • What did you have for lunch?
  • 你中午吃些什么?