scheme2ddl
scheme2ddl copied to clipboard
Command line util for export oracle schema to set of ddl scripts
scheme2ddl is command line util for export oracle schema to set of ddl scripts. Provide a lot of configurations via basic command line options or advanced XML configuartion.
scheme2ddl is part of oracle-ddl2svn project.
Benefits
scheme2ddl give ability to filter undesirable information, separate DDL in different files, pretty format output.
Download
Use link above or
wget https://dl.cloudsmith.io/public/qwazer/repo/maven/com/googlecode/scheme2ddl/2.4.4/scheme2ddl-2.4.4.jar
How to start with minimal configuration
Java must be installed on your computer.
For exporting oracle scheme you must provide
- DB connection string
- output directory
Usage example. Command
java -jar scheme2ddl.jar -url scott/tiger@localhost:1521:ORCL -o C:/temp/oracle-ddl2svn/
will produce directory tree
views/
view1.sql
view2.sql
tables/
table1.sql
functions
/f1.sql
More command line options
java -jar scheme2ddl.jar -help
...
Options:
-help, -h print this message
-url, DB connection URL
example: scott/tiger@localhost:1521:ORCL
-o, --output, output dir
-p, --parallel, number of parallel thread (default 4)
-s, --schemas, a comma separated list of schemas for processing
(works only if connected to oracle as sysdba)
-c, --config, path to scheme2ddl config file (xml)
-f, --filter, filter for specific DDL objects
every LIKE wildcard can be used
-tf, --type-filter, filter for specific DDL object types
-tfm, --type-filtermode, mode for type filter: include(default) or exclude
--stop-on-warning, stop on getting DDL error (skip by default)
-rsv, replace actual sequence values with 1
--replace-sequence-values,
-tc,--test-connection, test db connection available
-version, print version info and exit
On Unix platform you can run scheme2ddl.jar as executable file:
chmod +x scheme2ddl.jar
./scheme2ddl.jar
How it is work inside?
- First, get list of all user_object to export
select * from user_objects
- then applying dbms_metadata.set_transform_param
- for every user object invoke dbms_metadata.get_ddl and dbms_metadata.get_dependent_ddl
- print every ddl to separate file grouped in folders like tables, views, procedures etc
scheme2ddl build on top of spring-batch framework.