Die Verbindung zu Oracle-DB-shell-Skript mit 'sysdba'

Brauche ich eine Verbindung zu meinem Oracle 11g-DB-shell-Skript mit 'sysdba' - Berechtigungen. Dazu habe ich auf Benutzer wechseln von 'root' zu 'oracle'.
Ich habe versucht, die folgenden, jedoch ohne Erfolg.

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"

Bin ich immer die folgende Fehlermeldung.

[root@vEMS-23 devel]# ./enableArchiveLogs.sh de FEHLER: ORA-01031:
Unzureichende Rechte

SP2-0306: Ungültige option. Verwendung: CONN[ECT] [Anmeldung] [ALS
{SYSDBA|SYSOPER|SYSASM}] wobei ::=
[/][@] [Ausgabe=Wert] | /
SP2-0306: Ungültige option. Verwendung: CONN[ECT] [Anmeldung] [ALS
{SYSDBA|SYSOPER|SYSASM}] wobei ::=
[/][@] [Ausgabe=Wert] | /
SP2-0157: es konnte keine VERBINDUNG zu ORACLE nach 3 versuchen, beenden
SQL*Plus [root@vEMS-23 devel]#

Soweit ich kann verstehen, dass es nicht zu authentifizieren, wie 'sysdba'. Es nicht Auftritt, wenn ich beseitigen 'su - oracle -c" und " Skript ausführen als oracle-Benutzer zunächst.

Irgendwelche Hinweise?


Ich habe eine Antwort:

Ist die Antwort ziemlich einfach. Ich habe gerade ein bisschen Durcheinander mit der syntax. Im folgenden ist die Arbeits-code:

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
'
  • Welche Art von Fehlermeldung bekommst du?
  • Thilo, bitte siehe bearbeiteten post. Danke.
InformationsquelleAutor NetBear | 2012-04-23
Schreibe einen Kommentar