Oracle 的 SQL 比较类工具?
我们是一个 .NET 团队,使用 Oracle DB 的原因有很多,我不会详细介绍。 但部署却很糟糕。 我们通过记录开发过程中运行的所有脚本来手动跟踪每个版本中架构的所有更改。
现在,如果开发人员在运行脚本后忘记将其脚本签入源代码管理(这种情况并不罕见),那么在迭代结束时我们会感到非常头痛。
我听说 Red-Gate 的 SQL Compare 可能会解决此类问题,但它仅支持 SQL Server。 有人知道 Oracle 有类似的工具吗? 我一直找不到一个。
We're a .NET team which uses the Oracle DB for a lot of reasons that I won't get into. But deployment has been a bitch. We are manually keeping track of all the changes to the schema in each version, by keeping a record of all the scripts that we run during development.
Now, if a developer forgets to check-in his script to the source control after he ran it - which is not that rare - at the end of the iteration we get a great big headache.
I hear that SQL Compare by Red-Gate might solve these kind of issues, but it only has SQL Server support. Anybody knows of a similar tool for Oracle? I've been unable to find one.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
Red Gate Schema Compare for Oracle 现已发布!
http://www.red-gate.com/products/schema_compare_for_oracle/index.html htm
有 28 天全功能免费试用。 请尝试一下并让我们知道您的反馈!
Red Gate Schema Compare for Oracle has now been released!
http://www.red-gate.com/products/schema_compare_for_oracle/index.htm
There is a 28-day fully functional free trial. Please give it a go and let us know your feedback!
TOAD 是一个很棒的 Oracle 开发通用工具,我认为基本版本中也有类似的功能。 您可以下载试用版(确保您没有获得 TOAD 的旧免费版本,大约有 4 年的历史)
如果您不想购买工具,并且需要较少的闪存,您可以自己推出很容易。 我刚刚发现 Oracle 的架构比较工具 它看起来非常简单,并且有一个很好的基线概念。 如果您想跟踪自上次代码签入以来的更改,这非常方便。 通过这种方式,您可以发现可能已手动对多个数据库进行但未记录的更改。
PS:“Red-Gate 的 SQL Compare”演示看起来确实非常好...但是配音让我笑了...听起来像 BBC 纪录片。
TOAD is a great generic tool for Oracle development and i think a similar feature is in the basic version. You can download a trial version (make sure you don't get the old free version of TOAD, that is about 4 years old)
If you don't want to buy a tool, and you need something less flash you could roll your own quite easily. I just found Schema Compare Tool for Oracle which looks very simple, and has a nice baseline concept. This is very handy if you want to track changes since the last code check-in. This way you discover changes that may have been made to multiple DBs by hand, but not documented.
PS: The "SQL Compare by Red-Gate" demo looked very nice indeed... however the voice over cracked me up... sounded like a BBC documentary.
您可以使用各种工具,但我自己没有使用过其中任何一个,因此我对它们没有任何评论,但是您可以使用的另一个“技巧”是在 DDL 事件上创建触发器,因此您基本上可以捕获(到表、日志文件或其他任何内容)部署之间所做的任何更改。
DDL 触发器
There are various tools out there that you can use, I haven't used any of them myself though so I've got no comments to make about them, but another "trick" that you can use is to create a trigger on DDL events, so you can basically capture (to a table, or log file or whatver) any changes done between deployments.
DDL Triggers
马克 - 我希望能够轻松同步两个数据库模式。 具体来说,这个演示对我来说就像天堂。
Mark - I would like to be able to easily synchronize two database schemas. Specifically, this demo looks like heaven to me.
查看 Oracle Enterprise Manager Change Management Pack,它是一个 Oracle 工具:
http://www.oracle.com/technology/products/oem/pdf/ds_change_pack.pdf
您可以在那里尝试:
http://www.oracle.com/technology/software/products/oem/index.html
Check out Oracle Enterprise Manager Change Management Pack, its an Oracle tool for this:
http://www.oracle.com/technology/products/oem/pdf/ds_change_pack.pdf
You can try it there:
http://www.oracle.com/technology/software/products/oem/index.html
OraPowerTools 可以完成这项工作。
Oracle SQL Developer 中还有一个“差异向导” ,但我还没用过。
OraPowerTools will do the job.
There is also a "Diff Wizard" in Oracle SQL Developer, but I haven't used it yet.
Hitchhiker,
如果您愿意花一些钱,TOAD 具有“比较模式”功能,应该可以满足您的需求。 它将报告差异并生成迁移脚本以使其中一个与另一个保持一致。
我从未使用过该脚本,所以我不能保证它,但我已经使用它来确保我们的构建脚本是完整的。
Hitchhiker,
If you're willing to spend some money, TOAD has "compare schemas" functionality which should do what you're after. It'll report the differences and produce a migration script to bring one into line with the other.
I've never used the script, so I can't vouch for it, but I have used it to make sure our build scripts are complete.