Pages

Thursday, January 11, 2018

ORA-16032: parameter LOG_ARCHIVE_DEST_1 destination string cannot be translated

===============================
The Problem:
===============================
Archive destination is not available.
If Oracle is running in ARCHIVE mode, Oracle would be stuck.

SQL> shutdown immediate
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux-x86_64 Error: 2: No such file or directory

SQL> startup mount;
ORA-16032: parameter LOG_ARCHIVE_DEST_1 destination string cannot be translated
ORA-07286: sksagdi: cannot obtain device information.
Linux-x86_64 Error: 2: No such file or directory


The problem is this parameter (LOG_ARCHIVE_DEST_1) is pointing to non existent locatoin.
To change the value of LOG_ARCHIVE_DEST_1:


===============================
Steps to resolve Problem:
===============================

A. Open init<sid>.ora file, and check path for spfile<sid>.ora


my_user@my_server:/software/oracle/111/dbs>% less init<sid>.ora

SPFILE=/software/oracle/admin/igt/pfile/spfile<sid>.ora

STARTUP NOMOUNT;

B. Create a new spfile<sid>.ora

SQL> create pfile='/software/oracle/111/dbs/mem_pfile.ora' 

from spfile='/software/oracle/admin/igt/pfile/spfileigt.ora';


File created.


C. Edit with vi the new file mem_pfile.ora

Change from:
*.log_archive_dest_1='location=/path/does/not/exist'

To:
log_archive_dest_1='location=/path/does/exist'


D. Now backup spfile, and create new spfile from the mem_pfile.ora

Take a backup of the spfile<sid>.ora
cp /software/oracle/111/dbs/init<SID>.ora /software/oracle/111/dbs/init<SID>.ora_orig
General Syntax for creating new :


CREATE SPFILE[='SPfile_name'] FROM PFILE[='pfile_name'];

SQL> CREATE 
SPFILE='/software/oracle/admin/igt/pfile/spfileigt.ora' 
FROM PFILE='/software/oracle/111/dbs/mem_pfile.ora';

File created.

D. It should be possible to open the database.
SQL> SHUTDOWN IMMEDIATE;
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux-x86_64 Error: 2: No such file or directory
SHUTDOWN ABORT;
<now OK>
STARTUP NOMOUNT;
ALTER DATABASE MOUNT;
Optionally - set Oracle to run in NOARCHIVELOG
ALTER DATABASE NOARCHIVELOG;
ALTER DATABASE OPEN;
E. Check log mode:
SELECT log_mode FROM V$DATABASE;

No comments:

Post a Comment