Close Menu
  • Home
  • Databases
    • Oracle
      • ASM
      • Data Guard
      • RAC
  • Performance
  • Tools
  • Troubleshooting
  • Python
  • Shell Script
Search

Oracle RAC 12.2 no VMware Workstation — Post 3: Instalação do Grid Infrastructure

2026-04-05 Oracle By Henrique

Oracle RAC 12.2 no VMware Workstation — Post 1: Configuração do VMware e Openfiler

2026-04-05 Oracle By Henrique

Oracle RAC 12.2 no VMware Workstation – Post 2: Configuração do Oracle Linux e iSCSI

2026-04-05 Oracle By Henrique
YouTube LinkedIn RSS
  • Sobre
  • Contato
  • Legal
    • Aviso Legal
    • Política de Cookies
    • Política de Privacidade
    • Termos de Uso
  • RSS
  • Português
    • Inglês
Execute StepExecute Step
YouTube LinkedIn RSS
  • Home
  • Databases
    • Oracle
      • ASM
      • Data Guard
      • RAC
  • Performance
  • Tools
  • Troubleshooting
  • Python
  • Shell Script
Execute StepExecute Step
Home » ORA-12547 — TNS:lost contact ao conectar com sqlplus
Oracle Oracle

ORA-12547 — TNS:lost contact ao conectar com sqlplus

HenriqueBy Henrique2026-04-036 Mins Read
Share
Facebook Twitter LinkedIn Pinterest Email Telegram WhatsApp

This post is also available in: English (Inglês)

Ao tentar abrir uma sessão local com sqlplus / as sysdba, o Oracle encerra a conexão antes mesmo de autenticar:

$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Sat Dec 2 01:54:17 2023
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.

ERROR:
ORA-12547: TNS:lost contact


Enter user-name: ^C

O impacto é imediato: o DBA perde acesso local ao banco. Sem uma sessão sysdba, startup, shutdown e qualquer operação administrativa de emergência ficam indisponíveis.


Por Que Acontece

O ORA-12547 em uma conexão local (/) indica que o processo Oracle foi iniciado — ou tentou ser iniciado — mas a comunicação via IPC (bequeath pipe) falhou imediatamente. As causas mais comuns são:

  • ORACLE_HOME com path incorreto (trailing slash, diretório inexistente ou variável de ambiente desatualizada)
  • Permissões erradas no binário $ORACLE_HOME/bin/oracle

O Oracle não consegue localizar ou executar o binário corretamente, e o TNS interpreta isso como “lost contact”.


Diagnóstico Rápido

Antes de aplicar qualquer solução, identifique a causa verificando o ORACLE_HOME que o processo está usando de fato e as permissões do binário:

ps -ef | grep pmon
oracle   42456     1  0 Dec01 ?        00:00:01 asm_pmon_+ASM
oracle   51812     1  0 02:35 ?        00:00:00 ora_pmon_scprbr07
oracle   55320 43687  0 02:42 pts/0    00:00:00 grep --color=auto pmon

xargs -0 -L1 -a /proc/51812/environ | grep ORACLE_HOME
ORACLE_HOME=/u01/app/oracle/product/19.3.0.0/dbhome_1/
ls -l $ORACLE_HOME/bin/oracle
-rwxr-xr-x 1 oracle oinstall 441253104 Dec 2 02:03 oracle

Se o ORACLE_HOME terminar com / ou apontar para um diretório inexistente, vá para as Soluções 1 ou 2. Se as permissões do binário não forem -rwsr-s--x, vá para a Solução 3.


Solução 1 — Trailing Slash no /etc/oratab

Um / extra ao final do caminho do ORACLE_HOME no /etc/oratab faz o oraenv montar a variável com um separador duplicado, quebrando a resolução de binários.

Verifique:

cat /etc/oratab
+ASM:/u01/app/19.0.0.0/grid:N
scprbr07:/u01/app/oracle/product/19.3.0.0/dbhome_1/:N

Corrija removendo o / final, recarregue o ambiente e teste:

. oraenv
ORACLE_SID = [scprbr07] ? scprbr07
The Oracle base remains unchanged with value /u01/app/oracle

sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Sat Dec 2 02:06:33 2023
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.

Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

SQL>

Se o banco estiver registrado no srvctl (ambientes RAC ou Grid Infrastructure), o srvctl mantém um registro próprio do ORACLE_HOME — corrija lá também:

srvctl config database -d scprbr07
Database unique name: scprbr07
Database name:
Oracle home: /u01/app/oracle/product/19.3.0.0/dbhome_1/
Oracle user: oracle
Spfile: +DATA/SCPRBR07/PARAMETERFILE/spfile.257.1145122115
Password file: +DATA/SCPRBR07/PASSWORD/pwdscprbr07.278.1088971723
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Disk Groups: DATA
Services: scprbr07_serv
OSDBA group:
OSOPER group:
Database instance: scprbr07
srvctl modify database -d scprbr07 -o /u01/app/oracle/product/19.3.0.0/dbhome_1

Após corrigir no srvctl, faça stop/start do banco para ele subir com o ORACLE_HOME correto.


