Sponsored Content
Top Forums Shell Programming and Scripting Switching user to oracle to connect Oracle 11g DB with 'sysdba' Post 302628201 by NetBear on Monday 23rd of April 2012 05:25:16 AM
Old 04-23-2012
Question Switching user to oracle to connect Oracle 11g DB with 'sysdba'

I need to connect my Oracle 11g DB from shell script with 'sysdba' permissions. To do this I have to switch user from 'root' to 'oracle'.
I've tried the following with no success.

Code:
  su - oracle -c "<< EOF1
        sqlplus -s "/ as sysdba" << EOF2
        whenever sqlerror exit sql.sqlcode;
        set echo off 
        set heading off
    
        shutdown immediate
        startup mount
        alter database archivelog;
        alter database open;
        
        exit;
        EOF2
    EOF1"

I'm getting the following error.
Code:
> [root@vEMS-23 devel]# ./enableArchiveLogs.sh en ERROR: ORA-01031:
> insufficient privileges
> 
> 
> SP2-0306: Invalid option. Usage: CONN[ECT] [logon] [AS
> {SYSDBA|SYSOPER|SYSASM}] where <logon>  ::=
> <username>[/<password>][@<connect_identifier>] [edition=value] | /
> SP2-0306: Invalid option. Usage: CONN[ECT] [logon] [AS
> {SYSDBA|SYSOPER|SYSASM}] where <logon>  ::=
> <username>[/<password>][@<connect_identifier>] [edition=value] | /
> SP2-0157: unable to CONNECT to ORACLE after 3 attempts, exiting
> SQL*Plus [root@vEMS-23 devel]#


As far as I may understand it fails to authenticate as 'sysdba'. It doesn't occurs if I eliminate 'su - oracle -c' and run script as an oracle user initially.


Any clues?
Thanks in advanced.

Last edited by radoulov; 04-23-2012 at 09:30 AM..
 

3 More Discussions You Might Find Interesting

1. Programming

Help on a perl script to connect to oracle ASM as sysdba

I am novice to perl. Can someone guide me on the below query. We have an existing perl script which connects to database to check the disk group status which i wanted to retieve directly from ASM rather than database. This is because, a cluster has more than 4 databases running and a check on... (0 Replies)
Discussion started by: sai_rsk
0 Replies

2. Shell Programming and Scripting

Use perl to connect to Oracle ASM as sysdba

I am novice to perl. Can someone guide me on the below query. We have an existing perl script which connects to database to check the disk group status which i wanted to retieve directly from ASM rather than database. This is because, a cluster has more than 4 databases running and a check on... (1 Reply)
Discussion started by: sai_rsk
1 Replies

3. UNIX and Linux Applications

Identify a specific environment Oracle variable to connect a remote Oracle database ?

Good evening I nned your help pls, In an unix server i want to connect to a remote oracle databse server by sqlplus. I tried to find out the user/passwd and service name by env variable and all Ive got is this: ORACLE_SID_REPCOL=SCL_REPCOL ORACLE_SID=xmeta ORACLE_SID_TOL=SCL_PROTOLCOL... (2 Replies)
Discussion started by: alexcol
2 Replies
RADSQLRELAY(8)						     FreeRADIUS helper program						    RADSQLRELAY(8)

NAME
radsqlrelay - relay SQL queries to a central database server SYNOPSIS
radsqlrelay [-?] [-d sql_driver] [-b database] [-f file] [-h host] [-u user] [-P port] [-p password] [-1] [-x] file_path DESCRIPTION
radsqlrelay tails a SQL logfile and forwards the queries to a database server. Used to replicate accounting records to one (central) data- base, even if the database has extended downtime. The SQL logfile is created by the rlm_sql_log module. The module must be configured in the radiusd server before you can use radsqlrelay. OPTIONS
-? Print usage help information. -d sql_driver Driver to use: mysql, pg, oracle. -b database Name of the database to use. -f file Read password from file, instead of command line. -h host Connect to host. -u user User for login. -P port Port number to use for connection. -p password Password to use when connecting to server. -1 One-shot mode: push the file to database and exit. -x Turn on debugging. file_path The pathname of the SQL logfile to use. NOTES
Oracle driver The command "radsqlrelay -d oracle -b db.domain.tld sql-relay" reads the database description stored in $TNS_ADMIN/tnsnames.ora: db.domain.tld = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = db.domain.tld)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = <DB SID>) ) ) SEE ALSO
rlm_sql_log(5) AUTHOR
Nicolas Baradakis <nicolas.baradakis@cegetel.net> 19 June 2005 RADSQLRELAY(8)
All times are GMT -4. The time now is 10:44 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy