Oracle RMAN物理备份技术之恢复案例三
2008-12-16 13:04:26 来源:WEB开发网我们可以利用dbms_backup_restore包来恢复控制文件。
RMAN> backup database;
启动 backup 于 24-1月 -07
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=143 devtype=DISK
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00002 name=F:ORACLEORADATAROMEUNDOTBS01.DBF
输入数据文件 fno=00001 name=D:ORACLEPRODUCT10.2.0ORADATAROMESYSTEM01.DBF
输入数据文件 fno=00003 name=D:ORACLEPRODUCT10.2.0ORADATAROMESYSAUX01.DBF
输入数据文件 fno=00004 name=D:ORACLEPRODUCT10.2.0ORADATAROMEUSERS01.DBF
输入数据文件 fno=00005 name=E:ORACLEORADATAROMETEST.DBF
通道 ORA_DISK_1: 正在启动段 1 于 24-1月 -07
通道 ORA_DISK_1: 已完成段 1 于 24-1月 -07
段句柄=D:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAROMEBACKUPSET2007_01_24
O1_MF_NNNDF_TAG20070124T120738_2VFPWCXS_.BKP 标记=TAG20070124T120738 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:25
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
备份集中包括当前控制文件
在备份集中包含当前的 SPFILE
通道 ORA_DISK_1: 正在启动段 1 于 24-1月 -07
通道 ORA_DISK_1: 已完成段 1 于 24-1月 -07
段句柄=D:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAROMEBACKUPSET2007_01_24
O1_MF_NCSNF_TAG20070124T120738_2VFPX6G5_.BKP 标记=TAG20070124T120738 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:03
完成 backup 于 24-1月 -07
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
删除所有控制文件。
SQL> startup nomount
ORACLE 例程已经启动。
Total System Global Area 167772160 bytes
Fixed Size 1288340 bytes
Variable Size 104859500 bytes
Database Buffers 54525952 bytes
Redo Buffers 7098368 bytes
SQL> DECLARE
2 devtype varchar2(256);
3 done boolean;
4 BEGIN
5 devtype:=sys.dbms_backup_restore.deviceAllocate(type=>'',ident=>'');
6 sys.dbms_backup_restore.restoreSetDatafile;
7 sys.dbms_backup_restore.restoreControlfileTo(cfname=>'D:oracleproduct
10.2.0oradataromeControl01.ctl');
8 sys.dbms_backup_restore.restoreBackupPiece(done=>done,handle=>'D:oracle
product10.2.0flash_recovery_areaROMEBACKUPSET2007_01_24O1_MF_NCSNF_
TAG20070124T120738_2VFPX6G5_.BKP', params=>null);
9 sys.dbms_backup_restore.deviceDeallocate;
10 exception when others then
11 dbms_output.put_line(sqlerrm);
12 END;
13 /
PL/SQL 过程已成功完成。
RMAN> restore database;
启动 restore 于 24-1月 -07
启动 implicit crosscheck backup 于 24-1月 -07
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=155 devtype=DISK
已交叉检验的 17 对象
完成 implicit crosscheck backup 于 24-1月 -07
启动 implicit crosscheck copy 于 24-1月 -07
使用通道 ORA_DISK_1
已交叉检验的 1 对象
完成 implicit crosscheck copy 于 24-1月 -07
搜索恢复区域中的所有文件
正在编制文件目录...
目录编制完毕
已列入目录的文件的列表
=======================
文件名: D:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAROMEBACKUPSET2007_01_
24O1_MF_NCSNF_TAG20070124T120738_2VFPX6G5_.BKP
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到D:ORACLEPRODUCT10.2.0ORADATAROMESYSTEM01.DBF
正将数据文件00002恢复到F:ORACLEORADATAROMEUNDOTBS01.DBF
正将数据文件00003恢复到D:ORACLEPRODUCT10.2.0ORADATAROMESYSAUX01.DBF
正将数据文件00004恢复到D:ORACLEPRODUCT10.2.0ORADATAROMEUSERS01.DBF
正将数据文件00005恢复到E:ORACLEORADATAROMETEST.DBF
通道 ORA_DISK_1: 正在读取备份段 D:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAROM
EBACKUPSET2007_01_24O1_MF_NNNDF_TAG20070124T120738_2VFPWCXS_.BKP
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = D:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAROMEBACKUPSET2007_01_
24O1_MF_NNNDF_TAG20070124T120738_2VFPWCXS_.BKP 标记 = TAG20070124T120738
通道 ORA_DISK_1: 恢复完成, 用时: 00:01:45
完成 restore 于 24-1月 -07
RMAN> recover database;
启动 recover 于 24-1月 -07
使用通道 ORA_DISK_1
正在开始介质的恢复
存档日志线程 1 序列 26 已作为文件 D:ORACLEPRODUCT10.2.0ORADATAROMEREDO02A.
LOG 存在于磁盘上
存档日志文件名 =D:ORACLEPRODUCT10.2.0ORADATAROMEREDO02A.LOG 线程 =1 序列 =
26
介质恢复完成, 用时: 00:00:02
完成 recover 于 24-1月 -07
RMAN> sql 'alter database open resetlogs';
sql 语句: alter database open resetlogs
如果使用了Flash Recovery Area,RMAN自动执行CROSSCHECK检查控制文件中涉及到的备份文件和竞相拷贝(磁盘备份),如果是使用磁带备份RMAN不会自动进行CROSSCHECK检查,需要我们恢复完控制文件后执行下列检查操作:
RMAN> CROSSCHECK BACKUP DEVICE TYPE SBT;
如果我们的RMAN是带有恢复目录的话,则在恢复的时候不用进行SET DBID操作,直接执行如下命令即可:
RMAN> restore controlfile;
我们可以在数据库处于任何状态的情况下把控制文件恢复到参数文件中设置的控制文件以外的位置:
RMAN〉restore controlfile to ‘...’ from ‘...’;
- ››oracle 中 UPDATE nowait 的使用方法
- ››Oracle ORA-12560解决方法
- ››Oracle 10g RAC 常用维护命令
- ››Oracle如何在ASM中定位文件的分布
- ››Oracle的DBMS_RANDOM.STRING 的用法
- ››oracle 外部表导入时间日期类型数据,多字段导入
- ››Oracle中查找重复记录
- ››oracle修改用户登录密码
- ››Oracle创建删除用户、角色、表空间、导入导出等命...
- ››Oracle中登陆时报ORA-28000: the account is lock...
- ››Oracle数据库在配置文件中更改最大连接数
- ››Oracle中在pl/sql developer修改表的两种方式
更多精彩
赞助商链接