Solução 2 — ORACLE_HOME Incorreto no Ambiente do Shell

O /etc/oratab pode estar correto, mas o ORACLE_HOME definido no .bash_profile ou .bashrc pode apontar para um diretório inexistente — situação comum após patches que alteram o path do Oracle Home.

Verifique:

echo $ORACLE_HOME
/u01/app/oracle/product/19.3.0.0/dbhome_INEXISTENTE

ls -d $ORACLE_HOME
ls: cannot access '/u01/app/oracle/product/19.3.0.0/dbhome_INEXISTENTE': No such file or directory

Corrija o .bash_profile com o path real, ou use o oraenv para redefinir corretamente:

. oraenv
ORACLE_SID = [scprbr07] ? scprbr07
The Oracle base remains unchanged with value /u01/app/oracle

Confirme o path correto localizando o binário Oracle instalado:

find /u01 -name "oracle" -type f -perm /u+x 2>/dev/null
/u01/app/oracle/product/19.3.0.0/dbhome_1/bin/oracle

Solução 3 — Permissões Incorretas no Binário oracle

⚠️ Atenção: o comando abaixo altera permissões de um binário crítico do Oracle. Execute como root ou com sudo. Em ambientes RAC, aplique em todos os nós.

O binário $ORACLE_HOME/bin/oracle precisa ter os bits setuid e setgid ativos (permissão 6751) para que o Oracle consiga escalar privilégios internamente. Se essas permissões foram removidas por hardening, deploy incorreto ou reinstalação, a conexão local falha com ORA-12547.

Verifique:

ls -l $ORACLE_HOME/bin/oracle
-rwxr-xr-x 1 oracle oinstall 441253104 Dec 2 02:03 oracle

Corrija e confirme:

chmod 6751 $ORACLE_HOME/bin/oracle

ls -l $ORACLE_HOME/bin/oracle
-rwsr-s--x 1 oracle oinstall 441253104 Dec 2 02:03 oracle

Teste a conexão:

sqlplus / as sysdba

Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

SQL>

Checklist Rápido

ps -ef | grep pmon | grep -v grep
xargs -0 -L1 -a /proc/<PID>/environ | grep ORACLE_HOME

cat /etc/oratab | grep -v "^#"

ls -d $ORACLE_HOME

ls -l $ORACLE_HOME/bin/oracle

chmod 6751 $ORACLE_HOME/bin/oracle

. oraenv
sqlplus / as sysdba

Erros Conhecidos

ORA-12547 persiste após corrigir o oratab em ambiente RAC O srvctl mantém um registro próprio do ORACLE_HOME. Corrija com srvctl modify database -d -o e faça stop/start do banco.

chmod 6751 falha com “Operation not permitted” O comando precisa ser executado como root. Em sistemas com SELinux ou políticas de hardening de SO, pode ser necessário ajustar políticas antes de alterar permissões de setuid.


Referências

  • Oracle Database Error Messages 19c — ORA-12547
  • Oracle Support Doc ID 1093611.1 — Permissions and Ownership for Oracle Binaries (acesso via MOS)

lab listener ORA-12547 tns troubleshooting
Share. Facebook Twitter Pinterest LinkedIn Tumblr Email WhatsApp
Previous ArticleResetando Sequences no Oracle: RESTART e o Método Clássico
Next Article ORA-01031 — Privilégio Insuficiente ao Criar Coluna IDENTITY

Related Posts

Oracle

ORA-01031 — Privilégio Insuficiente ao Criar Coluna IDENTITY

2026-04-03
Read More
Oracle

Resetando Sequences no Oracle: RESTART e o Método Clássico

2026-03-31
Read More
Oracle

OPATCHAUTO-72115 — Sessão Anterior Não Completada no Out-of-Place Patching

2026-03-30
Read More
Add A Comment
Leave A Reply Cancel Reply

Demo
Follow Me
  • Email
  • GitHub
  • LinkedIn
  • RSS
  • YouTube

INS-06006 – Passwordless SSH Connectivity Not Set Up

2026-02-2614 Views

Limpeza da biblioteca de software OEM: Purge seguro e controle de crescimento de swlib

2026-02-215 Views

ORA-29548 – Como corrigir o erro “Java System Class Reported” no Oracle Database

2026-03-053 Views
Demo
Tags
alter-sequence asm chrony compatible-asm cv-assume-distid database-vault datapatch disk-group dvsys enterprise manager grid-infrastructure how-to identity-column ins-08101 inventory java lab ntp oem oem-13c opatchauto opatchauto-72083 ora-01400 ora-15221 ora-29548 oracle oracle-rac oracle-sequence patch de dados patching prvg-01017 rhel-8 runcluvfy software-library storage troubleshooting
Execute Step
YouTube LinkedIn RSS
  • Home
  • Sobre
  • Contato
  • RSS
  • Português
    • English (Inglês)
© 2026 ExecuteStep. Designed by ThemeSphere.

Type above and press Enter to search. Press Esc to cancel.

Ad Blocker Enabled!
Ad Blocker Enabled!
Our website is made possible by displaying online advertisements to our visitors. Please support us by disabling your Ad Blocker.