qwazer / scheme2ddl

Command line util for export oracle schema to set of ddl scripts
82 stars 47 forks source link
ddl export-oracle-schema oracle oracle-db

Latest version of 'scheme2ddl' @ Cloudsmith   Build Status   Coverage Status

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

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?

  1. First, get list of all user_object to export
select * from user_objects
  1. then applying dbms_metadata.set_transform_param
  2. for every user object invoke dbms_metadata.get_ddl and dbms_metadata.get_dependent_ddl
  3. print every ddl to separate file grouped in folders like tables, views, procedures etc

scheme2ddl build on top of spring-batch framework.