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.
scheme2ddl give ability to filter undesirable information, separate DDL in different files, pretty format output.
Use link above or
wget https://dl.cloudsmith.io/public/qwazer/repo/maven/com/googlecode/scheme2ddl/2.4.4/scheme2ddl-2.4.4.jarJava 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 
- 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.