O Oracle retorna um erro "ORA-01031: privilégios insuficientes". Quando executo, sqlplus / as sysdba
mas sqlplus sys/oracle123 as sysdba
não o faz, por quê?
- Versão Oracle: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit
- Versão do Linux: SUSE Linux Enterprise Server 11 (x86_64)
Sei que o Oracle usa autenticação do SO durante a execução sqlplus / as sysdba
, também verifiquei o sqlnet.ora com cuidado e ele contém SQLNET.AUTHENTICATION_SERVICES = (NTS)
.
Também mudei o grupo de usuários oracle, o usuário oracle pertence absolutamente ao grupo dba porque, quando executo o comando id, as seguintes informações retornam:
oracle@linux-mage:~> id
uid=103(oracle) gid=106(dba) groups=105(oinstall),106(dba)
Outra informação é que eu consigo fazer logon sqlplus sys/oracle123 as sysdba
, mas não consigo encerrar a instância:
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>
Eu executei strace -o trace.out sqlplus "/ as sysdba" e recebi a seguinte mensagem de saída. a mensagem de rastreio é muito grande. então eu colo em pastebin. visite este link
informações sobre ipcs -s e 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
Respostas:
Algo deve ter dado errado no nível do sistema operacional. Verifique esta página para ver algumas etapas para localizar o problema.
fonte
Post / wait é o subsistema de semáforo IPC - é provável que você tenha ficado sem semáforos ou os semáforos tenham sido criados com permissões que não permitem que seu usuário os acesse - verifique a saída de
ipcs -s
, onde estão as permissões? ? Compare o número de semáforos comipcs -ls
.fonte
Parece que uma vez que o desligamento imediato falha, a conexão é interrompida, embora não seja exibida. Sair do sqlplus, reconectar e imediatamente interromper o desligamento fez com que as coisas parassem para mim.
De https://community.oracle.com/thread/459659
fonte
Eu tive o mesmo problema de obter um erro ORA-01031 ao fazer um
sqlplus / as sysdba
. Meu problema foi corrigido quando desmarcou a variável de ambienteTWO_TASK
.fonte