Benutzer-Werkzeuge

Webseiten-Werkzeuge


dba:connect_password_file_instance_sys_user

Mit Password File an der DB als sysdba anmelden und den „ORA-01031: insufficient privileges vermeiden“

Ziel ist es sich bei einer gestoppten Datenbank als SYS User anzumelden, um diese remote starten zu können.

Vorbereitung

listener.ora

Listener.ora mit einem statischen Eintrag erweitern um die DB remote starten und stoppen zu können.

# Dedicated Service
SID_LIST_LISTENER=
  (SID_LIST=
   (SID_DESC=
    (GLOBAL_DBNAME=GPITESTDB)
    (SID_NAME=GPITESTDB)
    (ORACLE_HOME=D:\oracle\product\11.2.0\dbhome_1)))

DB Parameter

Um die DB remote zu starten, muss der init.ora parameter auf *.remote_login_passwordfile='exclusive' gesetzt sein.

SHOW parameter remote_login_passwordfile

Password file

Eine Password Datei orapw<SID> muss in $ORACLE_HOME/dbs existieren.

Neu anlegen mit:

orapwd file=$ORACLE_HOME/dbs/orapwGPIDB password=abcd123 force=y nosysdba=n

Falls eine neue Password Datei erzeugt wurde, DB stoppen und wieder starten, erneut testen.

tnsname.ora eintrag (local und remote)

TNS Eintrag für die DB erstellen.

Connect testen

Fehler: ORA-01031: insufficient privileges

sqlplus sys@GPIDB_AUX AS sysdba
 
SQL*Plus: Release 11.2.0.3.0 Production ON Sat DEC 14 12:09:57 2013
 
Copyright (c) 1982, 2011, Oracle.  ALL rights reserved.
 
Enter password: 
ERROR:
ORA-01031: insufficient privileges

Tritt dieser Fehler auf sorgfältig die obigen Punkte prüfen, das auch alles richtig eingerichtet ist.

Weitere Fehler überprüfen:

DBA Gruppe prüfen

Über die Datei $ORACLE_HOME/rdbms/lib/config.c kann geprüft werden welche Gruppe bei der DB Installation als berechtigte Gruppe für den localen „/ as sysdba“ konfiguriert wurde. Unter der Gruppe sollte die DB auch laufen!

id orace
uid=54321(oracle) gid=54321(oinstall) groups=54322(dba),54321(oinstall)
 
 
cat $ORACLE_HOME/rdbms/lib/config.c
 
...
 
#define SS_DBA_GRP "dba"
#define SS_OPER_GRP "dba"
#define SS_ASM_GRP ""
 
char *ss_dba_grp[] = {SS_DBA_GRP, SS_OPER_GRP, SS_ASM_GRP};
 
 
ps uafx |grep smon
 
oracle   29745  0.0  0.1 24878360 213632 ?     Ss   Dec15   0:06 ora_smon_DBGPI1
 
#Wem gehören die LIstenerprozesse?
 
ps –ef| grep tns

Hier kann erkannt werden das die Datenbank mit der Gruppe DBA angelegt wurde und auch unter dem Oracle User läuft. Entsprechend muss die Berechtigung auf dem Password File geprüft werden.

PWD File mit SQL*Plus auslesen
SQL> SELECT * FROM V$PWFILE_USERS;
Permission auf der Password Datei prüfen
ls -la
 
-rw-r-----   1 oracle oinstall 1536 Dec 16 00:30 orapwGPI1

Quellen

  • Troubleshooting ORA-1031 Insufficient Privilege While Connecting As SYSDBA [ID 730067.1]
  • UNIX: Diagnostic C program for ORA-1031 from CONNECT INTERNAL / AS SYSDBA (Doc ID 67984.1)
Cookies helfen bei der Bereitstellung von Inhalten. Durch die Nutzung dieser Seiten erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Rechner gespeichert werden. Weitere Information
"Autor: Gunther Pipperr"
dba/connect_password_file_instance_sys_user.txt · Zuletzt geändert: 2014/11/25 18:23 von Gunther Pippèrr