Change
or Multiplex Control File Location
Steps
Changing the ControlFile Location
Change
the control_files Parameter
1. Shut down the database.
2. Copy an existing control file to a different location, using operating system commands.
3. Edit the CONTROL_FILES parameter in the database's initialization parameter file to add the new control file's name, or to change the existing control filename.
4. Restart the database.
--Command prompt …
set ORACLE_SID=orcl
set ORACLE_HOME=E:\oracle\ora92
set PATH=E:\oracle\ora92\bin
sqlplus
Enter user-name: / as sysdba
SQL> Select * from v$controlfile;
STATUS NAME
-------------------------------------
E:\ORACLE\ORADATA\ORCL\CONTROL01.CTL
E:\ORACLE\ORADATA\ORCL\CONTROL02.CTL
E:\ORACLE\ORADATA\ORCL\CONTROL03.CTL
--All control files are on one location !@#
SQL> create pfile='E:\oracle\admin\orcl\pfile\init14022007.ora' from spfile;
SQL> shutdown immediate;
Using OS commands change the location of ex. CONTROL02.CTL from location E:\oracle\oradata\orcl
to C:\OraData\orcl
a) Change and save the changes in ascii file E:\oracle\admin\orcl\pfile\init14022007.ora to have ex. line
*.control_files='E:\oracle\oradata\orcl\CONTROL01.CTL','C:\OraData\orcl\CONTROL02.CTL'
Move using OS command the file E:\ORACLE\ORADATA\ORCL\CONTROL02.CTL to C:\OraData\orcl\CONTROL02.CTL
-- Start the database with new location of CONTROL02.CTL
SQL> startup pfile='E:\oracle\admin\orcl\pfile\init14022007.ora'
SQL> Select * from v$controlfile;
STATUS NAME
------------------------------------
E:\ORACLE\ORADATA\ORCL\CONTROL01.CTL
C:\ORADATA\ORCL\CONTROL02.CTL
--Save the changes to spfile and check the changes
SQL> create spfile from pfile='E:\oracle\admin\orcl\pfile\init14022007.ora';
SQL> shutdown immediate
SQL> startup