Thursday 2 January 2014

Multiplexing the controlfile using spfile.

Multiplexing can be done in two ways.
1)Using spfile
2)Using pfile.


What is multiplexing ?

Storing each copy of controlfile on different physical disk is called  multiplexing.
One controlfile is lost another copy of controlfile can be used to re start  the instance without database recovery.
++++++++++++++++++++++++++++++++++++++++
Steps for  multiplexing controlfile
++++++++++++++++++++++++++++++++++++++
1)check whether the database is running with pfile/spfile.
2)Check the number of controlfile in the database.
3)Add a new controlfile to another disk.
4)shutdown the database
5)start the database
6)query the v$controlfile view.

SQL> show parameter spfile
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      /d01/oracle/product/11.2.0/dbs
                                                 /spfileprod.ora
SQL> select name from v$controlfile;
NAME
--------------------------------------------------------------------------------
/d01/oracle/oradata/prod/control01.ctl
/d01/oracle/flash_recovery_area/prod/control02.ctl
SQL>

SQL> alter system set control_files='/d01/oracle/oradata/prod/control01.ctl','/d01/oracle/flash_recovery_area/prod/control02.ctl','/d08/dbdata/data1/prod/control03.ctl' scope=spfile;
System altered.
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
[oracle@wasiq d08]$ cp -r /d01/oracle/oradata/prod/control01.ctl /d08/dbdata/data1/prod/control03.ctl
[oracle@wasiq d08]$
SQL> startup
ORACLE instance started.
Total System Global Area 1824624640 bytes
Fixed Size                  1337184 bytes
Variable Size            1056966816 bytes
Database Buffers          754974720 bytes
Redo Buffers               11345920 bytes
Database mounted.
Database opened.
SQL>  select name from v$controlfile;
NAME
--------------------------------------------------------------------------------
/d01/oracle/oradata/prod/control01.ctl
/d01/oracle/flash_recovery_area/prod/control02.ctl
/d08/dbdata/data1/prod/control03.ctl
SQL>



No comments:

Post a Comment