oramerge – Three-way merging of schemas
Purpose
oramerge can be used for merging the changes between two Oracle
database schemas into a third one. Depending on the existance/non-existance
of schema objects in the three schemas oramerge does the right thing.
If a schema objects exists in all three schemas, the external tool
merge3 will be used for creating a merged version of the object
(except for tables where the appropriate ALTER TABLE statements will be
output if possible).
Options
oramerge supports the following options:
- -v <flag>, --verbose <flag>
Produces output (on stderr) while the database is read or written. (Valid flag values are
false,no,0,true,yesor1)
- -c <mode>, --color <mode>
Should the output (when the
-voption is used) be colored? Ifautois specified (the default) then the output is colored if stderr is a terminal. Valid modes areyes,noorauto.
- -k <flag>, --keepjunk <flag>
If false (the default), database objects that have
$orSYS_EXPORT_SCHEMA_in their name will be skipped (otherwise these objects will be considered as merge candidates). (Valid flag values arefalse,no,0,true,yesor1)
- --thick <flag>
If true, use
oracledbs thick mode. (Valid flag values arefalse,no,0,true,yesor1)
- --config_dir <directory>
In
oracledbs thin mode, specify the directory that contains thetnsnames.orafile. This can be used if “Connect Descriptor Strings” fromtnsnames.oramust be used buttnsnames.oracan’t be found in its default location.
Example
Output a script that merges the changes between user@db and user2@db2
into user3@db3:
$ oramerge user/pwd@db user2/pwd2@db2 user3/pwd3@db3 -v >db.sql