Well, a nice warm broth, maybe.
DDL::Oracle is advancing nicely, and is now considered usable by its author.
It includes the RESIZE method for both tables and indexes. It also includes all of the primary object types for the CREATE method, namely:
CONSTRAINT
DATABASE LINK
FUNCTION
INDEX
PACKAGE
PROCEDURE
PROFILE
ROLE
ROLLBACK SEGMENT
SEQUENCE
SYNONYM
TABLE
TABLESPACE
TRIGGER
TYPE
USER
VIEW
In addition, it includes the object type TABLE FAMILY, which produces the DDL to create the table(s) along with the(ir) Comments (table & column), Constraints, Indexes and Triggers all in one call to DDL::Oracle.
The DELETE method works for each of the above, plus a few more.
Release 0.16 also includes 2 new files which show useful ways of taking advantage of DDL::Oracle. [The "big" one -- defrag.pl -- will follow soon.]
The first is 'copy_user.pl', which prompts for two arguments -- a "template" existing user, and a list of "new" users to create. The DDL for each of the new users includes the CREATE USER statement, of course, plus all privileges of the template user -- roles, system privileges and object privileges. copy_user.pl includes an example of including an arbitrarily derived password, and substituting this for the template user's password.
The seconde file is 'copy_user.sh', a Unix shell script which calls copy_user.pl and automatically executes its output via SQL*Plus. This is an example of the advantage of being able to execute generated DDL in batch mode. That plus the list capability makes DDL::Oracle quite useful to DBA's, IMHO.