Saturday, March 5, 2011

How to change the Noarchivelog mode to Archivelog mode


The Oracle database can be configured to run in ARCHIVELOG mode or NOARCHIVELOG mode. The former enables hot backup (backup files while the database is up) and point in time recovery from media failure. Oracle writes to the redo log files in both the modes of operation. In NOARCHIVELOG mode, the online redo log files are overwritten each time a log file is filled and a log switch occurs.

In ARCHIVELOG mode, the redo log files are saved before they are overwritten by the LGWR process. If a media failure occurs, in NOARCHIVELOG mode, you have to restore the database from the latest cold backup; in ARCHIVELOG mode you can restore the damaged files from the latest backup and apply all changes made to the database from archived redo logs.

Changing the Noarchive log mode to Archivelog mode

Step1:Change the Archive parameters in init.ora file.
There are "init.ora" parameters you need to modify in order to properly handle your database being in archive log mode. They are:

LOG_ARCHIVE_DEST:
This parameter specifies the directory where your archive logs will be placed.

LOG_ARCHIVE_FORMAT:
This parameter names the archive logs in this format. For example, if your format is: arch%s.arc

Step2: Shut down the database instance.
SQL> shutdown immediate

Step3: Start up a new instance and mount, but do not open the database.
SQL> startup mount

Step4: Put the database into archivelog mode
SQL> alter database archivelog

SQL> alter database noarchivelog -to take the database out of archivelog mode

Step4: Open the database.
SQL> alter database open;

Step5: Verify your database is now in archivelog mode.
SQL> archive log list
SQL> Select NAME, CREATED, LOG_MODE, CHECKPOINT_CHANGE#,
             ARCHIVE_CHANGE# from V$DATABASE

2 comments:

  1. What a Such Nice Blog for DBA's (oracle core dba & oracle apps dba)

    Good Work Sekhar.

    ReplyDelete