Note_Tech

All technological notes.


Project maintained by simonangel-fong Hosted on GitHub Pages — Theme by mattgraham

DBA2 - Multiplexing Control Files

Back


Multiplexing Control Files

Ensure redundancy of control files. If a control file is damaged or lost, recovery is easier if you have another copy. To protect against database failure, your database should have multiple copies of the control file.

multiplexing_cf01


Adding a Control File



Lab: Muliplexing Control File

Query control file

sqlplus / AS SYSDBA
SELECT name FROM v$controlfile;

lab_mult_cf01

SHOW PARAMETER control files;

lab_mult_cf01


Multiplexing Control File

CREATE PFILE FROM SPFILE;

lab_pf01


SHUTDOWN IMMEDIATE
EXIT
# Create a directory for the new control file.
mkdir -p /u01/app/oracle/controlfiles_dir/ORCL

# copy one of control file to directory
cp /u0l/app/oracle/oradata/ORCL/control0l.ctl /u01/app/oracle/controlfiles_dir/ORCL/control03.ctl
# Backup pfile
cp $ORACLE_HOME/dbs/initorcl.ora $ORACLE_HOME/dbs/backup_initorcl.ora

vi $ORACLE_HOME/dbs/initorcl.ora
# add ,'/u01/app/oracle/controlfiles_dir/ORCL/control03.ctl'

lab_mult


sqlplus / AS SYSDBA

STARTUP
-- view parameter
SHOW PARAMETER control_files

Note:

lab_mult


SHUTDOWN IMMEDIATE
EXIT
# re-create cf
cp /u01/app/oracle/oradata/ORCL/control01.ctl /u01/app/oracle/controlfiles_dir/ORCL/control03.ctl
sqlplus / AS SYSDBA

-- create a spfile from pfile before startup
CREATE SPFILE FROM PFILE;

STARTUP

SHOW PARAMETER control_files;

SELECT name FROM v$controlfile;

lab_mult

lab_mult

lab_mult


# refer to the backup pfile
PFILE_PATH=$ORACLE_HOME/dbs/backup_initorcl.ora

sqlplus -s / as sysdba <<EOF
-- Starting the Oracle instance with the specified pfile
STARTUP PFILE='$PFILE_PATH';

-- Recreating the spfile from the current pfile
CREATE SPFILE FROM PFILE;

SHUTDOWN IMMEDIATE

-- startup normally with recreated spfile
STARTUP

SHOW PARAMETER control_files;

SELECT name FROM v\$controlfile;

EXIT

EOF

# remove the additional control file
rm -rf /u01/app/oracle/controlfiles_dir/ORCL

Lab: Multiplex Control File to FRA

-- View current cf
show parameter control_files;
-- NAME          TYPE   VALUE
-- ------------- ------ --------------------------------------------------------------------------------------
-- control_files string /u01/app/oracle/oradata/ORCL/control01.ctl, /u01/app/oracle/oradata/ORCL/control02.ctl

SELECT name FROM v$controlfile;
-- /u01/app/oracle/oradata/ORCL/control01.ctl
-- /u01/app/oracle/oradata/ORCL/control02.ctl
CREATE PFILE FROM SPFILE;
-- create initorcl.ora in $ORACLE_HOME/dbs
ALTER SYSTEM SET CONTROL_FILES='/u01/app/oracle/oradata/ORCL/control01.ctl','/u01/app/oracle/fast_recovery_area/ORCL/control02.ctl' SCOPE=spfile;
SHUTDOWN IMMEDIATE
mv /u01/app/oracle/oradata/ORCL/control02.ctl /u01/app/oracle/fast_recovery_area/ORCL/control02.ctl
STARTUP

SELECT name FROM v$controlfile;
show parameter control_files

lab_mult_cf08


TOP