Autenticação Remota com SYSDBA sempre falha com o Password File em Diskgroup do ASM

Problema

Neste cenário, todas as tentativas de realizar login de forma remota utilizando o privilégio SYSDBA falhavam com a mensagem de erro “ORA-01017: invalid username/password; logon denied”, mesmo garantindo que a senha provida no SQLPLUS estava correta, assim como a senha no PWFILE estava correta (recriei o arquivo para testar).

No entanto, se a instância fosse iniciada com o arquivo de senhas abaixo do $ORACLE_HOME/dbs, a autenticação passava com sucesso.

O pwfile foi criado dessa forma:

orapwd file='+DATAC1/HML2EX_GRU1VD/orapwhml2ex' entries=10 dbuniquename='HML2EX_gru1vd' format=12

E o profile do Database no Clusterware:

srvctl config database -d HML2EX_gru1vd
Database unique name: HML2EX_gru1vd
Database name: HML2EX
Oracle home: /u02/app/oracle/product/12.1.0/dbhome_2
Oracle user: oracle
Spfile: +DATAC1/HML2EX_GRU1VD/spfileHML2EX.ora
Password file: +DATAC1/HML2EX_GRU1VD/orapwhml2ex
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools:
Disk Groups: DATAC1
Mount point paths:
Services: HMLEX
Type: RAC
Start concurrency:
Stop concurrency:
OSDBA group: dba
OSOPER group: racoper
Database instances: HML2EX1,HML2EX2
Configured nodes: node01,node02
Database is administrator managed

Note que o atributo “Password file” está apontando para o caminho correto:

Password file: +DATAC1/HML2EX_GRU1VD/orapwhml2ex

Não havia pwfile para instâncias abaixo do $ORACLE_HOME/dbs.

No teste via EZCONNECT, a conexão falha com erro autenticação:

sqlplus sys/PwExemplo@//node02:1521/HMLEX as sysdba

SQL*Plus: Release 12.1.0.2.0 Production on Wed Jun 2 09:05:09 2021

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

ERROR:
ORA-01017: invalid username/password; logon denied

Causa

O parâmetro db_unique_name no SPFILE com valor diferente do “Database unique name” no profile do Clusterware:

SQL> show parameter db_unique_name;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_unique_name                       string      HML2EX_gru

O valor do parâmetro foi cortado acidentalmente em alguma manutenção do SPFILE.

Solução

1) Alterar o parâmetro db_unique_name:

SQL> alter system set db_unique_name='HML2EX_gru1vd' scope=spfile;

2) Reiniciar instâncias

srvctl stop instance -d HML2EX_gru1vd -i HML2EX1
srvctl start instance -d HML2EX_gru1vd -i HML2EX1

srvctl stop instance -d HML2EX_gru1vd -i HML2EX2
srvctl start instance -d HML2EX_gru1vd -i HML2EX2

Teste com sucesso:

sqlplus sys/PwExemplo@//node02:1521/HMLEX as sysdba

SQL*Plus: Release 12.1.0.2.0 Production on Wed Jun 2 09:13:11 2021

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


Connected to:
Oracle Database 12c EE Extreme Perf Release 12.1.0.2.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Advanced Analytics and Real Application Testing options

Leave a Reply

Scroll to Top

Discover more from Blog do Dibiei

Subscribe now to keep reading and get access to the full archive.

Continue reading