Oracle retorna um erro ORA-01031: privilégios insuficientes

9

O Oracle retorna um erro "ORA-01031: privilégios insuficientes". Quando executo, sqlplus / as sysdbamas sqlplus sys/oracle123 as sysdbanã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

http://pastebin.com/YpjVeG8u

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
redhatlinux10
fonte
Você fez logon como usuário oracle no linux?
sim, eu entrei no computador servidor como usuário oracle.

Respostas:

1

Algo deve ter dado errado no nível do sistema operacional. Verifique esta página para ver algumas etapas para localizar o problema.

Jack diz que tenta topanswers.xyz
fonte
0

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 com ipcs -ls.

Gaius
fonte
-1

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

Steve
fonte
Isso não responde à pergunta.
Colin 't Hart
-1

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 ambiente TWO_TASK.

Bob Miles
fonte