使用NBU进行oracle异机恢复
2016-07-20 13:21 abce 阅读(3886) 评论(0) 编辑 收藏 举报windows平台的异机恢复,目录不同
1.异机环境准备
安装oracle介质
安装nbu客户端
在异机主机的host文件中添加nbu server主机和原主机信息
2.恢复spfile文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | C:\>oradim -new -sid ybb SQL> startup nomount C:\> rman target / RMAN> set dbid= 884218943 RMAN> run { allocate channel ch02 type 'sbt_tape' parms= "ENV=(NB_ORA_CLIENT=olddb,NB_ORA_SERV=netbackup)" ; restore spfile from 'c-884218943-20160628-03' ; release channel ch02; } 分配的通道: ch02 通道 ch02: SID=130 设备类型=SBT_TAPE 通道ch02: Veritas NetBackup for Oracle - Release 7.6 (20141027) 启动 restore 于 19-7月 -16 通道 ch02: 正在从 AUTOBACKUP c-884218943-20160628-03 还原 spfile 通道 ch02: 从 AUTOBACKUP 还原 SPFILE 已完成 完成 restore 于 19-7月 -16 释放的通道: ch02 |
3.恢复控制文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | RMAN> run { 2> allocate channel ch03 type 'sbt_tape' 3> parms= "ENV=(NB_ORA_CLIENT=olddb,NB_ORA_SERV=netbackup)" ; 4> restore controlfile from 'c-884218943-20160629-03' ; 5> release channel ch03; 6> } 分配的通道: ch03 通道 ch03: SID=63 设备类型=SBT_TAPE 通道ch03: Veritas NetBackup for Oracle - Release 7.6 (20141027) 启动 restore 于 19-7月 -16 通道 ch03: 正在还原控制文件 通道 ch03: 还原完成, 用时: 00:00:07 输出文件名=C:\APP\ADMINISTRATOR\ORADATA\ybb\CONTROL01.CTL 输出文件名=C:\APP\ADMINISTRATOR\ORADATA\ybb\CONTROL02.CTL 完成 restore 于 19-7月 -16 释放的通道: ch03 |
4.将数据库置于mount状态
1 | RMAN> sql 'alter database mount' ; |
5.恢复数据文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 | RMAN> run{ 2> allocate channel ch01 type 'sbt_tape' ; 3> SEND 'NB_ORA_SERV=netbackup,NB_ORA_CLIENT=olddb' ; 4> set newname for datafile 'D:\app\Administrator\oradata\ybb\SYSTEM01.DBF' to 'C:\app\Administrator\oradata\ybb\SYSTEM01.DBF' ; 5> set newname for datafile 'D:\APP\ADMINISTRATOR\ORADATA\ybb\SYSAUX01.DBF' to 'C:\APP\ADMINISTRATOR\ORADATA\ybb\SYSAUX01.DBF' ; 6> set newname for datafile 'D:\APP\ADMINISTRATOR\ORADATA\ybb\UNDOTBS01.DBF' to 'C:\APP\ADMINISTRATOR\ORADATA\ybb\UNDOTBS01.DBF' ; 7> set newname for datafile 'D:\APP\ADMINISTRATOR\ORADATA\ybb\USERS01.DBF' to 'C:\APP\ADMINISTRATOR\ORADATA\ybb\USERS01.DBF' ; 8> set newname for datafile 'D:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_DATA01.DBF' to 'C:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_DATA01.DBF' ; 9> set newname for datafile 'D:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_DATA02.DBF' to 'C:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_DATA02.DBF' ; 10> set newname for datafile 'D:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_DATA03.DBF' to 'C:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_DATA03.DBF' ; 11> set newname for datafile 'D:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_INDEX01.DBF' to 'C:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_INDEX01.DBF' ; 12> set newname for datafile 'D:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_INDEX02.DBF' to 'C:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_INDEX02.DBF' ; 13> set newname for datafile 'D:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_INDEX03.DBF' to 'C:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_INDEX03.DBF' ; 14> set newname for datafile 'D:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_DATA0101.DBF' to 'C:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_DATA0101.DBF' ; 15> restore database ; 16> switch datafile all ; 17> recover database until scn 272947828; 18> release channel ch01; 19> } 分配的通道: ch01 通道 ch01: SID=63 设备类型=SBT_TAPE 通道ch01: Veritas NetBackup for Oracle - Release 7.6 (20141027) 向通道发命令: ch01 正在执行命令: SET NEWNAME 正在执行命令: SET NEWNAME 正在执行命令: SET NEWNAME 正在执行命令: SET NEWNAME 正在执行命令: SET NEWNAME 正在执行命令: SET NEWNAME 正在执行命令: SET NEWNAME 正在执行命令: SET NEWNAME 正在执行命令: SET NEWNAME 正在执行命令: SET NEWNAME 正在执行命令: SET NEWNAME 启动 restore 于 20-7月 -16 通道 ch01: 正在开始还原数据文件备份集 通道 ch01: 正在指定从备份集还原的数据文件 通道 ch01: 将数据文件 00001 还原到 C:\app\Administrator\oradata\ybb\SYSTEM01.DBF 通道 ch01: 将数据文件 00002 还原到 C:\APP\ADMINISTRATOR\ORADATA\ybb\SYSAUX01.DBF 通道 ch01: 将数据文件 00003 还原到 C:\APP\ADMINISTRATOR\ORADATA\ybb\UNDOTBS01.DBF 通道 ch01: 将数据文件 00004 还原到 C:\APP\ADMINISTRATOR\ORADATA\ybb\USERS01.DBF 通道 ch01: 将数据文件 00005 还原到 C:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_DATA01.DBF 通道 ch01: 将数据文件 00006 还原到 C:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_DATA02.DBF 通道 ch01: 将数据文件 00007 还原到 C:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_DATA03.DBF 通道 ch01: 将数据文件 00008 还原到 C:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_INDEX01.DBF 通道 ch01: 将数据文件 00009 还原到 C:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_INDEX02.DBF 通道 ch01: 将数据文件 00010 还原到 C:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_INDEX03.DBF 通道 ch01: 将数据文件 00011 还原到 C:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_DATA0101.DBF 通道 ch01: 正在读取备份片段 bk_dybb_u95r99ttg_s3365_p1_t915732400 通道 ch01: 段句柄 = bk_dybb_u95r99ttg_s3365_p1_t915732400 标记 = TAG20160628T180639 通道 ch01: 已还原备份片段 1 通道 ch01: 还原完成, 用时: 00:04:56 完成 restore 于 20-7月 -16 数据文件 1 已转换成数据文件副本 输入数据文件副本 RECID=15 STAMP=917694346 文件名=C:\APP\ADMINISTRATOR\ORADATA\ybb\SYSTEM01.DBF 数据文件 2 已转换成数据文件副本 输入数据文件副本 RECID=16 STAMP=917694346 文件名=C:\APP\ADMINISTRATOR\ORADATA\ybb\SYSAUX01.DBF 数据文件 3 已转换成数据文件副本 输入数据文件副本 RECID=17 STAMP=917694346 文件名=C:\APP\ADMINISTRATOR\ORADATA\ybb\UNDOTBS01.DBF 数据文件 4 已转换成数据文件副本 输入数据文件副本 RECID=18 STAMP=917694346 文件名=C:\APP\ADMINISTRATOR\ORADATA\ybb\USERS01.DBF 数据文件 5 已转换成数据文件副本 输入数据文件副本 RECID=19 STAMP=917694346 文件名=C:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_DATA01.DBF 数据文件 6 已转换成数据文件副本 输入数据文件副本 RECID=20 STAMP=917694346 文件名=C:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_DATA02.DBF 数据文件 7 已转换成数据文件副本 输入数据文件副本 RECID=21 STAMP=917694346 文件名=C:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_DATA03.DBF 数据文件 8 已转换成数据文件副本 输入数据文件副本 RECID=22 STAMP=917694346 文件名=C:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_INDEX01.DBF 数据文件 9 已转换成数据文件副本 输入数据文件副本 RECID=23 STAMP=917694347 文件名=C:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_INDEX02.DBF 数据文件 10 已转换成数据文件副本 输入数据文件副本 RECID=24 STAMP=917694347 文件名=C:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_INDEX03.DBF 数据文件 11 已转换成数据文件副本 输入数据文件副本 RECID=25 STAMP=917694347 文件名=C:\APP\ADMINISTRATOR\ORADATA\ybb\NNC_DATA0101.DBF 启动 recover 于 20-7月 -16 正在开始介质的恢复 通道 ch01: 正在开始将归档日志还原到默认目标 通道 ch01: 正在还原归档日志 归档日志线程=1 序列=25090 通道 ch01: 正在读取备份片段 arch_dybb_u97r99ue8_s3367_p1_t915732936 通道 ch01: 段句柄 = arch_dybb_u97r99ue8_s3367_p1_t915732936 标记 = TAG20160628T181535 通道 ch01: 已还原备份片段 1 通道 ch01: 还原完成, 用时: 00:00:25 归档日志文件名=C:\APP\ADMINISTRATOR\PRODUCT\11.2.0\DBHOME_1\RDBMS\ARC0000025090_0818501732.0001 线程=1 序列=25090 介质恢复完成, 用时: 00:00:00 完成 recover 于 20-7月 -16 释放的通道: ch01 |
6.打开数据库
1 2 3 4 5 6 7 8 9 10 11 | RMAN> alter database open resetlogs; RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: alter db 命令 (在 07/20/2016 11:08:53 上) 失败 ORA-00344: 无法重新创建联机日志 'D:\APP\ADMINISTRATOR\ORADATA\ybb\REDO01A.LOG' ORA-27040: 文件创建错误, 无法创建文件 OSD-04002: 无法打开文件 O/S-Error: (OS 21) 设备未就绪。 |
7.针对上一步出现的错误,重命名redo日志
1 2 3 4 5 6 | SQL> alter database rename file 'D:\APP\ADMINISTRATOR\ORADATA\ybb\REDO01A.LOG' to 'C:\APP\ADMINISTRATOR\ORADATA\ybb\REDO01A.LOG' ; SQL> alter database rename file 'D:\APP\ADMINISTRATOR\ORADATA\ybb\REDO01B.LOG' to 'C:\APP\ADMINISTRATOR\ORADATA\ybb\REDO01B.LOG' ; SQL> alter database rename file 'D:\APP\ADMINISTRATOR\ORADATA\ybb\REDO02A.LOG' to 'C:\APP\ADMINISTRATOR\ORADATA\ybb\REDO02A.LOG' ; SQL> alter database rename file 'D:\APP\ADMINISTRATOR\ORADATA\ybb\REDO02B.LOG' to 'C:\APP\ADMINISTRATOR\ORADATA\ybb\REDO02B.LOG' ; SQL> alter database rename file 'D:\APP\ADMINISTRATOR\ORADATA\ybb\REDO03A.LOG' to 'C:\APP\ADMINISTRATOR\ORADATA\ybb\REDO03A.LOG' ; SQL> alter database rename file 'D:\APP\ADMINISTRATOR\ORADATA\ybb\REDO03B.LOG' to 'C:\APP\ADMINISTRATOR\ORADATA\ybb\REDO03B.LOG' ; |
8.重新打开数据库
1 2 3 4 5 | RMAN> alter database open resetlogs; 数据库已打开 RMAN> |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
· Sdcb Chats 技术博客:数据库 ID 选型的曲折之路 - 从 Guid 到自增 ID,再到
· 语音处理 开源项目 EchoSharp
· 《HelloGitHub》第 106 期
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 使用 Dify + LLM 构建精确任务处理应用
2015-07-20 LINUX使用DVD光盘或者ISO作为本地YUM源
2015-07-20 数据库报ORA-00600: 内部错误代码, 参数: [17059],并产生大量trace日志文件