Erros comuns ao se conectar ao Oracle no Windows
Autor: Eduardo Valentim | Publicado: 2012-08-17T14:07:00-03:00

Caros amigos,



Geralmente temos problemas quando, pela primeira vez, encontramos um banco de dados Oracle instalado em um servidor Windows. Apesar de mais fácil, a instalação do Windows também deve ser realizada conforme as recomendações da Oracle e com atenção.
Quando não é feita assim é que acontecem os desafios de administração posteriormente. Abaixo algumas situações desafiadoras que podemos encontrar por aí:

1. Centenas de instalações Oracle em uma única máquina.
Evite isso! Faça a instalação essencial do software Oracle na máquina. Client, Database, InstantClient, etc. Escolha um e pronto. Geralmente é encontrado em um servidor windows várias instalações client e/ou banco de dados gerando vários Oracle Homes tornando a administração complicada. Quando você faz uma configuração em um Home (em um tnsnames.ora por exemplo), você percebe que não surtiu efeito e provavelmente é por isso.

Para descobrir em que Oracle Home você está, você pode executar o comando "TNSPING qualquer_coisa" apenas para ele mostrar qual arquivo sqlnet.ora ele usou como parâmetro. Assim:



C:\Documents and Settings\oracle&gt;tnsping asdf

TNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 - Production on 17-AUG-2012 13:37:52

Copyright (c) 1997, 2010, Oracle. &nbsp;All rights reserved.Used parameter files:C:\app\oracle\product\11.2.0\dbhome_1\network\admin\sqlnet.oraTNS-03505: Failed to resolve name

Perceba que seu Oracle Home é o que está em negrito.

2. Erro de adaptador de protocolo (ORA-12650: TNS:protocol adapter error).
Erro bastante comum quando se tenta acessar a instância local via "sqlplus / as sysdba" no prompt de comando. Neste caso você deve verificar os seguintes itens:
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;a. Verifique se o serviço relacionado à instância está no ar;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;b. Verifique em que Oracle Home está e se a variável PATH aponta para o caminho $ORACLE_HOME/bin que deveria;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;c. Verifique o log de alerta para ver se a instância realmente está no ar;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;d. Verifique se o usuário que está usando está no grupo "ora_dba" (criado na instalação);
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;e. Verifique as variáveis de ambiente e registro em busca das definições para ORACLE_HOME/ORACLE_BASE/ORACLE_SID;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;f. Se não descobrir.... google it! Pode ser coisa pior.

3. Erro de privilégios insuficientes (ORA-01031: insufficient privileges)
Também muito comum e geralmente tem a ver com dois itens:
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;a. Usuário fora do grupo "ora_dba" (criado na instalação);

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;b. Configuração no arquivo SQLNET.ORA: Se o parâmetro "SQLNET.AUTHENTICATION_SERVICES" estiver definido para NONE, não permitirá conexões "/ as sysdba". Defina o parâmetro para NTS ou ALL e voltará a permitir.


4. Falha na escrita do log de eventos do Windows &nbsp;- EventViewer (ORA-28056: Writing audit records to Windows Event Log failed.)
Esse eu vi hoje e não deve ser muito comum, mas pode acontecer quando ocorre alguma tentativa frustrada na escrita de informações no log de eventos do Windows. Como o erro abaixo:



C:\Documents and Settings\oracle&gt;sqlplus / as sysdbaTNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 - Production on 17-AUG-2012 14:25:22Copyright (c) 1997, 2010, Oracle. &nbsp;All rights reserved.ORA-28056: Writing audit records to Windows Event Log failedOSD-157797404: Message 157797404 not found; product=RDBMS; facility=SOSDORA-28056: Writing audit records to Windows Event Log failedOSD-157797404: Message 157797404 not found; product=RDBMS; facility=SOSDO/S-Error: (OS 1502) The event log file is full.

As mensagens em negrito vão te ajudar na identificação do problema.

O banco de dados Oracle pode querer escrever algumas informações no log de eventos do sistema (Linux ou Windows). Se ele não conseguir, este erro é retornado. O motivo pode ser por log cheio ou, no caso do windows mais especificamente, o serviço "Log de Eventos" não estar no ar.

Esses são os problemas mais comuns. Se tiver mais algum, manda aí!