Oracle renvoie une erreur "ORA-01031: privilèges insuffisants" Quand j'exécute sqlplus / as sysdba
mais sqlplus sys/oracle123 as sysdba
ne le fait pas, pourquoi?
- Version Oracle: Oracle Database 10g Enterprise Edition version 10.2.0.1.0 - 64 bits
- Version Linux: SUSE Linux Enterprise Server 11 (x86_64)
Je sais qu'Oracle utilise l'authentification du système d'exploitation lors de l'exécution sqlplus / as sysdba
, j'ai également vérifié soigneusement sqlnet.ora et il contient SQLNET.AUTHENTICATION_SERVICES = (NTS)
.
J'ai également changé le groupe d'utilisateurs oracle, l'utilisateur oracle appartient absolument au groupe dba car lorsque j'exécute l'ID de commande, les informations suivantes sont renvoyées:
oracle@linux-mage:~> id
uid=103(oracle) gid=106(dba) groups=105(oinstall),106(dba)
Une autre information est que je peux me connecter sqlplus sys/oracle123 as sysdba
, mais je ne peux pas arrêter l'instance:
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>
j'ai couru strace -o trace.out sqlplus "/ as sysdba" et obtenez le message de sortie suivant. le message strace est trop grand. donc je le colle dans pastebin. veuillez visiter ce lien
informations ipcs -s et 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
Réponses:
Quelque chose doit s'être mal passé au niveau O / S - consultez cette page pour quelques étapes pour dépister le problème
la source
Post / wait est le sous-système IPC des sémaphores - il est probable que vous n'ayez plus de sémaphores ou que les sémaphores aient été créés avec des autorisations qui ne permettent pas à votre utilisateur d'y accéder - vérifiez la sortie de
ipcs -s
, où se trouvent les autorisations ? Comparez le nombre de sémaphores àipcs -ls
.la source
Il semble qu'une fois l' arrêt immédiat échoué, la connexion est interrompue, bien qu'elle ne le montre pas. La fermeture de sqlplus, la reconnexion et l'émission immédiate de l' arrêt ont eu un impact sur moi.
Depuis https://community.oracle.com/thread/459659
la source
J'ai eu le même problème d'obtenir une erreur ORA-01031 lors de la réalisation d'un
sqlplus / as sysdba
. Mon problème a été corrigé lorsque j'ai désactivé la variable d'environnementTWO_TASK
.la source