Connessione a Oracle DB da script di shell con ‘sysdba’

Ho bisogno di collegare il mio DB Oracle 11g da script di shell con ‘sysdba’ autorizzazioni. Per fare questo devo cambiare utente ‘root’ e ‘oracle’.
Ho provato il seguente ma senza successo.

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"

Ricevo il seguente errore.

[[email protected] devel]# ./enableArchiveLogs.sh it ERRORE: ORA-01031:
privilegi insufficienti

SP2-0306: opzione non valida. Utilizzo: CONN[ECT] [accesso] [COME
{SYSDBA|SYSOPER|SYSASM}], dove ::=
[/][@] [edizione=valore] | /
SP2-0306: opzione non valida. Utilizzo: CONN[ECT] [accesso] [COME
{SYSDBA|SYSOPER|SYSASM}], dove ::=
[/][@] [edizione=valore] | /
SP2-0157: impossibile CONNETTERSI a ORACLE dopo 3 tentativi, uscendo
SQL*Plus [[email protected] devel]#

Per quanto io possa capire non riesce ad autenticare ‘sysdba’. Non si verifica se elimino ‘su – oracle -c’ e di eseguire lo script come utente oracle inizialmente.

Eventuali indizi?


Ho avuto risposta:

La risposta è abbastanza semplice. Appena ho un po ‘ pasticciato con la sintassi. Il seguente è il pezzo di codice:

su - oracle -c 'sqlplus -s /as sysdba <<EOF
   whenever sqlerror exit sql.sqlcode;
   set echo off 
   set heading off

   shutdown immediate
   startup mount
   alter database noarchivelog;
   alter database open;

   exit;
EOF
'
Che tipo di errore ricevi?
Thilo, si prega di vedere modificato il post. Grazie.

OriginaleL’autore NetBear | 2012-04-23

One Reply
  1. 0

    COLLEGARE chan/test
    SELEZIONARE *
    DA studente;
    USCITA;

    salva con nome /shell_with_oracledb_test/r_connection2.sql

    scrivere file di shell come
    echo “sqlplus /nolog @/shell_with_oracledb_test/r_connection2.sql” | su – oracle

    nome del file -> filename.sh

    excute filename.sh file

    Questo è un esempio di codice.

    OriginaleL’autore Chan Myae Thu

Lascia un commento