cx_OracleTools 8.0

Anthony Tuininga anthony.tuininga at
Fri Sep 10 06:37:46 CEST 2010

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?

What's new?

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

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 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)

Anthony Tuininga

More information about the Python-announce-list mailing list