RMAN-03002 RMAN-05501 RMAN-04014 ORA-27528 no Duplicate de Banco de Dados
Olá pessoal,
Tudo bem?
Um grande amigo meu me chamou estes dias atrás pois estava com um problema no Duplicate de um banco de dados, retornando o seguinte erro:
RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: falha do comando Duplicate Db em 05/17/2019 11:03:18 RMAN-05501: abortando duplicacao de banco de dados de destino RMAN-03015: erro ocorrido no script armazenado Memory Script RMAN-04014: falha na inicializacao: ORA-27528: Transport: RDS required by Engineered System is not available
Bom, o principal erro aí é o ORA-27528: Transport: RDS required by Engineered System is not available
Este erro geralmente acontece em ambientes Exadata (Engineering System) ou em algum ambiente que possua Infiniband. Este erro comumente é associado ao protocolo RDS não estar ativado no ORACLE_HOME ou no GRID_HOME, o que para Engineering Systems é bastante estranho.
Realizamos a verificação se o ORACLE_HOME e GRID_HOME possuem o RDS ativado:
[oracle@xxxdbadm01 oracle]$ $ORACLE_HOME/bin/skgxpinfo -v Oracle RDS/IP (generic) [grid@xxxdbadm01 oracle]$ $GRID_HOME/bin/skgxpinfo -v Oracle RDS/IP (generic)
Bom, ambos estão OK!
Qual será o problema?
No Duplicate, meu amigo estava levando o SPFILE junto e aí estava o problema. No banco de dados de origem, o parâmetro CLUSTER_INTERCONNECTS não estava com o seu valor default (que é em branco – assim, os IPs de InterConnect válidos no servidor são automaticamente detectados). Como ele levava o SPFILE no Duplicate, os IPs definidos no ambiente de origem obviamente não existiam, apesar de ter InfiniBand os IPs eram diferentes.
A solução pode ser aplicada de duas formas:
- Crie um PFILE com todos os valores não-default no banco de dados de destino, fazendo as devidas alterações em CLUSTER_INTERCONNECTS, LOCAL_LISTENER e REMOTE_LISTENER.
- No comando de Duplicate, alterar o valor de CLUSTER_INTERCONNECTS, exemplo:
DUPLICATE TARGET DATABASE FOR STANDBY FROM ACTIVE DATABASE SET CONTROL_FILES '+DATA' SET DB_CREATE_FILE_DEST '+DATA' SET DB_UNIQUE_NAME 'XXXX' SET audit_file_dest '/oracle/XXXX/adump' SET DB_RECOVERY_FILE_DEST '+RECO' SET LISTENER_NETWORKS '' SET CLUSTER_INTERCONNECTS '';
Espero que seja útil!
Um abraço!
Vinicius
Leave a comment