SQL Compare-Like tool for Oracle? [closed]

2019-04-21 20:13发布

问题:

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.

回答1:

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!



回答2:

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.



回答3:

OraPowerTools will do the job.
There is also a "Diff Wizard" in Oracle SQL Developer, but I haven't used it yet.



回答4:

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.



回答5:

Mark - I would like to be able to easily synchronize two database schemas. Specifically, this demo looks like heaven to me.



回答6:

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



回答7:

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