RE: connect to oracle database as sysdba form windows

From: Andy Hassall (andy_at_andyh.co.uk)
Date: 09/24/04


To: <pierre.henon@ccf.com>, <dbi-users@perl.org>
Date: Fri, 24 Sep 2004 21:26:56 +0100

Is the Unix user in the dba group?
Is the Oracle server local on Unix but remote from Windows, or vice versa,
or always remote, or always local?
Is the Windows user in the ORA_DBA group if it's local?
Have a look at the parameters to do with the password file - I think it's
the remote_password_file parameter on the database is the one to look at,
although that's just from memory, but should give a pointer where to look in
the Oracle docs.

-- 
Andy Hassall <andy@andyh.co.uk> / Space: disk usage analysis tool
<http://www.andyh.co.uk> / <http://www.andyhsoftware.co.uk/space> 
> -----Original Message-----
> From: pierre.henon@ccf.com [mailto:pierre.henon@ccf.com] 
> Sent: 24 September 2004 14:18
> To: dbi-users@perl.org
> Subject: connect to oracle database as sysdba form windows
> 
> 
> 
> 
> 
> Hi,
> 
> I would like to connect to an Oracle database as sysdba from 
> perl, so I use the script joined below.
> I use, for example :
> 
> perl test.pl -database prebcc -username "t" -password "t" -sysdba
> 
> But the sysdba parameter is not taken into account. If  user 
> t exists with password t the connection is made as t (should 
> be as sysdba) if it doens not exists I have the "invalid 
> username/password; logon denied" error.
> 
> Yet this program is working on Unix. So can anybody help me?
> 
> 
> #!/usr/local/bin/perl
> 
> # template for DBI programs
> 
> # use warnings;
> use DBI;
> use strict;
> 
> use Getopt::Long;
> 
> my %optctl = ();
> 
> Getopt::Long::GetOptions(
>    \%optctl,
>    "database=s",
>    "username=s",
>    "password=s",
>    "sysdba!",
>    "sysoper!",
>    "z","h","help");
> 
> my($db, $username, $password, $connectionMode);
> 
> $connectionMode = 0;
> if ( $optctl{sysoper} ) { $connectionMode = 4 }
> if ( $optctl{sysdba} ) { $connectionMode = 2 }
> 
> if ( ! defined($optctl{database}) ) {
>    Usage();
>    die "database required\n";
> }
> $db=$optctl{database};
> 
> if ( ! defined($optctl{username}) ) {
>    Usage();
>    die "username required\n";
> }
> 
> $username=$optctl{username};
> $password = $optctl{password};
> 
> print "USERNAME: $username\n";
> print "DATABASE: $db\n";
> print "PASSWORD: $password\n";
> print "connect:  $connectionMode\n";
> #exit;
> 
> my $dbh = DBI->connect(
>    'dbi:Oracle:' . $db,
>    $username, $password,
>    {
>       ora_session_mode => $connectionMode
>    }
>    );
> 
> die "Connect to  $db failed \n" unless $dbh;
> 
> $dbh->{RowCacheSize} = 100;
> 
> my $sql=q{select USER from dual};
> 
> my $sth = $dbh->prepare($sql,{ora_check_sql => 0 });
> 
> $sth->execute;
> 
> while( my $ary = $sth->fetchrow_arrayref ) {
>    print "\t\t$${ary[0]}\n";
> }
> 
> $sth->finish;
> $dbh->disconnect;
> 
> sub Usage {
>    print "\n";
>    print "usage:  DBI_template.pl\n";
>    print "    DBI_template.pl -database dv07 -username scott 
> -password tiger [-sysdba || -sysoper]\n";
>    print "\n";
> }
> 
> 
> 
> 
> 
> Pierre HENON
> HSBC-CCF
> Banque de Grande Clientèle
> 103, Avenue des Champs-Elysées
> 75008        PARIS
> FRANCE
> Tel  : + 33 (0) 1 40 70 73 16
> Fax : + 33 (0) 1 40 70 70 65
> 
> 
> 
> Les informations contenues dans ce message sont 
> confidentielles et peuvent constituer des informations 
> privilegiees. Si vous n etes pas le destinataire de ce 
> message, il vous est interdit de le copier, de le faire 
> suivre, de le divulguer ou d en utiliser tout ou partie. Si 
> vous avez recu ce message par erreur, merci de le supprimer 
> de votre systeme, ainsi que toutes ses copies, et d en 
> avertir immediatement l expediteur par message de retour.
> Il est impossible de garantir que les communications par 
> messagerie electronique arrivent en temps utile, sont 
> securisees ou denuees de toute erreur ou virus. En 
> consequence, l expediteur n accepte aucune responsabilite du 
> fait des erreurs ou omissions qui pourraient en resulter.
> --- ----------------------------------------------------- ---
> The information contained in this e-mail is confidential. It 
> may also be legally privileged. If you are not the addressee 
> you may not copy, forward, disclose or use any part of it. If 
> you have received this message in error, please delete it and 
> all copies from your system and notify the sender immediately 
> by return e-mail.
> E-mail communications cannot be guaranteed to be timely 
> secure, error or virus-free. The sender does not accept 
> liability for any errors or omissions which arise as a result.
> $!2$!
> 


Relevant Pages

  • Re: Oracle 10g startup problem
    ... I installed Oracle 10g in my computer (windows XP). ... the database did not start automatically. ... VMware Server, and on ESX Server. ...
    (comp.databases.oracle.server)
  • Re: Theoretical Question OracleService
    ... Have a fairly good understanding of the OS where your Oracle software ... On Windows, you need a service to run a process in the background i.e. ... the other threads eventually end up in i.e. database, ... Open up another DOS session and start ...
    (comp.databases.oracle.server)
  • Re: How to Change ini.ora filename on Windows?
    ... Windows NT: ... Oracle8i uses the initialization parameter files located ... initialization file with the PFILE option at database startup." ... the Oracle 8i documentation. ...
    (comp.databases.oracle.server)
  • Re: Unix shell script - oracle.
    ... Oracle can run under Unix, Linux, Windows NT, Novell Netware, OS/390 ... can talk to it from any client which understands the protocol. ...
    (comp.unix.shell)
  • Re: [Info-ingres] Bug or feature? [was Rollforwarddb disaster]
    ... I've copied some ingres database objects from unix to windows XP. ...
    (comp.databases.ingres)