Oracle gibt den Fehler "ORA-01031: Unzureichende Berechtigungen" zurück. Wenn ich ausgeführt werde sqlplus / as sysdba
, sqlplus sys/oracle123 as sysdba
aber nicht, warum?
- Oracle-Version: Oracle Database 10g Enterprise Edition Version 10.2.0.1.0 - 64 Bit
- Linux-Version: SUSE Linux Enterprise Server 11 (x86_64)
Ich weiß, dass Oracle beim Ausführen die Betriebssystemauthentifizierung verwendet sqlplus / as sysdba
. Ich habe auch sqlnet.ora sorgfältig überprüft und es enthält SQLNET.AUTHENTICATION_SERVICES = (NTS)
.
Ich habe auch die Gruppe des Oracle-Benutzers geändert. Der Oracle-Benutzer gehört absolut zur dba-Gruppe, da beim Ausführen der Befehls-ID die folgenden Informationen zurückgegeben werden:
oracle@linux-mage:~> id
uid=103(oracle) gid=106(dba) groups=105(oinstall),106(dba)
Eine weitere Information ist, dass ich mich anmelden kann sqlplus sys/oracle123 as sysdba
, aber die Instanz nicht herunterfahren kann:
oracle@linux-mage:~> sqlplus sys/oracle123 as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Mon Sep 5 16:29:57 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected.
SQL> shutdown immediate
ORA-24324: service handle not initialized
ORA-24323: value not allowed
ORA-27140: attach to post/wait facility failed
SQL> shutdown abort
ORA-01031: insufficient privileges
SQL>
Ich habe strace -o trace.out sqlplus "/ as sysdba" ausgeführt und die folgende Ausgabemeldung erhalten. Die Strace-Nachricht ist zu groß. Also füge ich es in den Pastebin ein. Bitte besuchen Sie diesen Link
Informationen zu ipcs -s und ipcs -ls:
oracle @ linux-mage: ~> ipcs -s
------ Semaphore Arrays --------
key semid owner perms nsems
oracle@linux-mage:~> ipcs -ls
------ Semaphore Limits --------
max number of arrays = 200
max semaphores per array = 250
max semaphores system wide = 32000
max ops per semop call = 100
semaphore max value = 32767
Antworten:
Auf der Betriebssystemebene muss ein Fehler aufgetreten sein. Auf dieser Seite finden Sie einige Schritte, um das Problem aufzuspüren
quelle
Post / Wait ist das Semaphor- IPC-Subsystem. Es ist wahrscheinlich, dass Ihnen entweder die Semaphore ausgegangen sind oder dass die Semaphore mit Berechtigungen erstellt wurden, die Ihrem Benutzer keinen Zugriff darauf ermöglichen. Überprüfen Sie die Ausgabe von
ipcs -s
, wo sich die Berechtigungen dort befinden ? Vergleichen Sie die Anzahl der Semaphoren mitipcs -ls
.quelle
Es scheint, dass die Verbindung unterbrochen wird, sobald das sofortige Herunterfahren fehlschlägt, obwohl sie nicht angezeigt wird. Das Beenden von sqlplus, das erneute Verbinden und das sofortige Beenden des Abbruchs beim Herunterfahren haben die Dinge für mich gelöst .
Von https://community.oracle.com/thread/459659
quelle
Ich hatte das gleiche Problem, einen ORA-01031-Fehler zu bekommen, wenn ich a
sqlplus / as sysdba
. Mein Problem wurde behoben, als ich die Umgebungsvariable deaktivierteTWO_TASK
.quelle