Monday, June 17, 2013

Enable/Disable Archive Log Mode of Oracle 11g DB on Linux 5.x

Enable Archive Log Mode

[oracle@oraxxxx ~]$ echo $ORACLE_BASE
/u01/app/oracle

[oracle@oraxxxx ~]$ echo $ORACLE_SID
DB11G

[oracle@oraxxxx ~]$ export ORACLE_BASE=/u01/app/oracle/product/11.2.0/db_1
[oracle@oraxxxx ~]$ export ORACLE_SID=orcl
[oracle@oraxxxx ~]$ echo $ORACLE_BASE
/u01/app/oracle/product/11.2.0/db_1

[oracle@oraxxxx ~]$ echo $ORACLE_SID
orcl

[oracle@oraxxxx ~]$ sqlplus "/ as sysdba"
SQL*Plus: Release 11.2.0.1.0 Production on Mon Jun 17 11:05:30 2013
Copyright (c) 1982, 2009, Oracle.  All rights reserved.
Connected to an idle instance.

SQL> startup
ORACLE instance started.

Total System Global Area 1052233728 bytes
Fixed Size                  2220032 bytes
Variable Size             792723456 bytes
Database Buffers          251658240 bytes
Redo Buffers                5632000 bytes
Database mounted.

Database opened.

SQL> archive log list
Database log mode              No Archive Mode
Automatic archival             Disabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     25
Current log sequence           27

SQL>

The log mode is No Archive Mode. Note that Archive destination is USE_DB_RECOVERY_FILE_DEST. You can determine the path by looking at the parameter RECOVERY_FILE_DEST.

SQL> show parameter recovery_file_dest
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest                string      /u01/app/oracle/flash_recovery_area
db_recovery_file_dest_size           big integer 3852M

SQL>

By default, archive logs will be written to the flash recovery area. If you do not want to write archive logs to the flash recovery area you can set the parameter LOG_ARCHIVE_DEST_n to the location in which you wish to write archive logs.

Open other terminal and run blow command:

# mkdir /u01/app/oracle/oradata/orcl/arch
# chown oracle:oinstall /u01/app/oracle/oradata/orcl/arch
# ls –l /u01/app/oracle/oradata/orcl

Change back oracle user terminal

SQL> alter system set log_archive_dest_1='LOCATION=/u01/app/oracle/oradata/orcl/arch' scope = both;
System altered.

SQL> archive log list;
Database log mode              No Archive Mode
Automatic archival             Disabled
Archive destination            /u01/app/oracle/oradata/orcl/arch
Oldest online log sequence     25
Current log sequence           27

SQL>

Now we shutdown the database and bring it backup in mount mode.

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> startup mount
ORACLE instance started.

Total System Global Area 1052233728 bytes
Fixed Size                  2220032 bytes
Variable Size             792723456 bytes
Database Buffers          251658240 bytes
Redo Buffers                5632000 bytes
Database mounted.
Database opened.

SQL>

Lastly all that is needed it set archive log mode and open the database.

SQL> alter database archivelog;
Database altered.

SQL> alter database open;
Database altered.

SQL> archive log list
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            /u01/app/oracle/oradata/orcl/arch
Oldest online log sequence     224
Next log sequence to archive   226
Current log sequence           226

SQL>

We can now see that archive log mode is enabled.

You can switch to the log file to see that an archive is written to archive log location.

SQL> alter system switch logfile;
System altered.

SQL> host 
[oracle@oraxxxx ~]$ ls /u01/app/oracle/oradata/orcl/arch
1_27_711369564.dbf

[oracle@ora1 ~]$ exit
exit

SQL>

 

===================================================== 

 
Disable Archive Log Mode

[oracle@oraxxxx ~]$ sqlplus "/ as sysdba"
SQL*Plus: Release 11.2.0.1.0 Production on Mon Jun 17 12:25:39 2013
Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> archive log list;
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            /u01/app/oracle/oradata/orcl/arch
Oldest online log sequence     224
Next log sequence to archive   226
Current log sequence           226

SQL>

The Database log mode is Archive mode. Next we shut down the database and bring up back up in mount mode.

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> startup mount
ORACLE instance started.
 
Total System Global Area 1052233728 bytes
Fixed Size                  2220032 bytes
Variable Size             792723456 bytes
Database Buffers          251658240 bytes
Redo Buffers                5632000 bytes
Database mounted.

SQL>

All that is left is to disable archive log mode and open the database.

SQL> alter database noarchivelog;
Database altered.

SQL> alter database open;
Database altered.

SQL> archive log list;
Database log mode              No Archive Mode
Automatic archival             Disabled
Archive destination            /u01/app/oracle/oradata/orcl/arch
Oldest online log sequence     26
Current log sequence           28

SQL>

Now you can see, ARCHIVELOG mode has been disabled.

 

 

No comments:

Post a Comment