Finance

Sep 8 2017

RMAN Backup Control File Tips #file #server #backup, #rman #backup #control #file #tips #


#

RMAN Backup Control File Tips

RMAN – Backing Up the Control File

As was shown in the first chapter, the control file is of great importance to the Oracle database. If the control file is lost, the database will not run. Therefore, we need to protect control files from any failure and back them up correctly. A backup of the control file can be created using RMAN as follows:

RMAN backup current controlfile;

Using the above command, a new backup set is created and the control file is backed up.

If we want to create a backup of control files each time we do a backup of the database, use the include current control file command. In this example, we backup datafile 4 and the current control file together using one command:

RMAN backup datafile 4 include current controlfile;

When the system01.dbf file is backed up, the control file and the spfile are automatically backed up. This is shown in the following example:

C:\oracle\———- dir
0 File(s) 0 bytes
RMAN backup device type disk datafile 1;
C:\oracle\——— dir
O1_mf_ncsnf_tag20090808t002639_57s00o1y_.bkp
o1_mf_nnndf_tag20090808t002639_57rzzhg5_.bkp

From the above example, it is obvious that even though we did not individually backup the control file and the spfile, by backing up the system01.dbf file, those files have been backed up automatically.

If the autobackup feature in RMAN configuration is enabled, then each time a structural change is made to the database, an automatic backup of the control file is performed. This concept was described in detail in Chapter 1 under the section on autobackup.

To create an image copy of the control file, use the following command:

RMAN backup as copy current controlfile format c:\bkp_controlfile.ctl;

Using this command, c:\bkp_controlfile.ctl is created. This file will be a binary copy of the current control file. This type of file may be used directly without RMAN restoration when all control files are lost. In the scenario below, we create an image copy of the control file and recover the database using this file from loss of all control files:

C:\ rman target \
RMAN backup as copy current controlfile format c:\control.ctl ;
#We take image copy of current control file
. output omitted.
output filename=C:\control.ctl tag=tag20090819t134500 recid=1
stamp=695310300
RMAN exit
Recovery Manager complete.

C:\ sqlplus / as sysdba
SQL
shutdown immediate
SQL
host

C:\ cd c:\oracle\product\10.2.0\oradata\test
#Below, after shutting down the database, we delete all control files
and copy newly created image copy of control file to original
destination
C:\oracle\product\10.2.0\oradata\test del *.ctl
C:\ copy control.ctl c:\oracle\product\10.2.0\oradata\test
1 file(s) copied.
C:\ exit
SQL
startup nomount
SQL
alter
system set
control_files= c:\oracle\product\10.2.0\oradata\test\control.ctl
scope=spfile;
System altered.
#Above, in startup nomount mode, we change control_files parameter in
spfile and indicate newly create image copy of control file. Then
shutdown the database and bring it to mount mode.

SQL
shutdown immediate
SQL
startup mount
SQL
alter
database open;
alter database open
*
Error at line 1:
ORA-01589: must use resetlogs or noresetlogs option for database open
#Now, we do not need to open database in resetlogs mode, or we lose
data in redo log files. So we connect to RMAN and recover the database. RMAN automatically finds proper redo log file and apply all changes to
datafiles
SQL
exit
C:\ rman target /
RMAN recover database;
. output omitted.
archive log thread 1 sequence 2 is already on disk as file
C:\oracle\product\10.2.0\oradata\test\redo01.log
archive log filename=C:\oracle\product\10.2.0\oradata\test\redo01.log
thread=1 sequence=2
media recovery complete, elapsed time: 00:00:01
Finished recover at 19-AUG-09

#Now, we can easily open the database using resetlogs option
RMAN alter database open resetlogs;
database opened
RMAN

% Note: The resetlogs operation, performed after having applied the online redo log file in recovery, is done because the control file used is a backup control file and the resetlogs operation synchronizes datafile and redo log headers to the control file.

We can make a RMAN backup set from the control file created above. To do that, use the backup controlfilecopy command as shown below:

RMAN backup as copy current controlfile format c:\control.ctl ;
RMAN backup controlfilecopy c:\control.ctl ;
channel ora_disk_1: starting full datafile backupset
input control file copy name=C:\control.ctl
RMAN


Written by admin


Leave a Reply

Your email address will not be published. Required fields are marked *

%d bloggers like this: