Erros comuns ao se conectar ao Oracle no Windows

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>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.  All rights reserved.
Used parameter files:
C:\app\oracle\product\11.2.0\dbhome_1\network\admin\sqlnet.ora
TNS-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:
         a. Verifique se o serviço relacionado à instância está no ar;
         b. Verifique em que Oracle Home está e se a variável PATH aponta para o caminho $ORACLE_HOME/bin que deveria;
         c. Verifique o log de alerta para ver se a instância realmente está no ar;
         d. Verifique se o usuário que está usando está no grupo "ora_dba" (criado na instalação);
         e. Verifique as variáveis de ambiente e registro em busca das definições para ORACLE_HOME/ORACLE_BASE/ORACLE_SID;
         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:
         a. Usuário fora do grupo "ora_dba" (criado na instalação);
         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  - 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>sqlplus / as sysdba
TNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 - Production on 17-AUG-2012 14:25:22
Copyright (c) 1997, 2010, Oracle.  All rights reserved.
ORA-28056: Writing audit records to Windows Event Log failed
OSD-157797404: Message 157797404 not found; product=RDBMS; facility=SOSD
ORA-28056: Writing audit records to Windows Event Log failed
OSD-157797404: Message 157797404 not found; product=RDBMS; facility=SOSD
O/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í!

Comentários

Postagens mais visitadas deste blog

Evitando FULL TABLE SCANS quando usar IS NULL em cláusulas WHERE

ALTER USER IDENTIFIED BY VALUES

Restore no RMAN falha com "ORA-01180: can not create datafile 1"