[Script] Oracle Control File Move Add Delete Multiplex

Oracle maintains control file Controlfile related scripts (moving, adding, deleting, multiplexing operations)

 

-- 1- When the database uses the PFILE parameter file, use this method to maintain the control file
-- 1.1 View the parameter file type used by the current database

SQL> SHOW PARAMETER PFILE;
 
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      /home/oracle/product/11gR2/dbs/spfileora11g.ora

 

SQL> SHOW PARAMETER SPFILE;
 
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      /home/oracle/product/11gR2/dbs/spfileora11g.ora

 
-- 1.2 View the current database control file layout status

SQL> SELECT NAME FROM V$CONTROLFILE;
 
NAME
--------------------------------------------------------------------------------
/home/oracle/product/oradata/ora11g/control01.ctl
/home/oracle/product/fast_recovery_area/ora11g/control04.ctl
/home/oracle/product/oradata/ora11g/control02.ctl
/home/oracle/product/oradata/ora11g/control03.ctl
/home/oracle/backup/controlfile/control05.ctl
/home/oracle/backup/controlfile/control06.ctl
/home/oracle/backup/controlfile/control07.ctl
 
7 rows selected

 

SQL> SELECT VALUE FROM V$PARAMETER WHERE NAME = 'control_files';
 
VALUE
--------------------------------------------------------------------------------
/home/oracle/product/oradata/ora11g/control01.ctl, /home/oracle/product/fast_rec

 
-- 1.3 Close the database and modify the dynamic parameter file PFILE (if the current database uses the PFILE parameter file)

SQL> shutdown immediate

 

control_files=("/home/oracle/product/oradata/ora11g/control01.ctl",
               "/home/oracle/product/fast_recovery_area/ora11g/control04.ctl",
               "/home/oracle/product/oradata/ora11g/control02.ctl",
               "/home/oracle/product/oradata/ora11g/control03.ctl",
               "/home/oracle/backup/controlfile/control05.ctl",
               "/home/oracle/backup/controlfile/control06.ctl")

 
-- 1.4 Multi-copy control files at the operating system level to make it consistent with the plan

$ cp /home/oracle/product/oradata/ora11g/control01.ctl
     /home/oracle/product/oradata/ora11g/control02.ctl
$ cp /home/oracle/product/oradata/ora11g/control01.ctl
     /home/oracle/product/oradata/ora11g/control03.ctl
$ cp /home/oracle/product/oradata/ora11g/control01.ctl
     /home/oracle/backup/controlfile/control05.ctl
$ cp /home/oracle/product/oradata/ora11g/control01.ctl
     /home/oracle/backup/controlfile/control06.ctl
$ cp /home/oracle/product/oradata/ora11g/control01.ctl
     /home/oracle/backup/controlfile/control07.ctl

 
-- 1.5 Start the database using the PFILE parameter file

SQL> STARTUP PFILE = '/home/oracle/product/admin/ora11g/pfile/init.ora';

 
-- 1.6 Create SPFILE file based on PFILE parameter file

SQL> CREATE SPFILE FROM PFILE;

 
-- 1.7 Restart the database using a static parameter file

SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP

 
-- 2- When the database uses the SPFILE parameter file, use this method to maintain the control file
-- 2.1 View the parameter file type used by the current database

SQL> SHOW PARAMETER PFILE;
 
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      /home/oracle/product/11gR2/dbs/spfileora11g.ora

 

SQL> SHOW PARAMETER SPFILE;
 
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      /home/oracle/product/11gR2/dbs/spfileora11g.ora

 
-- 2.2 View the current database control file layout status

SQL> SELECT NAME FROM V$CONTROLFILE;
 
NAME
--------------------------------------------------------------------------------
/home/oracle/product/oradata/ora11g/control01.ctl
/home/oracle/product/fast_recovery_area/ora11g/control04.ctl
/home/oracle/product/oradata/ora11g/control02.ctl
/home/oracle/product/oradata/ora11g/control03.ctl
/home/oracle/backup/controlfile/control05.ctl
/home/oracle/backup/controlfile/control06.ctl
/home/oracle/backup/controlfile/control07.ctl
 
7 rows selected

 
-- 2.3 Use the ALTER SYSTEM command to modify the control file information as the SYS DBA user

ALTER SYSTEM SET control_files = '/home/oracle/product/oradata/ora11g/control01.ctl',
                                 '/home/oracle/product/fast_recovery_area/ora11g/control04.ctl',
                                 '/home/oracle/product/oradata/ora11g/control02.ctl',
                                 '/home/oracle/product/oradata/ora11g/control03.ctl',
                                 '/home/oracle/backup/controlfile/control05.ctl',
                                 '/home/oracle/backup/controlfile/control06.ctl',
                                 '/home/oracle/backup/controlfile/control07.ctl'
                                 SCOPE = spfile;

                                 
-- 2.4 Close the database

SQL> SHUTDOWN IMMEDIATE;

 
-- 2.5 Multi-copy control files at the operating system level to make it consistent with the plan

$ cp /home/oracle/product/oradata/ora11g/control01.ctl
     /home/oracle/product/oradata/ora11g/control02.ctl
$ cp /home/oracle/product/oradata/ora11g/control01.ctl
     /home/oracle/product/oradata/ora11g/control03.ctl
$ cp /home/oracle/product/oradata/ora11g/control01.ctl
     /home/oracle/backup/controlfile/control05.ctl
$ cp /home/oracle/product/oradata/ora11g/control01.ctl
     /home/oracle/backup/controlfile/control06.ctl
$ cp /home/oracle/product/oradata/ora11g/control01.ctl
     /home/oracle/backup/controlfile/control07.ctl

 
-- 2.6 Start the database and create PFILE based on SPFILE

SQL> STARTUP;
SQL> CREATE PFILE FROM SPFILE;

 

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326988791&siteId=291194637