首页 > 数据库 > Oracle > 使用RMAN实现异机备份恢复(WIN平台)
三、备份数据库并关闭数据库,删除system01.dbf文件
- RMAN> show CONTROLFILE AUTOBACKUP;
- RMAN 配置参数为:
- CONFIGURE CONTROLFILE AUTOBACKUP ON; -->控制文件自动备份,建议开启
- RMAN> show CONTROLFILE AUTOBACKUP FORMAT;
- RMAN 配置参数为:
- CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '\\192.168.1.151\RMAN_Shared\CONTROL
- _%F'; -->控制文件备份位置
- RMAN> show SNAPSHOT CONTROLFILE NAME;
- RMAN 配置参数为:
- CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'D:\ORACLE\ORA92\DATABASE\SNCFTESTHH.ORA'; # default -->快照控制文件位置
- SQL> select * from v$version; -->数据库的版本,当前演示环境为Oracle 9i
- BANNER
- ----------------------------------------------------------------
- Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
- PL/SQL Release 9.2.0.1.0 - Production
- CORE 9.2.0.1.0 Production
- TNS for 32-bit Windows: Version 9.2.0.1.0 - Production
- NLSRTL Version 9.2.0.1.0 - Production
- SQL> show parameter db_name
- NAME TYPE VALUE
- ------------------------------------ ----------- ---------------
- db_name string testHH
四、从异机进行还原与恢复
- D:\>rman target robinson/robin@testhh cmdfile=D:\oracle\oradata\testHH\backup.rman log=D:\oracle\ora
- data\testHH\backup.log
2.删除system01.dbf数据文件以便测试恢复
- SQL> shutdown immediate;
- 数据库已经关闭。
- 已经卸载数据库。
- ORACLE 例程已经关闭。
3.重启实例,收到错误提示
- SQL> ho del D:\oracle\oradata\testHH\SYSTEM01.DBF
4.使用RMAN进行还原与恢复
- SQL> startup
- ORACLE 例程已经启动。
- Total System Global Area 126950220 bytes
- Fixed Size 453452 bytes
- Variable Size 109051904 bytes
- Database Buffers 16777216 bytes
- Redo Buffers 667648 bytes
- 数据库装载完毕。
- ORA-01157: 无法标识/锁定数据文件 1 - 请参阅 DBWR 跟踪文件
- ORA-01110: 数据文件 1: 'D:\ORACLE\ORADATA\TESTHH\SYSTEM01.DBF'
5.结论
- D:\>rman target / -->连接到缺省的目标数据库
- 恢复管理器: 版本9.2.0.8.0 - Production
- Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.
- 连接到目标数据库: TESTHH (DBID=3955637780)
- RMAN> restore database; -->还原数据库
- 启动 restore 于 25-7月 -11
- 正在使用目标数据库控制文件替代恢复目录
- 分配的通道: ORA_DISK_1
- 通道 ORA_DISK_1: sid=14 devtype=DISK
- 通道 ORA_DISK_1: 正在开始恢复数据文件备份集
- 通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
- 正将数据文件00002恢复到D:\ORACLE\ORADATA\TESTHH\UNDOTBS01.DBF
- 正将数据文件00003恢复到D:\ORACLE\ORADATA\TESTHH\CWMLITE01.DBF
- 正将数据文件00005恢复到D:\ORACLE\ORADATA\TESTHH\EXAMPLE01.DBF
- 正将数据文件00006恢复到D:\ORACLE\ORADATA\TESTHH\INDX01.DBF
- 正将数据文件00010恢复到D:\ORACLE\ORADATA\TESTHH\XDB01.DBF
- 通道 ORA_DISK_1: 已恢复备份段 1
- 段 handle=\\192.168.1.151\RMAN_SHARED\FULL_TESTHH_15MIBDKA_1_1 tag=FULL_BAK params=NULL
- 通道 ORA_DISK_1: 恢复完成
- 通道 ORA_DISK_1: 正在开始恢复数据文件备份集
- 通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
- 正将数据文件00001恢复到D:\ORACLE\ORADATA\TESTHH\SYSTEM01.DBF
- 正将数据文件00004恢复到D:\ORACLE\ORADATA\TESTHH\DRSYS01.DBF
- 正将数据文件00007恢复到D:\ORACLE\ORADATA\TESTHH\ODM01.DBF
- 正将数据文件00008恢复到D:\ORACLE\ORADATA\TESTHH\TOOLS01.DBF
- 正将数据文件00009恢复到D:\ORACLE\ORADATA\TESTHH\USERS01.DBF
- 通道 ORA_DISK_1: 已恢复备份段 1
- 段 handle=\\192.168.1.151\RMAN_SHARED\FULL_TESTHH_16MIBDMB_1_1 tag=FULL_BAK params=NULL
- 通道 ORA_DISK_1: 恢复完成
- 完成 restore 于 25-7月 -11
- RMAN> recover database; -->恢复数据库
- 启动 recover 于 25-7月 -11
- 使用通道 ORA_DISK_1
- 正在开始介质的恢复
- 完成介质的恢复
- 完成 recover 于 25-7月 -11
- SQL> alter database open;
- SQL> select name,open_mode from v$database;
- NAME OPEN_MODE
- --------- ----------
- TESTHH READ WRITE
- run{
- allocate channel ch1 device type disk;
- allocate channel ch2 device type disk;
- backup database format='\\192.168.1.151\RMAN_Shared\full_%d_%U' -->注意格式的写法\\IP\Shared_folder\
- tag='full_bak';
- sql "alter system archive log current";
- crosscheck archivelog all;
- delete noprompt expired archivelog all;
- backup archivelog all format='\\192.168.1.151\RMAN_Shared\log_%d_%U' delete input -->注意格式的写法\\IP\Shared_folder\
- tag='log_bak';
- release channel ch1;
- release channel ch2;}
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/23490154/viewspace-1062408/ ,如需转载,请注明出处,否则将追究法律责任。