Jared,

> When 'Perl for Oracle DBA's' comes out...
Do you have an ETA on this? Are you going to put it up on SourceForge or the
like? 

Yours curiously,
Steve Orr


-----Original Message-----
Sent: Tuesday, September 18, 2001 10:20 AM
To: Multiple recipients of list ORACLE-L


 I'm looking for a Perl example passing parameters.
>
> The code below has the userids and passwords hardcoded in clear text in
the
> system line, parms 3 and 5 (five lines from the bottom), and the Oracle
sid
> is hardcoded also.  The code has to be changed to 1) read .pwd1 and .pwd2
> files containing the passwords, and set a literal for the SID and
> substitute it at in the code.

Linda,

Here's a cheap lightweight password server.

Put the files pwd.pm and pwd.pl into a directory
and try as is.

Follow the example of the template in pwd.pm and fill
in with your own wervers/instances/usernames.

Copy the file 'pwd.pm' to some secure location, and change
the line "use lib  './" to "use lib 'full_path_to_pwd.pm".

You can cut and paste pwd.pl into your code.

When 'Perl for Oracle DBA's' comes out ( or whatever we
eventually call it"  it will have a network password
server in it, with encrypted transmissions.

This one should suffice though.

Jared

PS. the power of Perl demonstrated. this took 30 minutes. :)

================================
==== pwd.pl ====================
#!/usr/bin/perl

use lib './';

use pwd;
use Getopt::Long;

my %optctl;

GetOptions( \%optctl,
        "username:s",
        "instance:s",
        "server:s",
        "z|h|help" => \$help
);

if ( $help ) {
        usage();
        exit 1;
}

$optctl{server} || do { usage();exit 2};
$optctl{instance} || do { usage();exit 3};
$optctl{username} || do { usage();exit 4};

my $password = pwd::password(
        $optctl{server},
        $optctl{instance},
        $optctl{username}
);

print "Password: $password\n";

sub usage {
        print qq{
pwd.pl
  --server
  --instance
  --username
};
}
hZ
================================
==== pwd.pm====================


package pwd;

$PKG = pwd;

=head1

stuff between '=head1' and '=cut' is comments

here's an example

my %passwd = (
        server => {
                instance => {
                        username => 'password',
                        username => 'password'
                }
        }
);

=cut

%passwd = (

        venus => {

                db1 => {
                        system => 'foxtrot',
                        sys => 'over_the_hedge'
                },

                db2 => {
                        system => 'user_friendly',
                        sys => 'gpf-comics'
                }

        },

        mars => {
                db1 => {
                        system => 'ubersoft',
                        sys => 'get_fuzzy'
                },

                db3 => {
                        system => 'schlock',
                        sys => 'mercenary'
                }

        }
);

sub password {
        my ( $server, $instance, $username ) = @_;
        use Carp;

        $server || croak "Please specify server in $PKG\n";
        $instance || croak "Please specify instance in $PKG\n";
        $username || croak "Please specify username in $PKG\n";

        $passwd{$server}{$instance}{$username};
        
}

-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: Orr, Steve
  INET: [EMAIL PROTECTED]

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).

Reply via email to