What is cx_OracleTools?
cx_OracleTools is a set of Python scripts that handle Oracle database development tasks in a cross platform manner and improve (in my opinion) on the tools that are available by default in an Oracle client installation. Those who use cx_Oracle may also be interested in this project, if only as sample code. Binaries for Windows and Linux are provided for those who do not have a Python installation.
Where do I get it?
1) In DescribeObject, added option --show-synonyms which enables display of synonyms that reference the object. The default value for this option is false.
2) In DescribeObject, DescribeSchema, ExportObjects and RebuildTable, added support for Oracle context objects.
3) In DescribeSchema, ExportObjects and RecompileSource, added option --name-file which acts in the same fashion as the --name option except that the value of the option refers to a file containing a list of names, one name per line.
4) In DescribeObject, DescribeSchema and ExportObjects, added option --include-view-columns which enables specification of the column names when creating a view.
5) In DescribeObject and DescribeSchema added support for eliminating the quotas on tablespaces when generating create user statements.
6) In DescribeObject, DescribeSchema and ExportObjects, added options --as-of-timestamp and --as-of-scn which enable flashback queries when performing describes. This can be very useful for recovering those accidentally issued DDL commands!
7) In DumpCSV, make use of the builtin module csv and the standard option --schema; in addition, allow the file name to be specified as "-" or not at all in which case the output goes to stdout.
8) In DumpData, added support for dumping CLOB, BLOB and binary data values correctly. A commit statement is also appended to the output now as a convenience.
9) In ExportXML, added option --sort-by which allows the result set to be sorted before exporting. In addition, the source can be a query instead of simply a table name.
10) In GeneratePatch, switch to the new more intelligent parser.
11) In ImportXML, now use cElementTree rather than home-grown XML processing library.
12) In RebuildTable, removed SQL*Plus specific statements since by default connect statements are issued which only works properly with PatchDB.
13) In RecompileSource, added option --connect-as-owner and removed option --password. The new option specifies that when invalid objects are recompiled that a connection to the owner of the invalid object is established using the password of the current connection. The default value is false since this is an uncommon situation and is retained at all for support of product development at Computronix.
14) Replaced CompileSource with PatchDB which uses a much more advanced parser and is setup to handle additional commands besides executing SQL scripts.
15) Added setup.py for building with cx_Freeze which means that MSI packages for Windows and RPM packages for Linux are now available.
16) Other changes required to keep up with changes in Python, dependent libraries and Oracle (including up to Oracle 11.2)