Rman异机恢复操作指南
来源:互联网 发布:用fidder抓包篡改数据 编辑:程序博客网 时间:2024/06/07 03:44
本次实验为相同平台的两台数据库服务器,目标端只安装oracle软件,且目标端与源端数据文件等目录保持一致。
1. 源端进行全备
--全备脚本[oracle@orcl scripts]$ cat rman_full_backup.sh source /home/oracle/.bash_profile rman target / log=/home/oracle/backup/logs/backupall_rman.log<<EOFrun { allocate channel ch1 device type disk; #分配通道 allocate channel ch2 device type disk; sql 'alter system archive log current'; #归档当前日志 backup database format '/home/oracle/backup/bak/db_%d_%T_%U'; sql 'alter system archive log current'; backup archivelog all format '/home/oracle/backup//bak/arch_%t_%s' delete all input; backup format '/home/oracle/backup/bak/con_%s_%p' current controlfile; crosscheck backup; crosscheck archivelog all; delete noprompt expired backup; delete noprompt obsolete; delete noprompt backup of database completed before 'sysdate -15'; delete noprompt archivelog all; delete noprompt backup of archivelog all completed before 'sysdate -15'; release channel ch1; release channel ch2; } EOF
2. 将备份文件传输到目标端
[oracle@orcl bak]$ scp * oracle@orcl_adg:/home/oracle/backuparch_958157782_41 100% 12KB 12.0KB/s 00:00 arch_958157783_42 100% 2560 2.5KB/s 00:00 con_43_1 100% 9568KB 9.3MB/s 00:00 db_ORCL_20171023_14shokse_1_1 100% 636MB 31.8MB/s 00:20 db_ORCL_20171023_15shokse_1_1 100% 400MB 25.0MB/s 00:16 db_ORCL_20171023_17shokuj_1_1 100% 96KB 96.0KB/s 00:00
3. 在目标端设置DBID,启动到nomount阶段
注:在rman下即使没有参数文件,默认也会启动一个DUMMY实例,以便能够恢复参数文件
[oracle@orcl_adg ~]$ rman target /Recovery Manager: Release 11.2.0.4.0 - Production on Thu Nov 2 08:30:55 2017Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.connected to target database (not started)RMAN> set dbid 1485808053executing command: SET DBIDRMAN> startup nomount;Oracle instance startedTotal System Global Area 776646656 bytesFixed Size 2257272 bytesVariable Size 507514504 bytesDatabase Buffers 264241152 bytesRedo Buffers 2633728 bytes
4. 从备份中恢复spfile参数文件,重新启动到nomount状态
RMAN> restore spfile to '/u01/app/oracle/product/11.2.0/db_1/dbs/spfileorcl.ora' from '/home/oracle/backup/db_ORCL_20171023_17shokuj_1_1';Starting restore at 2017-11-02 08:37:26using target database control file instead of recovery catalogallocated channel: ORA_DISK_1channel ORA_DISK_1: SID=19 device type=DISKchannel ORA_DISK_1: restoring spfile from AUTOBACKUP /home/oracle/backup/db_ORCL_20171023_17shokuj_1_1channel ORA_DISK_1: SPFILE restore from AUTOBACKUP completeFinished restore at 2017-11-02 08:37:27RMAN> startup force nomount;Oracle instance startedTotal System Global Area 776646656 bytesFixed Size 2257272 bytesVariable Size 507514504 bytesDatabase Buffers 264241152 bytesRedo Buffers 2633728 bytes
5. 备份中恢复控制文件,启动到mount状态
RMAN> restore controlfile to '/u01/app/oracle/oradata/orcl/control01.ctl' from '/home/oracle/backup/con_43_1'; Starting restore at 2017-11-02 08:41:19allocated channel: ORA_DISK_1channel ORA_DISK_1: SID=19 device type=DISKchannel ORA_DISK_1: restoring control filechannel ORA_DISK_1: restore complete, elapsed time: 00:00:01Finished restore at 2017-11-02 08:41:20[oracle@orcl_adg orcl]$ cp control01.ctl $ORACLE_BASE/fast_recovery_area/orcl/control02.ctlRMAN> alter database mount;database mounted
6. 在新的控制文件中注册数据文件备份和归档备份(可选)
RMAN> catalog start with '/home/oracle/backup';Starting implicit crosscheck backup at 2017-11-02 08:51:11allocated channel: ORA_DISK_1channel ORA_DISK_1: SID=19 device type=DISKCrosschecked 7 objectsFinished implicit crosscheck backup at 2017-11-02 08:51:11Starting implicit crosscheck copy at 2017-11-02 08:51:11using channel ORA_DISK_1Finished implicit crosscheck copy at 2017-11-02 08:51:11searching for all files in the recovery areacataloging files...cataloging doneList of Cataloged Files=======================File Name: /u01/app/oracle/fast_recovery_area/ORCL/archivelog/2017_11_01/o1_mf_1_1_dzls0srw_.arcFile Name: /u01/app/oracle/fast_recovery_area/ORCL/archivelog/2017_11_02/o1_mf_1_1_dznqlcrk_.arcsearching for all files that match the pattern /home/oracle/backupList of Files Unknown to the Database=====================================File Name: /home/oracle/backup/db_ORCL_20171023_14shokse_1_1File Name: /home/oracle/backup/arch_958157782_41File Name: /home/oracle/backup/db_ORCL_20171023_17shokuj_1_1File Name: /home/oracle/backup/db_ORCL_20171023_15shokse_1_1File Name: /home/oracle/backup/arch_958157783_42File Name: /home/oracle/backup/con_43_1Do you really want to catalog the above files (enter YES or NO)? yescataloging files...cataloging doneList of Cataloged Files=======================File Name: /home/oracle/backup/db_ORCL_20171023_14shokse_1_1File Name: /home/oracle/backup/arch_958157782_41File Name: /home/oracle/backup/db_ORCL_20171023_17shokuj_1_1File Name: /home/oracle/backup/db_ORCL_20171023_15shokse_1_1File Name: /home/oracle/backup/arch_958157783_42File Name: /home/oracle/backup/con_43_1
7. 还原恢复数据库
--小插曲,需要将incarnation重置才能restore操作
RMAN> restore database;Starting restore at 2017-11-02 08:51:51using channel ORA_DISK_1RMAN-00571: ===========================================================RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============RMAN-00571: ===========================================================RMAN-03002: failure of restore command at 11/02/2017 08:51:51RMAN-06026: some targets not found - aborting restoreRMAN-06023: no backup or copy of datafile 4 found to restoreRMAN-06023: no backup or copy of datafile 3 found to restoreRMAN-06023: no backup or copy of datafile 2 found to restoreRMAN-06023: no backup or copy of datafile 1 found to restoreRMAN> list incarnation;List of Database IncarnationsDB Key Inc Key DB Name DB ID STATUS Reset SCN Reset Time------- ------- -------- ---------------- --- ---------- ----------1 1 ORCL 1485808053 PARENT 1 2013-08-24 11:37:302 2 ORCL 1485808053 PARENT 925702 2017-10-22 06:41:573 3 ORCL 1485808053 ORPHAN 965987 2017-11-01 07:30:144 4 ORCL 1485808053 CURRENT 1028073 2017-11-02 07:13:43RMAN> reset database to incarnation 2;database reset to incarnation 2
RMAN> restore database;Starting restore at 2017-11-02 08:56:45using channel ORA_DISK_1channel ORA_DISK_1: starting datafile backup set restorechannel ORA_DISK_1: specifying datafile(s) to restore from backup setchannel ORA_DISK_1: restoring datafile 00002 to /u01/app/oracle/oradata/orcl/sysaux01.dbfchannel ORA_DISK_1: restoring datafile 00004 to /u01/app/oracle/oradata/orcl/users01.dbfchannel ORA_DISK_1: restoring datafile 00005 to /u01/app/oracle/oradata/orcl/tbs_data01.dbfchannel ORA_DISK_1: reading from backup piece /home/oracle/backup/db_ORCL_20171023_15shokse_1_1channel ORA_DISK_1: piece handle=/home/oracle/backup/db_ORCL_20171023_15shokse_1_1 tag=TAG20171023T185510channel ORA_DISK_1: restored backup piece 1channel ORA_DISK_1: restore complete, elapsed time: 00:00:25channel ORA_DISK_1: starting datafile backup set restorechannel ORA_DISK_1: specifying datafile(s) to restore from backup setchannel ORA_DISK_1: restoring datafile 00001 to /u01/app/oracle/oradata/orcl/system01.dbfchannel ORA_DISK_1: restoring datafile 00003 to /u01/app/oracle/oradata/orcl/undotbs01.dbfchannel ORA_DISK_1: reading from backup piece /home/oracle/backup/db_ORCL_20171023_14shokse_1_1channel ORA_DISK_1: piece handle=/home/oracle/backup/db_ORCL_20171023_14shokse_1_1 tag=TAG20171023T185510channel ORA_DISK_1: restored backup piece 1channel ORA_DISK_1: restore complete, elapsed time: 00:00:25Finished restore at 2017-11-02 08:57:35
--在异机恢复的场景里,一般是不会有redo日志的,这里进行不完全恢复
RMAN> recover database until scn =1034331; --因为控制文件的scn大于备份归档日志的scn,无法进行完全恢复,也可以以归档日志的最大scn进行不完全恢复Starting recover at 2017-11-02 09:11:06using channel ORA_DISK_1starting media recoverychannel ORA_DISK_1: starting archived log restore to default destinationchannel ORA_DISK_1: restoring archived logarchived log thread=1 sequence=26channel ORA_DISK_1: reading from backup piece /home/oracle/backup/arch_958157782_41channel ORA_DISK_1: piece handle=/home/oracle/backup/arch_958157782_41 tag=TAG20171023T185621channel ORA_DISK_1: restored backup piece 1channel ORA_DISK_1: restore complete, elapsed time: 00:00:01archived log file name=/u01/app/oracle/fast_recovery_area/ORCL/archivelog/2017_11_02/o1_mf_1_26_dznw5cqo_.arc thread=1 sequence=26channel default: deleting archived log(s)archived log file name=/u01/app/oracle/fast_recovery_area/ORCL/archivelog/2017_11_02/o1_mf_1_26_dznw5cqo_.arc RECID=27 STAMP=958986667channel ORA_DISK_1: starting archived log restore to default destinationchannel ORA_DISK_1: restoring archived logarchived log thread=1 sequence=27channel ORA_DISK_1: reading from backup piece /home/oracle/backup/arch_958157783_42channel ORA_DISK_1: piece handle=/home/oracle/backup/arch_958157783_42 tag=TAG20171023T185621channel ORA_DISK_1: restored backup piece 1channel ORA_DISK_1: restore complete, elapsed time: 00:00:01archived log file name=/u01/app/oracle/fast_recovery_area/ORCL/archivelog/2017_11_02/o1_mf_1_27_dznw5f2q_.arc thread=1 sequence=27channel default: deleting archived log(s)archived log file name=/u01/app/oracle/fast_recovery_area/ORCL/archivelog/2017_11_02/o1_mf_1_27_dznw5f2q_.arc RECID=28 STAMP=958986669unable to find archived logarchived log thread=1 sequence=28RMAN-00571: ===========================================================RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============RMAN-00571: ===========================================================RMAN-03002: failure of recover command at 11/02/2017 09:11:10RMAN-06054: media recovery requesting unknown archived log for thread 1 with sequence 28 and starting SCN of 1034306
RMAN> alter database open resetlogs;database opened
recover database表示恢复数据库,后面没有接任何子句,表示全恢复数据库。
recover database until cancel ,一般是不完全恢复数据库,恢复数据库,直到取消归档日志恢复为止。
recover database using backup controlfile ,这个一般是当最新的控制文件损坏的时候,需要使用备份的控制文件打开数据库,要确保备份的控制文件的SCN追平数据库的SCN,就需要归档日志去恢复,去追平数据库,保存数据库一致性才能打开数据库。
recover database using backup controlfile until cancel 这个与recover database until cancel 是一个意思,不同的是,控制文件是备份的。
阅读全文
0 0
- Rman异机恢复操作指南
- Rman备份异机恢复指南
- rman异机恢复
- RMAN异机恢复
- RMAN异机恢复
- rman异机恢复
- rman 异机恢复
- rman 异机恢复
- RMAN异机恢复
- RMAN恢复操作
- rman恢复基础操作
- RMAN异机恢复实验
- RMAN duplicate 异机恢复
- Oracle rman异机恢复
- oracle rman异机恢复
- ORACLE RMAN异机恢复
- 用RMAN异机恢复数据库
- RMAN 备份异机恢复 迁移数据
- Datagrid组件的基本讲解
- python滚动条操作
- N0 通话界面增加录音计时功能
- 有预测能力的人,都会用贝叶斯来思考
- 不会UI的前端工程师不是好产品经理
- Rman异机恢复操作指南
- 图的遍历和连通性
- Vue 开源项目库汇总
- 给鼠标绑定指令事件,指令调用控制器中方法
- 好设计离不开数据的支持
- 表分区查看删除
- EventBus3.0用法全解析
- Python爬虫(四) URLError、HTTPError异常处理
- Window host位置