本文包括oracle的控制文件、数据文件、日志文件、spfile等的移动,备份和恢复操作。
查看controlfile信息
SQL> set linesize 180
SQL> col name format a50
SQL> select * from v$controlfile;
STATUS NAME IS_ BLOCK_SIZE FILE_SIZE_BLKS
------- -------------------------------------------------- --- ---------- --------------
/u02/oradata/mesdb/control01.ctl NO 16384 944
/u02/oradata/mesdb/control02.ctl NO 16384 944
/u02/oradata/mesdb/control03.ctl NO 16384 944
查看控制文件信息
select * from v$controlfile;
**************************************************************************
恢复控制文件
测试平台:10gR2 102040
1. 开启控制文件自动备份,并改变其默认备份路径。
2. 开启控制文件自动备份,控制文件自动备份的路径为默认。
3. 关闭控制文件自动备份,指定备份控制文件的存储位置。
1. 开启控制文件自动备份,并改变其默认备份路径。
connect target / ;
connect catalog rman_102/PASSWORD@rmandb ;
RMAN> configure controlfile autobackup on;
RMAN> configure controlfile autobackup format for device type disk to '/u02/backup_rman/xhdb/%F.bus';
RMAN> backup database format '/u02/backup_rman/xhdb/db_%U.bus';
[oracle@testdb11 ~]$ ls /u02/backup_rman/xhdb/
c-3946220657-20100423-03.bus db_0plbs6e0_1_1.bus
[oracle@testdb11 ~]$
SQL> select dbid from v$database;
DBID
----------
3946220657
SQL>
##########################
## 未连接catalog的测试 ##
##########################
[oracle@testdb11 ~]$ echo $ORACLE_SID
xhdb
[oracle@testdb11 ~]$ rman target /
RMAN> set dbid=3946220657 /* 也可在nomount后设置 */
RMAN> startup nomount; /* nomount后可以执行 show all,显示的全是默认配置; */
此时可以恢复controlfile的命令:
run{
set controlfile autobackup format for device type disk to '/u02/backup_rman/xhdb/%F.bus';
restore controlfile from autobackup;
}
RMAN> restore controlfile from '/u02/backup_rman/xhdb/c-3946220657-20100423-03.bus';
/* 注意这条命令在没有设置DBID的情况下也能执行 */
此时不能恢复controlfile的命令:
RMAN> restore controlfile;
RMAN> restore controlfile from autobackup;
run{
set controlfile autobackup format for device type disk to '/u02/backup_rman/xhdb/%F.bus';
restore controlfile;
}
RMAN> alter database mount; /* 或者执行 startup force mount; */
RMAN> restore database;
RMAN> recover database;
RMAN> alter database open restlogs;
执行完open resetlogs命令前,数据库会自动备份当前的控制文件,如下所示:
Starting control autobackup
Control autobackup written to DISK device
handle '/u02/backup_rman/xhdb/c-3946220657-20100424-00.bus'
Completed: alter database open resetlogs
##########################
## 连接到catalog的测试 ##
##########################
[oracle@testdb11 ~]$ echo $ORACLE_SID
xhdb
[oracle@testdb11 ~]$ rman target / catalog rman_102/PASSWORD@rmandb
RMAN> startup nomount; /* nomount后可以执行 show all,显示的全是已配置的信息; */
此时可以恢复controlfile的命令:
RMAN> restore controlfile;
RMAN> restore controlfile from autobackup;
run{
set controlfile autobackup format for device type disk to '/u02/backup_rman/xhdb/%F.bus';
restore controlfile;
}
run{
set controlfile autobackup format for device type disk to '/u02/backup_rman/xhdb/%F.bus';
restore controlfile from autobackup;
}
RMAN> restore controlfile from '/u02/backup_rman/xhdb/c-3946220657-20100423-03.bus';
以下步骤同上:
################################################################################################################
2. 开启控制文件自动备份,控制文件自动备份的路径为默认。
connect target / ;
connect catalog rman_102/PASSWORD@rmandb ;
RMAN> configure controlfile autobackup on;
RMAN> configure controlfile autobackup format for device type disk clear;
RMAN> backup database format '/u02/backup_rman/xhdb/db_%U.bus';
##########################
## 未连接catalog的测试 ##
##########################
[oracle@testdb11 ~]$ rman target /
RMAN> startup nomount;
此时可以恢复controlfile的命令:
RMAN> restore controlfile from autobackup;
RMAN> restore controlfile from '/u01/app/oracle/flash_recovery_area/XHDB/autobackup/2010_04_24/o1_mf_s_717184905_5x5jdbq3_.bkp';
此时不能恢复controlfile的命令:
RMAN> restore controlfile;
##########################
## 连接到catalog的测试 ##
##########################
[oracle@testdb11 ~]$ echo $ORACLE_SID
xhdb
[oracle@testdb11 ~]$ rman target / catalog rman_102/PASSWORD@rmandb
RMAN> startup nomount;
此时可以恢复controlfile的命令:
RMAN> restore controlfile;
RMAN> restore controlfile from autobackup;
RMAN> restore controlfile from '/u01/app/oracle/flash_recovery_area/XHDB/autobackup/2010_04_24/o1_mf_s_717184905_5x5jdbq3_.bkp';
################################################################################################################
3. 关闭控制文件自动备份,指定备份控制文件的存储位置。
connect target / ;
connect catalog rman_102/PASSWORD@rmandb ;
RMAN> configure controlfile autobackup off;
RMAN> backup database format '/u02/backup_rman/xhdb/db_%U.bus';
RMAN> backup current controlfile format '/u02/backup_rman/xhdb/ctl_%U.bus';
输出过程:
RMAN> backup database format '/u02/backup_rman/xhdb/db_%U.bus';
Starting backup at 24-APR-10
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
input datafile fno=00001 name=/u02/oradata/xhdb/system01.dbf
input datafile fno=00003 name=/u02/oradata/xhdb/sysaux01.dbf
input datafile fno=00005 name=/u02/oradata/xhdb/example01.dbf
input datafile fno=00006 name=/u02/oradata/xhdb/ts01.dbf
input datafile fno=00002 name=/u02/oradata/xhdb/undotbs01.dbf
input datafile fno=00004 name=/u02/oradata/xhdb/users01.dbf
channel ORA_DISK_1: starting piece 1 at 24-APR-10
channel ORA_DISK_1: finished piece 1 at 24-APR-10
piece handle=/u02/backup_rman/xhdb/db_0vlbv0l2_1_1.bus tag=TAG20100424T203130 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:45
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
including current control file in backupset
including current SPFILE in backupset
channel ORA_DISK_1: starting piece 1 at 24-APR-10
channel ORA_DISK_1: finished piece 1 at 24-APR-10
piece handle=/u02/backup_rman/xhdb/db_10lbv0mf_1_1.bus tag=TAG20100424T203130 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:03
Finished backup at 24-APR-10
RMAN> backup current controlfile format '/u02/backup_rman/xhdb/ctl_%U.bus';
Starting backup at 24-APR-10
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
including current control file in backupset
channel ORA_DISK_1: starting piece 1 at 24-APR-10
channel ORA_DISK_1: finished piece 1 at 24-APR-10
piece handle=/u02/backup_rman/xhdb/ctl_11lbv0r4_1_1.bus tag=TAG20100424T203444 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02
Finished backup at 24-APR-10
RMAN>
##########################
## 未连接catalog的测试 ##
##########################
控制文件自动备份的路径为默认的情况下:
[oracle@testdb11 ~]$ rman target /
RMAN> startup nomount;
此时可以恢复controlfile的命令:
RMAN> restore controlfile from '/u02/backup_rman/xhdb/ctl_11lbv0r4_1_1.bus';
RMAN> restore controlfile from '/u02/backup_rman/xhdb/db_10lbv0mf_1_1.bus';
此时不能恢复controlfile的命令:
RMAN> restore controlfile;
RMAN> restore controlfile from autobackup;
##########################
## 连接到catalog的测试 ##
##########################
[oracle@testdb11 ~]$ echo $ORACLE_SID
xhdb
[oracle@testdb11 ~]$ rman target / catalog rman_102/PASSWORD@rmandb
RMAN> startup nomount;
此时可以恢复controlfile的命令:
RMAN> restore controlfile; -- 读的是这个备份片/u02/backup_rman/xhdb/ctl_11lbv0r4_1_1.bus
RMAN> restore controlfile from '/u02/backup_rman/xhdb/ctl_11lbv0r4_1_1.bus';
RMAN> restore controlfile from '/u02/backup_rman/xhdb/db_10lbv0mf_1_1.bus';
此时不能恢复controlfile的命令:
RMAN> restore controlfile from autobackup;
#####################################################
查询确认数据文件、日志文件、控制文件
通过对数据字典DBA_DATA_FILES、V$LOGFILE、V$CONTROFILE 的查询确认数据文件、
日志文件、控制文件
select file_name from dba_data_files;
FILE_NAME
----------------------------------------------------------------
C:\OR ACLE\ORADATA\ORCL\SYSTEM01.DBF
C:\OR ACLE\ORADATA\ORCL\UNDOTBS01.DBF
select member from v$logfile;
C:\OR ACLE\ORADATA\ORCL\REDO03.LOG
C:\OR ACLE\ORADATA\ORCL\REDO02.LOG
select name from v$controlfile;
C:\OR ACLE\ORADATA\ORCL\CONTROL01.CTL
C:\OR ACLE\ORADATA\ORCL\CONTROL02.CTL
数据文件的移动和改名
(数据库打开状态下)
1.找到要移动的与表空间有关的文件
SQL> select file_name,bytes from dba_data_files where tablespace_name = 'USERS';
2.是表空间移动以便其可以移动,在这个阶段,用户将无法访问表空间
SQL> alter tablespace users offline;
3.用系统命令移动文件到新地点
4.在ORACLE中重命名
SQL> alter database rename file '/u03/oradata/rh1dev1/users02.dbf' to '/u04/oradata/rh1dev1/users02.dbf';
5.将表空间联机在线,以便用户访问。
SQL> alter tablespace users online;
6.通过重写日志切换循环,检查V$RECOVER_FILE和DBA_DATA_FILES 以确定移动是否成功。
SQL> alter system switch logfile;
SQL> select * from v$recover_file;
SQL> select file_name from dba_data_files where tablespace_name = 'USERS';
数据文件的移动和改名
(数据库关闭状态下)
在此情况下可以移动SYSTEM表空间
1.移动文件
2.在装配模式下打开数据库,这样文件就可以在 Oracle 内重命名。
SQL> startup mount
3.重命名文件
SQL> alter database rename file '/u03/oradata/rh1dev1/system01.dbf' to '/u04/oradata/rh1dev1/system01.dbf';
4.打开数据库,然后确定Oracle能在新地点访问到该文件。
SQL> alter database open;
SQL> select * from v$recover_file;
SQL> select file_name from dba_data_files where tablespace_name = 'SYSTEM';
移动数据文件
select d.name from v$datafile d join v$tablespace t using(ts#) where t.name = 'XPORT';
shutdown immediate;
! mv /u04/oradata/xport.dbf /u06/oradata
startup mount
alter database rename file '/u04/oradata/xport.dbf' to '/u06/oradata/xport.dbf';
alter database open;
alter database backup controlfile to trace;
移动数据文件不包括SYSTEM、SYSAUX、活动撤销表空间或临时表空间
alter tablespace xport offline;
! mv /u06/oradata/xport.dbf /u05/oradata/xport.dbf
alter tablespace xport rename datafile '/u06/oradata/xport.dbf' to '/u05/oradata/xport.dbf';
alter tablespace xport online;
调整数据文件的大小
SQL> alter database datafile '/u03/oradata/rh1dev1/users02.dbf' resize 150M;
移动控制文件
SQL> select name, value from v$spparameter where name = 'control_files';
NAME VALUE
--------------- --------------------------------------------------
control_files /u01/app/oracle/oradata/control01.ctl
control_files /u01/app/oracle/oradata/control02.ctl
control_files /u01/app/oracle/oradata/control03.ctl
SQL> show parameter control_files
NAME TYPE VALUE
---------------- ----------- ------------------------------
control_files string /u01/app/oracle/oradata/contro
l01.ctl, /u01/app/orac le/orad
ata/control02.ctl, /u01/app/or
acle/oradata/control03.ctl
SQL> alter system set control_files = '/u02/oradata/control01.ctl','/u03/oradata/control02.ctl','/u04/oradata/control03.ctl' scope = spfile;
System altered.
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> ! mv /u01/app/oracle/oradata/control01.ctl /u02/oradata
SQL> ! mv /u01/app/oracle/oradata/control02.ctl /u03/oradata
SQL> ! mv /u01/app/oracle/oradata/control03.ctl /u04/oradata
SQL> startup
ORACLE instance started.
Total System Global Area 422670336 bytes
Fixed Size 1299112 bytes
Variable Size 230690136 bytes
Database Buffers 184549376 bytes
Redo Buffers 6131712 bytes
Database mounted.
Database opened.
SQL> select name, value from v$spparameter where name = 'control_files';
NAME VALUE
--------------- --------------------------------------------------
control_files /u02/oradata/control01.ctl
control_files /u03/oradata/control02.ctl
control_files /u04/oradata/control03.ctl
SQL> show parameter control_files
NAME TYPE VALUE
---------------- ----------- ------------------------------
control_files string /u02/oradata/control01.ctl, /u03/oradata/control02.ctl, /u04/oradata/control03.ctl
undo的丢失与重建测试
1. 建立备份
2. 关闭数据库,并重命名一个undo文件
3. 启动数据库,并进行恢复
4. rman 重新进行备份
1. 建立备份
===========
[oracle@testdb11 ~]$ rman target /
Recovery Manager: Release 10.2.0.4.0 - Production on Fri Jul 24 13:37:52 2009
Copyright (c) 1982, 2007, Oracle. All rights reserved.
connected to target database: YWDB (DBID=2747957768)
RMAN> report schema;
using target database control file instead of recovery catalog
Report of database schema
List of Permanent Datafiles
===========================
File Size(MB) Tablespace RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1 500 SYSTEM *** /u02/oradata/ywdb/system01.dbf
2 35 UNDOTBS1 *** /u02/oradata/ywdb/undotbs01.dbf
3 370 SYSAUX *** /u02/oradata/ywdb/sysaux01.dbf
4 5 USERS *** /u02/oradata/ywdb/users01.dbf
5 100 EXAMPLE *** /u02/oradata/ywdb/example01.dbf
6 50 YZHQTS1 *** /u02/oradata/ywdb/yzhqts1.dbf
7 50 YZHQTS2 *** /u02/oradata/ywdb/yzhqts2.dbf
List of Temporary Files
=======================
File Size(MB) Tablespace Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1 20 TEMP 32767 /u02/oradata/ywdb/temp01.dbf
RMAN> backup database;
Starting backup at 24-JUL-09
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=141 devtype=DISK
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
input datafile fno=00001 name=/u02/oradata/ywdb/system01.dbf
input datafile fno=00003 name=/u02/oradata/ywdb/sysaux01.dbf
input datafile fno=00005 name=/u02/oradata/ywdb/example01.dbf
input datafile fno=00006 name=/u02/oradata/ywdb/yzhqts1.dbf
input datafile fno=00007 name=/u02/oradata/ywdb/yzhqts2.dbf
input datafile fno=00002 name=/u02/oradata/ywdb/undotbs01.dbf
input datafile fno=00004 name=/u02/oradata/ywdb/users01.dbf
channel ORA_DISK_1: starting piece 1 at 24-JUL-09
channel ORA_DISK_1: finished piece 1 at 24-JUL-09
piece handle=/u02/fra/YWDB/backupset/2009_07_24/o1_mf_nnndf_TAG20090724T133806_56ll5zdy_.bkp tag=TAG20090724T133806 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:45
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
including current control file in backupset
including current SPFILE in backupset
channel ORA_DISK_1: starting piece 1 at 24-JUL-09
channel ORA_DISK_1: finished piece 1 at 24-JUL-09
piece handle=/u02/fra/YWDB/backupset/2009_07_24/o1_mf_ncsnf_TAG20090724T133806_56ll7g28_.bkp tag=TAG20090724T133806 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:03
Finished backup at 24-JUL-09
RMAN>
2. 关闭数据库,并重命名一个undo文件
[oracle@testdb11 ~]$ sqlplus "/as sysdba"
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> host
[oracle@testdb11 ~]$ cd /u02/oradata/ywdb/
[oracle@testdb11 ywdb]$ mv undotbs01.dbf undotbs01.dbf.bk
[oracle@testdb11 ywdb]$ exit
exit
3. 启动数据库,并进行恢复
SQL> startup
ORACLE instance started.
Total System Global Area 692060160 bytes
Fixed Size 1269376 bytes
Variable Size 507511168 bytes
Database Buffers 176160768 bytes
Redo Buffers 7118848 bytes
Database mounted.
ORA-01157: cannot identify/lock data file 2 - see DBWR trace file
ORA-01110: data file 2: '/u02/oradata/ywdb/undotbs01.dbf'
SQL>
Fri Jul 24 13:44:39 2009
Database mounted in Exclusive Mode
Completed: ALTER DATABASE MOUNT
Fri Jul 24 13:44:39 2009
ALTER DATABASE OPEN
Fri Jul 24 13:44:39 2009
Errors in file /u01/app/oracle/admin/ywdb/bdump/ywdb_dbw0_22030.trc:
ORA-01157: cannot identify/lock data file 2 - see DBWR trace file
ORA-01110: data file 2: '/u02/oradata/ywdb/undotbs01.dbf'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
ORA-1157 signalled during: ALTER DATABASE OPEN...
SQL> alter database datafile '/u02/oradata/ywdb/undotbs01.dbf' offline drop;
Database altered.
SQL> alter database open;
Database altered.
SQL> show parameter undo
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_management string AUTO
undo_retention integer 900
undo_tablespace string UNDOTBS1
SQL> create undo tablespace undo datafile '/u02/oradata/ywdb/undo.dbf' size 10m;
Tablespace created.
SQL> select tablespace_name, contents from dba_tablespaces;
TABLESPACE_NAME CONTENTS
------------------------------ ---------
SYSTEM PERMANENT
UNDOTBS1 UNDO
SYSAUX PERMANENT
TEMP TEMPORARY
USERS PERMANENT
EXAMPLE PERMANENT
YZHQTS1 PERMANENT
YZHQTS2 PERMANENT
UNDO UNDO
9 rows selected.
SQL> show parameter undo
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_management string AUTO
undo_retention integer 900
undo_tablespace string UNDOTBS1
SQL> alter system set undo_tablespace=undo;
System altered.
SQL> drop tablespace undotbs1;
Tablespace dropped.
SQL>
4. rman 重新进行备份
RMAN> report need backup;
using target database control file instead of recovery catalog
RMAN retention policy will be applied to the command
RMAN retention policy is set to redundancy 1
Report of files with less than 1 redundant backups
File #bkps Name
---- ----- -----------------------------------------------------
8 0 /u02/oradata/ywdb/undo.dbf
RMAN> backup datafile '/u02/oradata/ywdb/undo.dbf';
Starting backup at 24-JUL-09
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
input datafile fno=00002 name=/u02/oradata/ywdb/undo.dbf
channel ORA_DISK_1: starting piece 1 at 24-JUL-09
channel ORA_DISK_1: finished piece 1 at 24-JUL-09
piece handle=/u02/fra/YWDB/backupset/2009_07_24/o1_mf_nnndf_TAG20090724T144944_56lpd8hr_.bkp tag=TAG20090724T144944 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 24-JUL-09
RMAN> report need backup;
RMAN retention policy will be applied to the command
RMAN retention policy is set to redundancy 1
Report of files with less than 1 redundant backups
File #bkps Name
---- ----- -----------------------------------------------------
恢复SPFILE
1. 开启控制文件自动备份,并改变其默认备份路径。
2. 开启控制文件自动备份,控制文件自动备份的路径为默认。
3. 关闭控制文件自动备份,指定SPFILE的存储位置。
1. 开启控制文件自动备份,并改变其默认备份路径。
connect target / ;
connect catalog rman_102/PASSWORD@rmandb ;
RMAN> configure controlfile autobackup on;
RMAN> configure controlfile autobackup format for device type disk to '/u02/backup_rman/xhdb/%F.bus';
RMAN> backup database format '/u02/backup_rman/xhdb/db_%U.bus';
[oracle@testdb11 ~]$ ls /u02/backup_rman/xhdb/
c-3946220657-20100423-03.bus db_0plbs6e0_1_1.bus
[oracle@testdb11 ~]$
SQL> select dbid from v$database;
DBID
----------
3946220657
SQL>
##########################
## 未连接catalog的测试 ##
##########################
[oracle@testdb11 ~]$ rman target /
RMAN> startup nomount;
startup failed: ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/u01/app/oracle/oracle/product/10.2.0/db_1/dbs/initxhdb.ora'
starting Oracle instance without parameter file for retrival of spfile
Oracle instance started
Total System Global Area 159383552 bytes
Fixed Size 1266320 bytes
Variable Size 58723696 bytes
Database Buffers 92274688 bytes
Redo Buffers 7118848 bytes
RMAN>
此时可以恢复SPFILE的命令:
------------------------
RMAN> set dbid=3946220657
run{
set controlfile autobackup format for device type disk to '/u02/backup_rman/xhdb/%F.bus';
restore spfile from autobackup;
}
RMAN> restore spfile from '/u02/backup_rman/xhdb/c-3946220657-20100425-00.bus';
/* 注意这条命令在没有设置DBID的情况下也能执行 */
RMAN> startup force nomount; /* 恢复了spfile需要重新进行nomount操作 */
此时不能恢复SPFILE的命令:
------------------------
未设置DBID的情况下
RMAN> restore spfile;
RMAN> restore spfile from autobackup;
run{
set controlfile autobackup format for device type disk to '/u02/backup_rman/xhdb/%F.bus';
restore spfile;
}
run{
set controlfile autobackup format for device type disk to '/u02/backup_rman/xhdb/%F.bus';
restore spfile from autobackup;
}
设置了DBID的情况下
RMAN> set dbid=3946220657
RMAN> restore spfile;
RMAN> restore spfile from autobackup;
##########################
## 连接到catalog的测试 ##
##########################
[oracle@testdb11 ~]$ rman target / catalog rman_102/PASSWORD@rmandb
RMAN> startup nomount;
startup failed: ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/u01/app/oracle/oracle/product/10.2.0/db_1/dbs/initxhdb.ora'
starting Oracle instance without parameter file for retrival of spfile
Oracle instance started
Total System Global Area 159383552 bytes
Fixed Size 1266320 bytes
Variable Size 58723696 bytes
Database Buffers 92274688 bytes
Redo Buffers 7118848 bytes
RMAN>
此时可以恢复SPFILE的命令:
-------------------------
RMAN> set dbid=3946220657
RMAN> restore spfile;
RMAN> restore spfile from autobackup;
RMAN> restore spfile from '/u02/backup_rman/xhdb/c-3946220657-20100425-00.bus';
RMAN> startup force nomount;
此时不能恢复SPFILE的命令:
------------------------
未设置DBID的情况下
RMAN> restore spfile;
RMAN> restore spfile from autobackup;
run{
set controlfile autobackup format for device type disk to '/u02/backup_rman/xhdb/%F.bus';
restore spfile;
}
run{
set controlfile autobackup format for device type disk to '/u02/backup_rman/xhdb/%F.bus';
restore spfile from autobackup;
}
RMAN> restore spfile from '/u02/backup_rman/xhdb/c-3946220657-20100425-00.bus';
################################################################################################################
2. 开启控制文件自动备份,控制文件自动备份的路径为默认。
connect target / ;
connect catalog rman_102/PASSWORD@rmandb ;
RMAN> configure controlfile autobackup on;
RMAN> configure controlfile autobackup format for device type disk clear;
RMAN> backup database format '/u02/backup_rman/xhdb/db_%U.bus';
##########################
## 未连接catalog的测试 ##
##########################
[oracle@testdb11 ~]$ rman target /
RMAN> startup nomount;
此时可以恢复SPFILE的命令:
------------------------
RMAN> set dbid=3946220657
RMAN> restore spfile from '/u01/app/oracle/flash_recovery_area/XHDB/autobackup/2010_04_25/o1_mf_s_717279099_5x8dcvyx_.bkp';
/* 注意这条命令在没有设置DBID的情况下也能执行 */
此时不能恢复SPFILE的命令:
------------------------
未设置DBID的情况下
RMAN> restore spfile;
RMAN> restore spfile from autobackup;
设置了DBID的情况下
RMAN> set dbid=3946220657
RMAN> restore spfile;
RMAN> restore spfile from autobackup;
##########################
## 连接到catalog的测试 ##
##########################
[oracle@testdb11 ~]$ echo $ORACLE_SID
xhdb
[oracle@testdb11 ~]$ rman target / catalog rman_102/PASSWORD@rmandb
RMAN> startup nomount;
此时可以恢复SPFILE的命令:
------------------------
RMAN> set dbid=3946220657
RMAN> restore spfile;
RMAN> restore spfile from '/u01/app/oracle/flash_recovery_area/XHDB/autobackup/2010_04_25/o1_mf_s_717279099_5x8dcvyx_.bkp';
此时不能恢复SPFILE的命令:
------------------------
未设置DBID的情况下
RMAN> restore spfile;
RMAN> restore spfile from autobackup;
RMAN> restore spfile from '/u01/app/oracle/flash_recovery_area/XHDB/autobackup/2010_04_25/o1_mf_s_717279099_5x8dcvyx_.bkp';
设置了DBID的情况下
RMAN> set dbid=3946220657
RMAN> restore spfile from autobackup;
#####################################################
3. 关闭控制文件自动备份,指定SPFILE的存储位置。
connect target / ;
connect catalog rman_102/PASSWORD@rmandb ;
RMAN> configure controlfile autobackup off;
RMAN> backup database format '/u02/backup_rman/xhdb/db_%U.bus';
RMAN> backup current controlfile format '/u02/backup_rman/xhdb/ctl_%U.bus'; -- 在此测试spfile可以不用执行
RMAN> backup spfile format '/u02/backup_rman/xhdb/spf_%U.bus';
输出过程:
RMAN> backup database format '/u02/backup_rman/xhdb/db_%U.bus';
Starting backup at 25-APR-10
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=137 devtype=DISK
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
input datafile fno=00001 name=/u02/oradata/xhdb/system01.dbf
input datafile fno=00003 name=/u02/oradata/xhdb/sysaux01.dbf
input datafile fno=00005 name=/u02/oradata/xhdb/example01.dbf
input datafile fno=00006 name=/u02/oradata/xhdb/ts01.dbf
input datafile fno=00002 name=/u02/oradata/xhdb/undotbs01.dbf
input datafile fno=00004 name=/u02/oradata/xhdb/users01.dbf
channel ORA_DISK_1: starting piece 1 at 25-APR-10
channel ORA_DISK_1: finished piece 1 at 25-APR-10
piece handle=/u02/backup_rman/xhdb/db_12lc1l7c_1_1.bus tag=TAG20100425T203452 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:46
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
including current control file in backupset
including current SPFILE in backupset
channel ORA_DISK_1: starting piece 1 at 25-APR-10
channel ORA_DISK_1: finished piece 1 at 25-APR-10
piece handle=/u02/backup_rman/xhdb/db_13lc1l8q_1_1.bus tag=TAG20100425T203452 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02
Finished backup at 25-APR-10
RMAN> backup current controlfile format '/u02/backup_rman/xhdb/ctl_%U.bus';
Starting backup at 25-APR-10
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
including current control file in backupset
channel ORA_DISK_1: starting piece 1 at 25-APR-10
channel ORA_DISK_1: finished piece 1 at 25-APR-10
piece handle=/u02/backup_rman/xhdb/ctl_14lc1l9e_1_1.bus tag=TAG20100425T203558 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 25-APR-10
RMAN> backup spfile format '/u02/backup_rman/xhdb/spf_%U.bus';
Starting backup at 25-APR-10
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
including current SPFILE in backupset
channel ORA_DISK_1: starting piece 1 at 25-APR-10
channel ORA_DISK_1: finished piece 1 at 25-APR-10
piece handle=/u02/backup_rman/xhdb/spf_15lc1lct_1_1.bus tag=TAG20100425T203748 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 25-APR-10
RMAN>
##########################
## 未连接catalog的测试 ##
##########################
控制文件自动备份的路径为默认的情况下:
[oracle@testdb11 ~]$ rman target /
RMAN> startup nomount;
此时可以恢复SPFILE的命令:
------------------------
未设置DBID的情况下
RMAN> restore spfile from '/u02/backup_rman/xhdb/spf_15lc1lct_1_1.bus';
RMAN> restore spfile from '/u02/backup_rman/xhdb/db_13lc1l8q_1_1.bus';
设置了DBID的情况下
RMAN> set dbid=3946220657
RMAN> restore spfile from '/u02/backup_rman/xhdb/spf_15lc1lct_1_1.bus';
RMAN> restore spfile from '/u02/backup_rman/xhdb/db_13lc1l8q_1_1.bus';
此时不能恢复SPFILE的命令:
------------------------
未设置DBID的情况下
RMAN> restore spfile;
RMAN> restore spfile from autobackup;
设置了DBID的情况下
RMAN> set dbid=3946220657
RMAN> restore spfile;
RMAN> restore spfile from autobackup;
##########################
## 连接到catalog的测试 ##
##########################
[oracle@testdb11 ~]$ echo $ORACLE_SID
xhdb
[oracle@testdb11 ~]$ rman target / catalog rman_102/PASSWORD@rmandb
RMAN> startup nomount;
此时可以恢复SPFILE的命令:
------------------------
设置了DBID的情况下
RMAN> set dbid=3946220657
RMAN> restore spfile; /* 从这个备份片进行的恢复/u02/backup_rman/xhdb/spf_15lc1lct_1_1.bus */
RMAN> restore spfile from '/u02/backup_rman/xhdb/spf_15lc1lct_1_1.bus';
RMAN> restore spfile from '/u02/backup_rman/xhdb/db_13lc1l8q_1_1.bus';
此时不能恢复SPFILE的命令:
------------------------
未设置DBID的情况下
RMAN> restore spfile;
RMAN> restore spfile from autobackup;
RMAN> restore spfile from '/u02/backup_rman/xhdb/spf_15lc1lct_1_1.bus';
RMAN> restore spfile from '/u02/backup_rman/xhdb/db_13lc1l8q_1_1.bus';
设置了DBID的情况下
RMAN> set dbid=3946220657
RMAN> restore spfile from autobackup;
欢迎关注我的公众号 扫描二维码或公众号搜索 “我的工作”





