I was configuring an Oracle Data Guard 19c database, and when I tried to start the database, I received the following error:
[oracle@techserver dbs]$ sqlplus "/as sysdba" SQL*Plus: Release 19.0.0.0.0 - Production on Mon Jul 5 01:03:14 2021 Version 19.3.0.0.0 Copyright (c) 1982, 2019, Oracle. All rights reserved. Connected to an idle instance. SQL> startup mount pfile=inittech1.ora ORA-01261: Parameter db_recovery_file_dest destination string cannot be translated SQL> exit Disconnected
After some analysis, I concluded that the error was the “*.db_recovery_file_dest” parameter configured in the database.
[oracle@techserver dbs]$ cat initTECH1.ora TECH1.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment *.compatible='12.2.0' *.db_block_size=8192 *.db_file_name_convert='+DATA','+DATA' *.db_name='TECH' *.db_unique_name='TECH_ltm_dr' *.fal_client='TECH_LTM_DR1,TECH_LTM_DR2' *.fal_server='TECHPRD1D1,TECHPRD2' *.log_archive_config='DG_CONFIG=(TECH_LTM_DR,TECH)' *.log_archive_dest_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=TECH_LTM_DR' *.log_archive_dest_2='SERVICE=TECH_LTM_DR VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=TECH' *.log_file_name_convert='+DATA','+DATA' *.standby_file_management='AUTO' *.db_recovery_file_dest='+DATA/FRA/' *.db_recovery_file_dest_size=40G [oracle@techserver dbs]$ vi initTECH1.ora
When you use a location on ASM, it is only necessary to specify the name of the disk group and not the directories inside the disk group. Knowing that I configured the parameter from :
*.db_recovery_file_dest='+DATA/FRA/' *.db_recovery_file_dest_size=40G [oracle@techserver dbs]$ vi initTECH1.ora
To:
*.db_recovery_file_dest='+DATA/FRA/' [oracle@techserver dbs]$ vi initTECH1.ora
After the modification the pfile had the output below:
[oracle@techserver dbs]$ cat initTECH1.ora TECH1.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment *.compatible='12.2.0' *.db_block_size=8192 *.db_file_name_convert='+DATA','+DATA' *.db_name='TECH' *.db_unique_name='TECH_ltm_dr' *.fal_client='TECH_LTM_DR1,TECH_LTM_DR2' *.fal_server='TECHPRD1D1,TECHPRD2' *.log_archive_config='DG_CONFIG=(TECH_LTM_DR,TECH)' *.log_archive_dest_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=TECH_LTM_DR' *.log_archive_dest_2='SERVICE=TECH_LTM_DR VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=TECH' *.log_file_name_convert='+DATA','+DATA' *.standby_file_management='AUTO' *.db_recovery_file_dest='+DATA' *.db_recovery_file_dest_size=40G
Consequently, the startup worked after that:
]$ sqlplus "/as sysdba" SQL*Plus: Release 19.0.0.0.0 - Production on Mon Jul 5 01:08:08 2021 Version 19.3.0.0.0 Copyright (c) 1982, 2019, Oracle. All rights reserved. Connected to an idle instance. SQL> startup mount pfile=initTECH1.ora ORACLE instance started. Total System Global Area 297794752 bytes Fixed Size 8895680 bytes Variable Size 230686720 bytes Database Buffers 50331648 bytes Redo Buffers 7880704 bytes Database mounted. SQL> exit Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0
Hi! I am Bruno, a Brazilian born and bred. Former Oracle ACE, Computer Scientist, MSc in Data Science, over ten years of experience in companies such as IBM, Epico Tech, and Playtech based in three different countries (Brazil, Hungary, and Sweden) and joined projects remotely in many others. I am super excited to show you my interest in Databases, Cloud, Data Science, Data Engineering, Bigdata, AI, Programming, Software Engineering, and data in general.
(Continue reading)