Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> ANNOUNCE:: DDL::Oracle v1.00

ANNOUNCE:: DDL::Oracle v1.00

From: Richard Sutherland <rvsutherland_at_yahoo.com>
Date: Sat, 27 Jan 2001 19:40:46 -0500
Message-ID: <t76q9feafe9af2@corp.supernews.com>


                   Release of DDL::Oracle, Version 1.00

===========================================================================

CHANGES Added support for the following Oracle8i features:

    Indexes using the COMPRESSION attribute     Indexes using column(s) with the DESCending attribute     Indexes using column(s) based on FUNCTIONS

Adapted defrag.pl to handle tablespaces having no tables (indexes only)

DESCRIPTION Designed for Oracle DBA's and users, for Oracle versions 7.3, 8.0 and 8i. Reverse engineers database objects (tables, indexes, users, profiles, tablespaces, roles, constraints, etc.). Generates DDL to *resize* tables and indexes to the provided standard or to a user defined standard. Can reorganize/defragment tablespaces.

SYNOPSIS use DBI;
use DDL::Oracle;

my $dbh = DBI->connect(

                        "dbi:Oracle:dbname",
                        "username",
                        "password",
                        {
                         PrintError => 0,
                         RaiseError => 1
                        }
                      );

# Use default resizing and schema options. # query default DBA_xxx tables (could use USER_xxx for non-DBA types) DDL::Oracle->configure(

                        dbh    => $dbh,
                      );

# Create a list of one or more objects
my $sth = $dbh->prepare(

       "SELECT
               owner
             , name
        FROM
               dba_tables
        WHERE
               tablespace_name = 'MY_TBLSP'    -- your millage may vary
       "

    );
$sth->execute;
my $list = $sth->fetchall_arrayref;

my $obj = DDL::Oracle->new(

                            type  => "table",
                            list  => $list,                          );
                          );

my $ddl = $obj->create;      # or $obj->resize;  or $obj->drop;  etc.

print $ddl; # Use STDOUT so user can redirect  to desired file.

AUTHOR Richard V. Sutherland
rvsutherland_at_yahoo.com

COPYRIGHT Copyright (c) 2000, 2001 Richard V. Sutherland. All rights reserved. This module is free software. It may be used, redistributed, and/or modified under the same terms as Perl itself. See:

    http://www.perl.com/perl/misc/Artistic.html


                       AVAILABILITY

===========================================================================

DDL::Oracle is available from the CPAN, and from:

    http://sourceforge.net/projects/ddl-oracle/ Received on Sat Jan 27 2001 - 18:40:46 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US