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