Purpose
oracreate prints the SQL of all objects in an Oracle database schema in a
way that can be used to recreate the schema (i.e. objects will be ordered so
that no errors happen for non-existant objects during script execution).
oracreate can also be used to actually recreate the schema.
Options
oracreate supports the following options:
connectstringAn Oracle connectstring.
-v,--verbose(false,no,0,true,yesor1)Produces output (on stderr) while the database is read or written.
-c,--color(yes,noorauto)Should the output (when the
-voption is used) be colored? Ifautois specified (the default) then the output is colored if stderr is a terminal.-s,--seqcopy(false,no,0,true,yesor1)Outputs
CREATE SEQUENCEstatements for the existing sequences that have the current value of the sequence as the starting value (otherwise the sequences will restart with their initial value).-x,--execute(connectstring)When the
-xargument is given the SQL script isn't printed on stdout but executed in the database specfied as the-xargument.-k,--keepjunk(false,no,0,true,yesor1)If true, database objects that have
$orSYS_EXPORT_SCHEMA_in their name will be skipped (otherwise these objects will be included).-i,--ignore(false,no,0,true,yesor1)If true, any exception that occurs while the database is read or written will be ignored.
--format(sqlorpysql)If
--executeis not given, this determines the output format: Plain SQL, or PySQL which can be piped intoll.pysql.--include(regexp)Only include objects in the output if their name contains the regular expression.
--exclude(regexp)Exclude objects from the output if their name contains the regular expression.
Examples
Print the content of the database schema user@db:
$ oracreate user/pwd@db >db.sql
Copy the database schema user@db to user2@db2:
$ oracreate user/pwd@db -x user2/pwd2@db2 -v