You can redirect a restore when the hard disk is full or when you want to move the existing datafiles to a new location on the same host.
This procedure is supported for the latest backup jobs. You cannot use a point-in-time backup job for this procedure.
This procedure includes an example for a UNIX configuration that uses the rman_util device and an example for Windows that uses the util_file device.
UNIX
Before You Begin
-
Perform a full backup:
- On the command line, type the following command:
brbackup -t online|offline -d util_file|rman_util -m all -u /where type (-t) is offline and device type (-d) is rman_util.
- On the command line, type the following command:
-
On the source, use sqlplus to note the parent directory structure. On the sqlplus command line, type the following command:
SQL> select name from v$datafile;Example
In the following example, /home/oracle1/CER1/DATA/sapdata1 through /home/oracle1/CER1/DATA/sapdata6 is similar to the information from $SAPDATA_HOME.
Full Output
SQL> select name from v$datafile; NAME --------------------------------------------------------------------------------/home/oracle1/CER1/DATA/sapdata1/system_1/system.data1 /home/oracle1/CER1/DATA/sapdata1/system_1/sysaux01.dbf /home/oracle1/CER1/DATA/sapdata1/undo_1/undo.data1 /home/oracle1/CER1/DATA/sapdata1/roll_1/roll.data1 /home/oracle1/CER1/DATA/sapdata1/btabd_1/btabd.data1 /home/oracle1/CER1/DATA/sapdata1/ddicd_1/ddicd.data1 /home/oracle1/CER1/DATA/sapdata1/el46bi_1/el46bi.data1 /home/oracle1/CER1/DATA/sapdata1/pooli_1/pooli.data1/home/oracle1/CER1/DATA/sapdata2/btabi_1/btabi.data1 /home/oracle1/CER1/DATA/sapdata2/clud_1/clud.data1 /home/oracle1/CER1/DATA/sapdata2/poold_1/poold.data1 NAME -------------------------------------------------------------------------------- /home/oracle1/CER1/DATA/sapdata2/stabi_2/stabi.data2 /home/oracle1/CER1/DATA/sapdata2/sourced_1/sourced.data1 /home/oracle1/CER1/DATA/sapdata2/user1i_1/user1i.data1 /home/oracle1/CER1/DATA/sapdata3/stabd_1/stabd.data1 /home/oracle1/CER1/DATA/sapdata4/el46bd_1/EL46bd.data1 /home/oracle1/CER1/DATA/sapdata4/protd_1/protd.data1 /home/oracle1/CER1/DATA/sapdata4/user1d_1/user1d.data1/home/oracle1/CER1/DATA/sapdata5/ddici_1/ddici.data1/home/oracle1/CER1/DATA/sapdata6/es46bd_1/es46bd.data1
ls -ltr /home/oracle1/CER1/DATA/ total 24 drwxrwxr-x 13 oracle1 oinstall 4096 Apr 6 19:57 sapdata3 drwxrwxr-x 11 oracle1 oinstall 4096 Apr 6 19:57 sapdata2 drwxrwxr-x 14 oracle1 oinstall 4096 Apr 6 19:57 sapdata1 drwxrwxr-x 3 oracle1 oinstall 4096 Apr 6 19:57 sapdata6 drwxrwxr-x 5 oracle1 oinstall 4096 Apr 6 19:57 sapdata5 drwxrwxr-x 11 oracle1 oinstall 4096 Apr 6 19:57 sapdata4 -
Set the Oracle database state to mount mode so that you can back up the control file to trace.
On the sqlplus command line, type the following command, substituting the control_file_location parameter with the complete path to the source control file:
SQL> shut immediate SQL> startup mount SQL> alter database backup $[controlfile] to trace as '$[control_file_location]';Example
SQL> shut immediate SQL> startup mount SQL> alter database backup $[controlfile] to trace as '$[/home/oracle1/control.ora]'; -
On the new location, create the SAPDATA parent directory structure that you noted in Step 2. On the command line, type the following command, substituting the new_location parameter with the new location path and the SID with the Oracle SID and the child_directory. You must repeat this for each child directory:
mkdir -p $[/new_location/SID/DATA/child_directory]Example
In this example the old location is /home/CER1/DATA and the new location is /new_location/CER1/DATA.
oracle1@sde-suse113:/new_location/CER1/DATA> mkdir -p /new_location/CER1/DATA/sapdata1
oracle1@sde-suse113:/new_location/CER1/DATA> mkdir -p /new_location/CER1/DATA/sapdata2
oracle1@sde-suse113:/new_location/CER1/DATA> mkdir -p /new_location/CER1/DATA/sapdata3
oracle1@sde-suse113:/new_location/CER1/DATA> mkdir -p /new_location/CER1/DATA/sapdata4
oracle1@sde-suse113:/new_location/CER1/DATA> mkdir -p /new_location/CER1/DATA/sapdata5
oracle1@sde-suse113:/new_location/CER1/DATA> mkdir -p /new_location/CER1/DATA/sapdata6 -
Verify the database is in the MOUNT mode.
SQL> select status from v$instance; STATUS ------------ MOUNTED -
Edit the BRBACKUP summary file and note the name of the latest offline rman_util detail file name.
berkfwfi ffr 2015-09-15 17:42:26 2015-09-15 17:45:50 0 ............... 21 20 0 1 3866483 2 3867013 FULL offline_forcerman_util ------ 7.40 (12) CER1
Procedure
-
On the command line, type the following command.
brrestore -m $[all],$[source drive 1]=$[target drive 1],$[source drive 2]=$[target drive 2] -b $[file-id.aff]Example
brrestore -m $[full],$[/home/oracle1/CER1/DATA/sapdata1]=$[/new_location/CER1/DATA/sapdata1],$[/home/oracle1/CER1/DATA/sapdata2]=/$[new_location/CER1/DATA/sapdata2],$[/home/oracle1/CER1/DATA/sapdata3]=$[/new_location/CER1/DATA/sapdata3],$[/home/oracle1/CER1/DATA/sapdata4=/new_location/CER1/DATA/sapdata4],$[/home/oracle1/CER1/DATA/sapdata5=/new_location/CER1/DATA/sapdata5],$[/home/oracle1/CER1/DATA/sapdata6=/new_location/CER1/DATA/sapdata6] -b $[berkfwfi.ffr] -d $[rman_util] -
If you receive the following error message, type c to continue the operation.
BR0565W Due to running database instance control file cannot be restored during a BRRESTORE run with RMAN BR0566I Stop the database instance and restore the control file separately BR0256I Enter 'c[ont]' to continue, 's[top]' to cancel BRRESTORE: ļ press c to continueThe software creates the child directories because the parent directories were manually created.
Example
BR0259I Program execution will be continued...
BR0370I Directory /new_location/CER1/DATA/sapdata1/btabd_1 created
BR0370I Directory /new_location/CER1/DATA/sapdata2/btabi_1 created
BR0370I Directory /new_location/CER1/DATA/sapdata2/clud_1 created
BR0370I Directory /new_location/CER1/DATA/sapdata1/ddicd_1 created
BR0370I Directory /new_location/CER1/DATA/sapdata5/ddici_1 created
BR0370I Directory /new_location/CER1/DATA/sapdata4/el46bd_1 created
BR0370I Directory /new_location/CER1/DATA/sapdata1/el46bi_1 created
BR0370I Directory /new_location/CER1/DATA/sapdata6/es46bd_1 created
BR0370I Directory /new_location/CER1/DATA/sapdata2/poold_1 created
BR0370I Directory /new_location/CER1/DATA/sapdata1/pooli_1 created
BR0370I Directory /new_location/CER1/DATA/sapdata4/protd_1 created
BR0370I Directory /new_location/CER1/DATA/sapdata1/roll_1 created
BR0370I Directory /new_location/CER1/DATA/sapdata2/sourced_1 created
BR0370I Directory /new_location/CER1/DATA/sapdata3/stabd_1 created
BR0370I Directory /new_location/CER1/DATA/sapdata2/stabi_2 created
BR0370I Directory /new_location/CER1/DATA/sapdata1/undo_1 created
BR0370I Directory /new_location/CER1/DATA/sapdata4/user1d_1 created
BR0370I Directory /new_location/CER1/DATA/sapdata2/user1i_1 created
BR0370I Directory /new_location/CER1/DATA/sapdata1/system_1 created -
On the command line, type c to continue the operation. The output displays the old location and the new location where you redirected the restore.
Example
/home/oracle1/CER1/DATA/sapdata1/btabd_1/btabd.data1=/new_location/CER1/DATA/sapdata1/btabd_1
/home/oracle1/CER1/DATA/sapdata2/btabi_1/btabi.data1=/new_location/CER1/DATA/sapdata2/btabi_1
/home/oracle1/CER1/DATA/sapdata2/clud_1/clud.data1=/new_location/CER1/DATA/sapdata2/clud_1
/home/oracle1/CER1/DATA/sapdata1/ddicd_1/ddicd.data1=/new_location/CER1/DATA/sapdata1/ddicd_1
/home/oracle1/CER1/DATA/sapdata5/ddici_1/ddici.data1=/new_location/CER1/DATA/sapdata5/ddici_1
/home/oracle1/CER1/DATA/sapdata4/el46bd_1/EL46bd.data1=/new_location/CER1/DATA/sapdata4/el46bd_1
/home/oracle1/CER1/DATA/sapdata1/el46bi_1/el46bi.data1=/new_location/CER1/DATA/sapdata1/el46bi_1
/home/oracle1/CER1/DATA/sapdata6/es46bd_1/es46bd.data1=/new_location/CER1/DATA/sapdata6/es46bd_1
/home/oracle1/CER1/DATA/sapdata2/poold_1/poold.data1=/new_location/CER1/DATA/sapdata2/poold_1
/home/oracle1/CER1/DATA/sapdata1/pooli_1/pooli.data1=/new_location/CER1/DATA/sapdata1/pooli_1
/home/oracle1/CER1/DATA/sapdata4/protd_1/protd.data1=/new_location/CER1/DATA/sapdata4/protd_1
/home/oracle1/CER1/DATA/sapdata1/roll_1/roll.data1=/new_location/CER1/DATA/sapdata1/roll_1
/home/oracle1/CER1/DATA/sapdata2/sourced_1/sourced.data1=/new_location/CER1/DATA/sapdata2/sourced_1
/home/oracle1/CER1/DATA/sapdata3/stabd_1/stabd.data1=/new_location/CER1/DATA/sapdata3/stabd_1
/home/oracle1/CER1/DATA/sapdata2/stabi_2/stabi.data2=/new_location/CER1/DATA/sapdata2/stabi_2
/home/oracle1/CER1/DATA/sapdata1/undo_1/undo.data1=/new_location/CER1/DATA/sapdata1/undo_1
/home/oracle1/CER1/DATA/sapdata4/user1d_1/user1d.data1=/new_location/CER1/DATA/sapdata4/user1d_1
/home/oracle1/CER1/DATA/sapdata2/user1i_1/user1i.data1=/new_location/CER1/DATA/sapdata2/user1i_1
/home/oracle1/CER1/DATA/sapdata1/system_1/sysaux01.dbf=/new_location/CER1/DATA/sapdata1/system_1
/home/oracle1/CER1/DATA/sapdata1/system_1/system.data1=/new_location/CER1/DATA/sapdata1/system_1 -
On the command line, type c to complete the restore.
-
Shut down the database. On the sqlplus command line, type the following command:
SQL> shut immediate; -
Create a new control file. Open the source control file that you created. Look for the NORESETLOGS line. Copy the lines to notepad.
Example
File before the datafile change
File after the datafile change
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "CER1"
NORESETLOGS ARCHIVELOG
MAXLOGFILES 32
MAXLOGMEMBERS 2
MAXDATAFILES 255
MAXINSTANCES 1
MAXLOGHISTORY 876
LOGFILE
GROUP 1 (
'/home/oracle1/CER1/LOGS/origlogA/log1_m1.dbf',
'/home/oracle1/CER1/LOGS/mirrlogA/log1_m2.dbf'
) SIZE 10M BLOCKSIZE 512,
GROUP 2 (
'/home/oracle1/CER1/LOGS/origlogB/log2_m1.dbf',
'/home/oracle1/CER1/LOGS/mirrlogB/log2_m2.dbf'
) SIZE 10M BLOCKSIZE 512,
GROUP 3 (
'/home/oracle1/CER1/LOGS/origlogA/log3_m1.dbf',
'/home/oracle1/CER1/LOGS/mirrlogA/log3_m2.dbf'
) SIZE 10M BLOCKSIZE 512,
GROUP 4 (
'/home/oracle1/CER1/LOGS/origlogB/log4_m1.dbf',
'/home/oracle1/CER1/LOGS/mirrlogB/log4_m2.dbf'
) SIZE 10M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
'/home/oracle1/CER1/DATA/sapdata1/system_1/system.data1',
'/home/oracle1/CER1/DATA/sapdata1/system_1/sysaux01.dbf',
'/home/oracle1/CER1/DATA/sapdata1/undo_1/undo.data1',
'/home/oracle1/CER1/DATA/sapdata1/roll_1/roll.data1',
'/home/oracle1/CER1/DATA/sapdata1/btabd_1/btabd.data1',
'/home/oracle1/CER1/DATA/sapdata1/ddicd_1/ddicd.data1',
'/home/oracle1/CER1/DATA/sapdata1/el46bi_1/el46bi.data1',
'/home/oracle1/CER1/DATA/sapdata1/pooli_1/pooli.data1',
'/home/oracle1/CER1/DATA/sapdata2/btabi_1/btabi.data1',
'/home/oracle1/CER1/DATA/sapdata2/clud_1/clud.data1',
'/home/oracle1/CER1/DATA/sapdata2/poold_1/poold.data1',
'/home/oracle1/CER1/DATA/sapdata2/stabi_2/stabi.data2',
'/home/oracle1/CER1/DATA/sapdata2/sourced_1/sourced.data1',
'/home/oracle1/CER1/DATA/sapdata2/user1i_1/user1i.data1',
'/home/oracle1/CER1/DATA/sapdata3/stabd_1/stabd.data1',
'/home/oracle1/CER1/DATA/sapdata4/el46bd_1/EL46bd.data1',
'/home/oracle1/CER1/DATA/sapdata4/protd_1/protd.data1',
'/home/oracle1/CER1/DATA/sapdata4/user1d_1/user1d.data1',
'/home/oracle1/CER1/DATA/sapdata5/ddici_1/ddici.data1',
'/home/oracle1/CER1/DATA/sapdata6/es46bd_1/es46bd.data1'
CHARACTER SET US7ASCIISTARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "CER1"
NORESETLOGS ARCHIVELOG
MAXLOGFILES 32
MAXLOGMEMBERS 2
MAXDATAFILES 255
MAXINSTANCES 1
MAXLOGHISTORY 876
LOGFILE
GROUP 1 (
'/home/oracle1/CER1/LOGS/origlogA/log1_m1.dbf',
'/home/oracle1/CER1/LOGS/mirrlogA/log1_m2.dbf'
) SIZE 10M BLOCKSIZE 512,
GROUP 2 (
'/home/oracle1/CER1/LOGS/origlogB/log2_m1.dbf',
'/home/oracle1/CER1/LOGS/mirrlogB/log2_m2.dbf'
) SIZE 10M BLOCKSIZE 512,
GROUP 3 (
'/home/oracle1/CER1/LOGS/origlogA/log3_m1.dbf',
'/home/oracle1/CER1/LOGS/mirrlogA/log3_m2.dbf'
) SIZE 10M BLOCKSIZE 512,
GROUP 4 (
'/home/oracle1/CER1/LOGS/origlogB/log4_m1.dbf',
'/home/oracle1/CER1/LOGS/mirrlogB/log4_m2.dbf'
) SIZE 10M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
'/new_location/CER1/DATA/sapdata1/system_1/system.data1',
'/new_location/CER1/DATA/sapdata1/system_1/sysaux01.dbf',
'/new_location/CER1/DATA/sapdata1/undo_1/undo.data1',
'/new_location/CER1/DATA/sapdata1/roll_1/roll.data1',
'/new_location/CER1/DATA/sapdata1/btabd_1/btabd.data1',
'/new_location/CER1/DATA/sapdata1/ddicd_1/ddicd.data1',
'/new_location/CER1/DATA/sapdata1/el46bi_1/el46bi.data1',
'/new_location/CER1/DATA/sapdata1/pooli_1/pooli.data1',
'/new_location/CER1/DATA/sapdata2/btabi_1/btabi.data1',
'/new_location/CER1/DATA/sapdata2/clud_1/clud.data1',
'/new_location/CER1/DATA/sapdata2/poold_1/poold.data1',
'/new_location/CER1/DATA/sapdata2/stabi_2/stabi.data2',
'/new_location/CER1/DATA/sapdata2/sourced_1/sourced.data1',
'/new_location/CER1/DATA/sapdata2/user1i_1/user1i.data1',
'/new_location/CER1/DATA/sapdata3/stabd_1/stabd.data1',
'/new_location/CER1/DATA/sapdata4/el46bd_1/EL46bd.data1',
'/new_location/CER1/DATA/sapdata4/protd_1/protd.data1',
'/new_location/CER1/DATA/sapdata4/user1d_1/user1d.data1',
'/new_location/CER1/DATA/sapdata5/ddici_1/ddici.data1',
'/new_location/CER1/DATA/sapdata6/es46bd_1/es46bd.data1'
CHARACTER SET US7ASCII -
Go to sqlplus and paste the edited datafile that you created.
-
Perform a test recover. On the command line type the following and verify the lines are shown and then place the database in an OPEN state.
SQL> recover ORA-00283: recovery session canceled due to errors ORA-00264: no recovery required SQL> alter database open; Database altered. -
Verify the tablespaces with the new location for the datafiles. On the command line, type the following command:
SQL> select name from v$datafile;Example Output
File before the datafile change
File after the datafile change
NAME
_____________________________________________________
/home/oracle1/CER1/DATA/sapdata1/system_1/system.data1
/home/oracle1/CER1/DATA/sapdata1/system_1/sysaux01.dbf
/home/oracle1/CER1/DATA/sapdata1/undo_1/undo.data1
/home/oracle1/CER1/DATA/sapdata1/roll_1/roll.data1
/home/oracle1/CER1/DATA/sapdata1/btabd_1/btabd.data1
/home/oracle1/CER1/DATA/sapdata1/ddicd_1/ddicd.data1
/home/oracle1/CER1/DATA/sapdata1/el46bi_1/el46bi.data1
/home/oracle1/CER1/DATA/sapdata1/pooli_1/pooli.data1
/home/oracle1/CER1/DATA/sapdata2/btabi_1/btabi.data1
/home/oracle1/CER1/DATA/sapdata2/clud_1/clud.data1
/home/oracle1/CER1/DATA/sapdata2/poold_1/poold.data1
NAME
______________________________________________________
/home/oracle1/CER1/DATA/sapdata2/stabi_2/stabi.data2
/home/oracle1/CER1/DATA/sapdata2/sourced_1/sourced.data1
/home/oracle1/CER1/DATA/sapdata2/user1i_1/user1i.data1
/home/oracle1/CER1/DATA/sapdata3/stabd_1/stabd.data1
/home/oracle1/CER1/DATA/sapdata4/el46bd_1/EL46bd.data1
/home/oracle1/CER1/DATA/sapdata4/protd_1/protd.data1
/home/oracle1/CER1/DATA/sapdata4/user1d_1/user1d.data1
/home/oracle1/CER1/DATA/sapdata5/ddici_1/ddici.data1
/home/oracle1/CER1/DATA/sapdata6/es46bd_1/es46bd.data1NAME
_____________________________________________________
/new_location/CER1/DATA/sapdata1/system_1/system.data1
/new_location/CER1/DATA/sapdata1/system_1/sysaux01.dbf
/new_location/CER1/DATA/sapdata1/undo_1/undo.data1
/new_location/CER1/DATA/sapdata1/roll_1/roll.data1
/new_location/CER1/DATA/sapdata1/btabd_1/btabd.data1
/new_location/CER1/DATA/sapdata1/ddicd_1/ddicd.data1
/new_location/CER1/DATA/sapdata1/el46bi_1/el46bi.data1
/new_location/CER1/DATA/sapdata1/pooli_1/pooli.data1
/new_location/CER1/DATA/sapdata2/btabi_1/btabi.data1
/new_location/CER1/DATA/sapdata2/clud_1/clud.data1
/new_location/CER1/DATA/sapdata2/poold_1/poold.data1
NAME
______________________________________________________
/new_location/CER1/DATA/sapdata2/stabi_2/stabi.data2
/new_location/CER1/DATA/sapdata2/sourced_1/sourced.data1
/new_location/CER1/DATA/sapdata2/user1i_1/user1i.data1
/new_location/CER1/DATA/sapdata3/stabd_1/stabd.data1
/new_location/CER1/DATA/sapdata4/el46bd_1/EL46bd.data1
/new_location/CER1/DATA/sapdata4/protd_1/protd.data1
/new_location/CER1/DATA/sapdata4/user1d_1/user1d.data1
/new_location/CER1/DATA/sapdata5/ddici_1/ddici.data1
/new_location/CER1/DATA/sapdata6/es46bd_1/es46bd.data1
Windows
Before You Begin
-
Perform a full backup:
- On the command line, type the following command:
brbackup -t online|offline -d util_file|rman_util -m all -u /where type (-t) is offline and device type (-d) is util_file.
- On the command line, type the following command:
-
On the source, use sqlplus to note the parent directory structure. On the sqlplus command line, type the following command:
SQL> select name from v$datafile;Example
In the following example, G:\ORACLE\CER\DATA\sapdata1 through G:\ORACLE\CER\DATA\sapdata6 is similar to the information from %SAPDATA_HOME%.
Full Output
C:\Users\admin>echo %SAPDATA_HOME% G:\oracle\CER NAME --------------------------------------------------------------------------------G:\ORACLE\CER\DATA\SAPDATA1\SYSTEM_1\SYSTEM.DATA1 G:\ORACLE\CER\DATA\SAPDATA1\SYSTEM_1\SYSAUX01.DBF G:\ORACLE\CER\DATA\SAPDATA1\UNDO_1\UNDO.DATA1 G:\ORACLE\CER\DATA\SAPDATA1\ROLL_1\ROLL.DATA1 G:\ORACLE\CER\DATA\SAPDATA1\BTABD_1\BTABD.DATA1 G:\ORACLE\CER\DATA\SAPDATA1\DDICD_1\DDICD.DATA1 G:\ORACLE\CER\DATA\SAPDATA1\EL46BI_1\EL46BI.DATA1 G:\ORACLE\CER\DATA\SAPDATA1\POOLI_1\POOLI.DATA1 G:\ORACLE\CER\DATA\SAPDATA2\BTABI_1\BTABI.DATA1 G:\ORACLE\CER\DATA\SAPDATA2\CLUD_1\CLUD.DATA1 G:\ORACLE\CER\DATA\SAPDATA2\POOLD_1\POOLD.DATA1 NAME -------------------------------------------------------------------------------- G:\ORACLE\CER\DATA\SAPDATA2\STABI_2\STABI.DATA2 G:\ORACLE\CER\DATA\SAPDATA2\SOURCED_1\SOURCED.DATA1 G:\ORACLE\CER\DATA\SAPDATA2\USER1I_1\USER1I.DATA1 G:\ORACLE\CER\DATA\SAPDATA3\STABD_1\STABD.DATA1 G:\ORACLE\CER\DATA\SAPDATA4\EL46BD_1\EL46BD.DATA1 G:\ORACLE\CER\DATA\SAPDATA4\PROTD_1\PROTD.DATA1 G:\ORACLE\CER\DATA\SAPDATA4\USER1D_1\USER1D.DATA1 G:\ORACLE\CER\DATA\SAPDATA5\DDICI_1\DDICI.DATA1 G:\ORACLE\CER\DATA\SAPDATA6\ES46BD_1\ES46BD.DATA1 20 rows selected.
-
Set the Oracle database state to mount mode so that you can back up the control file to trace.
On the sqlplus command line, type the following command, substituting the control_file_location parameter with the complete path to the source control file:
SQL> shut immediate SQL> startup mount SQL> alter database backup controlfile to trace as '$[control_file_location]';Example
SQL> shut immediate SQL> startup mount SQL> alter database backup controlfile to trace as '$[G:\oracle\control.ora]'; -
On the new location (for example, "C:\ORACLE\CER\DATA"), create the SAPDATA parent directory structure that you noted in Step 2. On the command line, type the following command, substituting the new_location parameter with the new location path and the SID with the Oracle SID and the child_directory. You must repeat this for each child directory:
mkdir $[\new_location\SID\DATA\child_directory]Example
In this example the new location is C:\ORACLE\CER\DATA.
C:\Users\admin>mkdir C:\ORACLE\CER\DATA\SAPDATA1 C:\Users\admin>mkdir C:\ORACLE\CER\DATA\SAPDATA2 C:\Users\admin>mkdir C:\ORACLE\CER\DATA\SAPDATA3 C:\Users\admin>mkdir C:\ORACLE\CER\DATA\SAPDATA4 C:\Users\admin>mkdir C:\ORACLE\CER\DATA\SAPDATA5 C:\Users\admin>mkdir C:\ORACLE\CER\DATA\SAPDATA6You must create the subdirectories for each child directory
Example
C:\Users\admin>mkdir C:\ORACLE\CER\DATA\SAPDATA1\BTABD_1
C:\Users\admin>mkdir C:\ORACLE\CER\DATA\SAPDATA2\BTABI_1
C:\Users\admin>mkdir C:\ORACLE\CER\DATA\SAPDATA2\CLUD_1
C:\Users\admin>mkdir C:\ORACLE\CER\DATA\SAPDATA1\DDICD_1
C:\Users\admin>mkdir C:\ORACLE\CER\DATA\SAPDATA5\DDICI_1
C:\Users\admin>mkdir C:\ORACLE\CER\DATA\SAPDATA4\EL46BD_1
C:\Users\admin>mkdir C:\ORACLE\CER\DATA\SAPDATA1\EL46BI_1
C:\Users\admin>mkdir C:\ORACLE\CER\DATA\SAPDATA6\ES46BD_1
C:\Users\admin>mkdir C:\ORACLE\CER\DATA\SAPDATA2\POOLD_1
C:\Users\admin>mkdir C:\ORACLE\CER\DATA\SAPDATA1\POOLI_1
C:\Users\admin>mkdir C:\ORACLE\CER\DATA\SAPDATA4\PROTD_1
C:\Users\admin>mkdir C:\ORACLE\CER\DATA\SAPDATA1\ROLL_1
C:\Users\admin>mkdir C:\ORACLE\CER\DATA\SAPDATA2\SOURCED_1
C:\Users\admin>mkdir C:\ORACLE\CER\DATA\SAPDATA3\STABD_1
C:\Users\admin>mkdir C:\ORACLE\CER\DATA\SAPDATA2\STABI_2
C:\Users\admin>mkdir C:\ORACLE\CER\DATA\SAPDATA1\UNDO_1
C:\Users\admin>mkdir C:\ORACLE\CER\DATA\SAPDATA4\USER1D_1
C:\Users\admin>mkdir C:\ORACLE\CER\DATA\SAPDATA2\USER1I_1
C:\Users\admin>mkdir C:\ORACLE\CER\DATA\SAPDATA1\SYSTEM_1 -
Verify the database is in the MOUNT mode.
SQL> select status from v$instance; STATUS ------------ MOUNTED -
Edit the BRBACKUP summary file and note the name of the latest offline rman_util detail file name.
besbrqzr aff 2015-12-17 01:15:23 2015-12-17 01:18:19 0 ............... 21 20 0 31 2823716 31 2823716 ALL offline_force util_file ------ 7.40 (4) CER
Procedure
-
On the command line, type the following command.
brrestore -m $[all],$[source drive 1]=$[target drive 1],$[source drive 2]=$[target drive 2] -b $[file-id.aff] -d $[backup_device_type]
Example
brrestore -m all,G:\ORACLE\CER\DATA\SAPDATA1\SYSTEM_1\SYSTEM.DATA1=C:\ORACLE\CER\DATA\SAPDATA1\SYSTEM_1,G:\ORACLE\CER\DATA\SAPDATA1\SYSTEM_1\SYSAUX01.DBF=C:\ORACLE\CER\DATA\SAPDATA1\SYSTEM_1, G:\ORACLE\CER\DATA\SAPDATA1\UNDO_1\UNDO.DATA1=C:\ORACLE\CER\DATA\SAPDATA1\UNDO_1,G:\ORACLE\CER\DATA\SAPDATA1\ROLL_1\ROLL.DATA1=C:\ORACLE\CER\DATA\SAPDATA1\ROLL_1, G:\ORACLE\CER\DATA\SAPDATA1\BTABD_1\BTABD.DATA1=C:\ORACLE\CER\DATA\SAPDATA1\BTABD_1,G:\ORACLE\CER\DATA\SAPDATA1\DDICD_1\DDICD.DATA1=C:\ORACLE\CER\DATA\SAPDATA1\DDICD_1, G:\ORACLE\CER\DATA\SAPDATA1\EL46BI_1\EL46BI.DATA1=C:\ORACLE\CER\DATA\SAPDATA1\EL46BI_1,G:\ORACLE\CER\DATA\SAPDATA1\POOLI_1\POOLI.DATA1=C:\ORACLE\CER\DATA\SAPDATA1\POOLI_1, G:\ORACLE\CER\DATA\SAPDATA2\BTABI_1\BTABI.DATA1=C:\ORACLE\CER\DATA\SAPDATA2\BTABI_1,G:\ORACLE\CER\DATA\SAPDATA2\CLUD_1\CLUD.DATA1=C:\ORACLE\CER\DATA\SAPDATA2\CLUD_1, G:\ORACLE\CER\DATA\SAPDATA2\POOLD_1\POOLD.DATA1=C:\ORACLE\CER\DATA\SAPDATA2\POOLD_1,G:\ORACLE\CER\DATA\SAPDATA2\STABI_2\STABI.DATA2=C:\ORACLE\CER\DATA\SAPDATA2\STABI_2, G:\ORACLE\CER\DATA\SAPDATA2\SOURCED_1\SOURCED.DATA1=C:\ORACLE\CER\DATA\SAPDATA2\SOURCED_1,G:\ORACLE\CER\DATA\SAPDATA2\USER1I_1\USER1I.DATA1=C:\ORACLE\CER\DATA\SAPDATA2\USER1I_1, G:\ORACLE\CER\DATA\SAPDATA3\STABD_1\STABD.DATA1=C:\ORACLE\CER\DATA\SAPDATA3\STABD_1,G:\ORACLE\CER\DATA\SAPDATA4\EL46BD_1\EL46BD.DATA1=C:\ORACLE\CER\DATA\SAPDATA4\EL46BD_1, G:\ORACLE\CER\DATA\SAPDATA4\PROTD_1\PROTD.DATA1=C:\ORACLE\CER\DATA\SAPDATA4\PROTD_1,G:\ORACLE\CER\DATA\SAPDATA4\USER1D_1\USER1D.DATA1=C:\ORACLE\CER\DATA\SAPDATA4\USER1D_1, G:\ORACLE\CER\DATA\SAPDATA5\DDICI_1\DDICI.DATA1=C:\ORACLE\CER\DATA\SAPDATA5\DDICI_1,G:\ORACLE\CER\DATA\SAPDATA6\ES46BD_1\ES46BD.DATA1=C:\ORACLE\CER\DATA\SAPDATA6\ES46BD_1 -b besbrqzr.aff -d util_file
eBR0401I BRRESTORE 7.40 (4)
BR0405I Start of file restore: resbrsar.rsb 2015-12-17 01:27:05
BR0484I BRRESTORE log file: G:\oracle\CER\sapbackup\resbrsar.rsbBR0280I BRRESTORE time stamp: 2015-12-17 01:27:05
BR0407I Restore of database: CER
BR0408I BRRESTORE action ID: resbrsar
BR0409I BRRESTORE function ID: rsb
BR0449I Restore mode: ALL BR0411I Database files for restore:
G:\ORACLE\CER\DATA\SAPDATA1\BTABD_1\BTABD.DATA1=C:\ORACLE\CER\DATA\SAPDATA1\BTABD_1
G:\ORACLE\CER\DATA\SAPDATA2\BTABI_1\BTABI.DATA1=C:\ORACLE\CER\DATA\SAPDATA2\BTABI_1
G:\ORACLE\CER\DATA\SAPDATA2\CLUD_1\CLUD.DATA1=C:\ORACLE\CER\DATA\SAPDATA2\CLUD_1
G:\ORACLE\CER\DATA\SAPDATA1\DDICD_1\DDICD.DATA1=C:\ORACLE\CER\DATA\SAPDATA1\DDICD_1
G:\ORACLE\CER\DATA\SAPDATA5\DDICI_1\DDICI.DATA1=C:\ORACLE\CER\DATA\SAPDATA5\DDICI_1
G:\ORACLE\CER\DATA\SAPDATA4\EL46BD_1\EL46BD.DATA1=C:\ORACLE\CER\DATA\SAPDATA4\EL46BD_1
G:\ORACLE\CER\DATA\SAPDATA1\EL46BI_1\EL46BI.DATA1=C:\ORACLE\CER\DATA\SAPDATA1\EL46BI_1
G:\ORACLE\CER\DATA\SAPDATA6\ES46BD_1\ES46BD.DATA1=C:\ORACLE\CER\DATA\SAPDATA6\ES46BD_1
G:\ORACLE\CER\DATA\SAPDATA2\POOLD_1\POOLD.DATA1=C:\ORACLE\CER\DATA\SAPDATA2\POOLD_1
G:\ORACLE\CER\DATA\SAPDATA1\POOLI_1\POOLI.DATA1=C:\ORACLE\CER\DATA\SAPDATA1\POOLI_1
G:\ORACLE\CER\DATA\SAPDATA4\PROTD_1\PROTD.DATA1=C:\ORACLE\CER\DATA\SAPDATA4\PROTD_1
G:\ORACLE\CER\DATA\SAPDATA1\ROLL_1\ROLL.DATA1=C:\ORACLE\CER\DATA\SAPDATA1\ROLL_1
G:\ORACLE\CER\DATA\SAPDATA2\SOURCED_1\SOURCED.DATA1=C:\ORACLE\CER\DATA\SAPDATA2\SOURCED_1
G:\ORACLE\CER\DATA\SAPDATA3\STABD_1\STABD.DATA1=C:\ORACLE\CER\DATA\SAPDATA3\STABD_1
G:\ORACLE\CER\DATA\SAPDATA2\STABI_2\STABI.DATA2=C:\ORACLE\CER\DATA\SAPDATA2\STABI_2
G:\ORACLE\CER\DATA\SAPDATA1\UNDO_1\UNDO.DATA1=C:\ORACLE\CER\DATA\SAPDATA1\UNDO_1
G:\ORACLE\CER\DATA\SAPDATA4\USER1D_1\USER1D.DATA1=C:\ORACLE\CER\DATA\SAPDATA4\USER1D_1
G:\ORACLE\CER\DATA\SAPDATA2\USER1I_1\USER1I.DATA1=C:\ORACLE\CER\DATA\SAPDATA2\USER1I_1
G:\ORACLE\CER\DATA\SAPDATA1\SYSTEM_1\SYSAUX01.DBF=C:\ORACLE\CER\DATA\SAPDATA1\SYSTEM_1
G:\ORACLE\CER\DATA\SAPDATA1\SYSTEM_1\SYSTEM.DATA1=C:\ORACLE\CER\DATA\SAPDATA1\SYSTEM_1
BR0419I Files will be restored from backup: besbrqzr.aff 2015-12-17 01:15:23
BR0416I 20 files found to restore, total size 815.156 MB BR0421I Restore device type: util_fileBR0280I BRRESTORE time stamp: 2015-12-17 01:27:05 BR0256I Enter 'c[ont]' to continue, 's[top]' to cancel BRRESTORE:
Type ācā and press enter for the restore to complete.
-
Create a new control file. Open the source control file that you created. Look for the NORESETLOGS line. Copy the lines to notepad.
Example
In this example, the control file is "G:\oracle\oracle.ora".
File before the datafile change
File after the datafile change
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "CER"
NORESETLOGS ARCHIVELOG
MAXLOGFILES 32
MAXLOGMEMBERS 2
MAXDATAFILES 255
MAXINSTANCES 16
MAXLOGHISTORY 1752
LOGFILE
GROUP 1 (
'G:\ORACLE\CER\LOGS\ORIGLOGA\LOG1_M1.DBF',
'G:\ORACLE\CER\LOGS\MIRRLOGA\LOG1_M2.DBF'
) SIZE 10M BLOCKSIZE 512,
GROUP 2 (
'G:\ORACLE\CER\LOGS\ORIGLOGB\LOG2_M1.DBF',
'G:\ORACLE\CER\LOGS\MIRRLOGB\LOG2_M2.DBF'
) SIZE 10M BLOCKSIZE 512,
GROUP 3 (
'G:\ORACLE\CER\LOGS\ORIGLOGA\LOG3_M1.DBF',
'G:\ORACLE\CER\LOGS\MIRRLOGA\LOG3_M2.DBF'
) SIZE 10M BLOCKSIZE 512,
GROUP 4 (
'G:\ORACLE\CER\LOGS\ORIGLOGB\LOG4_M1.DBF',
'G:\ORACLE\CER\LOGS\MIRRLOGB\LOG4_M2.DBF'
) SIZE 10M BLOCKSIZE 512
-- STANDBY LOGFILE DATAFILE
'G:\ORACLE\CER\DATA\SAPDATA1\SYSTEM_1\SYSTEM.DATA1',
'G:\ORACLE\CER\DATA\SAPDATA1\SYSTEM_1\SYSAUX01.DBF',
'G:\ORACLE\CER\DATA\SAPDATA1\UNDO_1\UNDO.DATA1',
'G:\ORACLE\CER\DATA\SAPDATA1\ROLL_1\ROLL.DATA1',
'G:\ORACLE\CER\DATA\SAPDATA1\BTABD_1\BTABD.DATA1',
'G:\ORACLE\CER\DATA\SAPDATA1\DDICD_1\DDICD.DATA1',
'G:\ORACLE\CER\DATA\SAPDATA1\EL46BI_1\EL46BI.DATA1',
'G:\ORACLE\CER\DATA\SAPDATA1\POOLI_1\POOLI.DATA1',
'G:\ORACLE\CER\DATA\SAPDATA2\BTABI_1\BTABI.DATA1',
'G:\ORACLE\CER\DATA\SAPDATA2\CLUD_1\CLUD.DATA1',
'G:\ORACLE\CER\DATA\SAPDATA2\POOLD_1\POOLD.DATA1',
'G:\ORACLE\CER\DATA\SAPDATA2\STABI_2\STABI.DATA2',
'G:\ORACLE\CER\DATA\SAPDATA2\SOURCED_1\SOURCED.DATA1',
'G:\ORACLE\CER\DATA\SAPDATA2\USER1I_1\USER1I.DATA1',
'G:\ORACLE\CER\DATA\SAPDATA3\STABD_1\STABD.DATA1',
'G:\ORACLE\CER\DATA\SAPDATA4\EL46BD_1\EL46BD.DATA1',
'G:\ORACLE\CER\DATA\SAPDATA4\PROTD_1\PROTD.DATA1',
'G:\ORACLE\CER\DATA\SAPDATA4\USER1D_1\USER1D.DATA1',
'G:\ORACLE\CER\DATA\SAPDATA5\DDICI_1\DDICI.DATA1',
'G:\ORACLE\CER\DATA\SAPDATA6\ES46BD_1\ES46BD.DATA1'
CHARACTER SET US7ASCIISTARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "CER"
NORESETLOGS ARCHIVELOG
MAXLOGFILES 32
MAXLOGMEMBERS 2
MAXDATAFILES 255
MAXINSTANCES 16
MAXLOGHISTORY 1752
LOGFILE
GROUP 1 (
'G:\ORACLE\CER\LOGS\ORIGLOGA\LOG1_M1.DBF',
'G:\ORACLE\CER\LOGS\MIRRLOGA\LOG1_M2.DBF'
) SIZE 10M BLOCKSIZE 512,
GROUP 2 (
'G:\ORACLE\CER\LOGS\ORIGLOGB\LOG2_M1.DBF',
'G:\ORACLE\CER\LOGS\MIRRLOGB\LOG2_M2.DBF'
) SIZE 10M BLOCKSIZE 512,
GROUP 3 (
'G:\ORACLE\CER\LOGS\ORIGLOGA\LOG3_M1.DBF',
'G:\ORACLE\CER\LOGS\MIRRLOGA\LOG3_M2.DBF'
) SIZE 10M BLOCKSIZE 512,
GROUP 4 (
'G:\ORACLE\CER\LOGS\ORIGLOGB\LOG4_M1.DBF',
'G:\ORACLE\CER\LOGS\MIRRLOGB\LOG4_M2.DBF'
) SIZE 10M BLOCKSIZE 512
-- STANDBY LOGFILE DATAFILE
'C:\ORACLE\CER\DATA\SAPDATA1\SYSTEM_1\SYSTEM.DATA1',
'C:\ORACLE\CER\DATA\SAPDATA1\SYSTEM_1\SYSAUX01.DBF',
'C:\ORACLE\CER\DATA\SAPDATA1\UNDO_1\UNDO.DATA1',
'C:\ORACLE\CER\DATA\SAPDATA1\ROLL_1\ROLL.DATA1',
'C:\ORACLE\CER\DATA\SAPDATA1\BTABD_1\BTABD.DATA1',
'C:\ORACLE\CER\DATA\SAPDATA1\DDICD_1\DDICD.DATA1',
'C:\ORACLE\CER\DATA\SAPDATA1\EL46BI_1\EL46BI.DATA1',
'C:\ORACLE\CER\DATA\SAPDATA1\POOLI_1\POOLI.DATA1',
'C:\ORACLE\CER\DATA\SAPDATA2\BTABI_1\BTABI.DATA1',
'C:\ORACLE\CER\DATA\SAPDATA2\CLUD_1\CLUD.DATA1',
'C:\ORACLE\CER\DATA\SAPDATA2\POOLD_1\POOLD.DATA1',
'C:\ORACLE\CER\DATA\SAPDATA2\STABI_2\STABI.DATA2',
'C:\ORACLE\CER\DATA\SAPDATA2\SOURCED_1\SOURCED.DATA1',
'C:\ORACLE\CER\DATA\SAPDATA2\USER1I_1\USER1I.DATA1',
'C:\ORACLE\CER\DATA\SAPDATA3\STABD_1\STABD.DATA1',
'C:\ORACLE\CER\DATA\SAPDATA4\EL46BD_1\EL46BD.DATA1',
'C:\ORACLE\CER\DATA\SAPDATA4\PROTD_1\PROTD.DATA1',
'C:\ORACLE\CER\DATA\SAPDATA4\USER1D_1\USER1D.DATA1',
'C:\ORACLE\CER\DATA\SAPDATA5\DDICI_1\DDICI.DATA1',
'C:\ORACLE\CER\DATA\SAPDATA6\ES46BD_1\ES46BD.DATA1'
CHARACTER SET US7ASCII -
Shut down the database. On the sqlplus command line, type the following command:
SQL> shut immediate; -
Go to sqlplus and paste the edited datafile.
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "CER"
NORESETLOGS ARCHIVELOG
MAXLOGFILES 32
MAXLOGMEMBERS 2
MAXDATAFILES 255
MAXINSTANCES 16
MAXLOGHISTORY 1752
LOGFILE
GROUP 1 (
'G:\ORACLE\CER\LOGS\ORIGLOGA\LOG1_M1.DBF',
'G:\ORACLE\CER\LOGS\MIRRLOGA\LOG1_M2.DBF'
) SIZE 10M BLOCKSIZE 512,
GROUP 2 (
'G:\ORACLE\CER\LOGS\ORIGLOGB\LOG2_M1.DBF',
'G:\ORACLE\CER\LOGS\MIRRLOGB\LOG2_M2.DBF'
) SIZE 10M BLOCKSIZE 512,
GROUP 3 (
'G:\ORACLE\CER\LOGS\ORIGLOGA\LOG3_M1.DBF',
'G:\ORACLE\CER\LOGS\MIRRLOGA\LOG3_M2.DBF'
) SIZE 10M BLOCKSIZE 512,
GROUP 4 (
'G:\ORACLE\CER\LOGS\ORIGLOGB\LOG4_M1.DBF',
'G:\ORACLE\CER\LOGS\MIRRLOGB\LOG4_M2.DBF'
) SIZE 10M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
'C:\ORACLE\CER\DATA\SAPDATA1\SYSTEM_1\SYSTEM.DATA1',
'C:\ORACLE\CER\DATA\SAPDATA1\SYSTEM_1\SYSAUX01.DBF',
'C:\ORACLE\CER\DATA\SAPDATA1\UNDO_1\UNDO.DATA1',
'C:\ORACLE\CER\DATA\SAPDATA1\ROLL_1\ROLL.DATA1',
'C:\ORACLE\CER\DATA\SAPDATA1\BTABD_1\BTABD.DATA1',
'C:\ORACLE\CER\DATA\SAPDATA1\DDICD_1\DDICD.DATA1',
'C:\ORACLE\CER\DATA\SAPDATA1\EL46BI_1\EL46BI.DATA1',
'C:\ORACLE\CER\DATA\SAPDATA1\POOLI_1\POOLI.DATA1',
'C:\ORACLE\CER\DATA\SAPDATA2\BTABI_1\BTABI.DATA1',
'C:\ORACLE\CER\DATA\SAPDATA2\CLUD_1\CLUD.DATA1',
'C:\ORACLE\CER\DATA\SAPDATA2\POOLD_1\POOLD.DATA1',
'C:\ORACLE\CER\DATA\SAPDATA2\STABI_2\STABI.DATA2',
'C:\ORACLE\CER\DATA\SAPDATA2\SOURCED_1\SOURCED.DATA1',
'C:\ORACLE\CER\DATA\SAPDATA2\USER1I_1\USER1I.DATA1',
'C:\ORACLE\CER\DATA\SAPDATA3\STABD_1\STABD.DATA1',
'C:\ORACLE\CER\DATA\SAPDATA4\EL46BD_1\EL46BD.DATA1',
'C:\ORACLE\CER\DATA\SAPDATA4\PROTD_1\PROTD.DATA1',
'C:\ORACLE\CER\DATA\SAPDATA4\USER1D_1\USER1D.DATA1',
'C:\ORACLE\CER\DATA\SAPDATA5\DDICI_1\DDICI.DATA1',
'C:\ORACLE\CER\DATA\SAPDATA6\ES46BD_1\ES46BD.DATA1'
CHARACTER SET US7ASCIIExample Output
NAME --------------------------------------------------------------------------------
C:\ORACLE\CER\DATA\SAPDATA1\SYSTEM_1\SYSTEM.DATA1
C:\ORACLE\CER\DATA\SAPDATA1\SYSTEM_1\SYSAUX01.DBF
C:\ORACLE\CER\DATA\SAPDATA1\UNDO_1\UNDO.DATA1
C:\ORACLE\CER\DATA\SAPDATA1\ROLL_1\ROLL.DATA1
C:\ORACLE\CER\DATA\SAPDATA1\BTABD_1\BTABD.DATA1
C:\ORACLE\CER\DATA\SAPDATA1\DDICD_1\DDICD.DATA1
C:\ORACLE\CER\DATA\SAPDATA1\EL46BI_1\EL46BI.DATA1
C:\ORACLE\CER\DATA\SAPDATA1\POOLI_1\POOLI.DATA1
C:\ORACLE\CER\DATA\SAPDATA2\BTABI_1\BTABI.DATA1
C:\ORACLE\CER\DATA\SAPDATA2\CLUD_1\CLUD.DATA1
C:\ORACLE\CER\DATA\SAPDATA2\POOLD_1\POOLD.DATA1NAME --------------------------------------------------------------------------------
C:\ORACLE\CER\DATA\SAPDATA2\STABI_2\STABI.DATA2
C:\ORACLE\CER\DATA\SAPDATA2\SOURCED_1\SOURCED.DATA1
C:\ORACLE\CER\DATA\SAPDATA2\USER1I_1\USER1I.DATA1
C:\ORACLE\CER\DATA\SAPDATA3\STABD_1\STABD.DATA1
C:\ORACLE\CER\DATA\SAPDATA4\EL46BD_1\EL46BD.DATA1
C:\ORACLE\CER\DATA\SAPDATA4\PROTD_1\PROTD.DATA1
C:\ORACLE\CER\DATA\SAPDATA4\USER1D_1\USER1D.DATA1
C:\ORACLE\CER\DATA\SAPDATA5\DDICI_1\DDICI.DATA1
C:\ORACLE\CER\DATA\SAPDATA6\ES46BD_1\ES46BD.DATA120 rows selected.