将本机DB rman恢复到另一台全新的机器(实验全过程)

 

Oracle版本:10.2.0.1

DBwinxp  10.142.244.185  sid=cc

恢复到目标机器(虚拟机)windows server 2003   10.142.244.29

 

1、    Rman备份原DB

 

C:\Documents and Settings\F1632512>rman

 

复原管理员: Release 10.2.0.1.0 - Production on 星期四 10 27 14:49:11 2011

 

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

 

RMAN> connect target /

 

已联机到目标数据库: CC (DBID=1976629323)

 

RMAN> configure controlfile autobackup on;

 

使用目标数据库控制文件替代复原目录

旧的 RMAN 组态参数:

CONFIGURE CONTROLFILE AUTOBACKUP ON;

新的 RMAN 组态参数:

CONFIGURE CONTROLFILE AUTOBACKUP ON;

已顺利储存新的 RMAN 组态参数

 

RMAN> backup database;

 

开始 backup, 27-10-11

配置的信道: ORA_DISK_1

通道 ORA_DISK_1: sid=158 devtype=DISK

通道 ORA_DISK_1: 启动完整数据文件备份集

通道 ORA_DISK_1: 正在指定备份集中的数据文件

输入数据文件 fno=00001 名称=E:\ORACLE\PRODUCT\10.2.0\ORADATA\CC\SYSTEM01.DBF

输入数据文件 fno=00003 名称=E:\ORACLE\PRODUCT\10.2.0\ORADATA\CC\SYSAUX01.DBF

输入数据文件 fno=00004 名称=E:\ORACLE\PRODUCT\10.2.0\ORADATA\CC\USERS01.DBF

输入数据文件 fno=00002 名称=E:\ORACLE\PRODUCT\10.2.0\ORADATA\CC\UNDOTBS01.DBF

通道 ORA_DISK_1: 启动部份 1, 27-10-11

通道 ORA_DISK_1: 已完成部份 1, 27-10-11

片段处理=E:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\01MQ5024_1_1 标记=TAG20111027T144955 批注=NONE

片段处理=E:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\02MQ5030_1_1 标记=TAG20111027T144955 批注=NONE

片段处理=E:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\03MQ504G_1_1 标记=TAG20111027T144955 批注=NONE

通道 ORA_DISK_1: 备份集完成, 经历时间: 00:00:45

完成 backup, 27-10-11

 

开始 Control File and SPFILE Autobackup, 27-10-11

处理片=E:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\C-1976629323-20111027-00 批注=NONE

完成 Control File and SPFILE Autobackup, 27-10-11

 

RMAN>

 

2、    1步的rman备份文件与归档日志COPYDB29的相应目录中(不指定相应目录也可以,但是恢复的时候需restore …. From,还是放在指定目录简单些)

 

3、    在新机器10.142.244.29(以下简称DB29)上安装oracle,版本同原DB,只安装软件,不用建库,目录与原DB相同(需建立bdump等存放log的目录,还有存放数据文件的目录)

 

 

4、    建立相关的密码文件,服务,监听器,否则无法连接DB

C:\Documents and Settings\Administrator>e:

E:\>cd E:\oracle\product\10.2.0\db_1\BIN

E:\oracle\product\10.2.0\db_1\BIN>orapwd file=E:\oracle\product\10.2.0\db_1\data

base\pwdCC.ora password=oracle entries=5;

 

E:\oracle\product\10.2.0\db_1\BIN>oradim -new -sid CC -startmode m

执行处理已建立.

 

并建立监听器

 

E:\oracle\product\10.2.0\db_1\BIN>set ORACLE_SID=CC

E:\oracle\product\10.2.0\db_1\BIN>sqlplus "/as sysdba"

 

SQL*Plus: Release 10.2.0.1.0 - Production on 星期四 10 27 10:18:48 2011

 

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

 

联机至闲置的执行处理.

 

可以连接DB

 

5、    手动建立一个pfile文件,放到DB29E:\oracle\product\10.2.0\db_1\database目录下,并启动数据库到nomount状态(需要设置内存参数,否则无法unmount,会无法分内存,报ORA-04031错误)

 

以下是initcc.ora文件的内容:

db_name=cc

java_pool_size=4194304

large_pool_size=4194304

shared_pool_size=96468992

 

 

E:\oracle\product\10.2.0\db_1\BIN>sqlplus "/as sysdba"

 

SQL*Plus: Release 10.2.0.1.0 - Production on 星期四 10 27 10:18:48 2011

 

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

 

联机至闲置的执行处理.

 

SQL> startup pfile='E:\oracle\product\10.2.0\db_1\database\initcc.ora' nomount;

ORACLE 执行处理已启动.

 

Total System Global Area  163577856 bytes

Fixed Size                  1247852 bytes

Variable Size             104859028 bytes

Database Buffers           50331648 bytes

Redo Buffers                7139328 bytes

 

6、    rman连接,利用rman备份恢复spfile

E:\oracle\product\10.2.0\db_1\BIN>rman

 

复原管理员: Release 10.2.0.1.0 - Production on 星期四 10 27 10:28:10 2011

 

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

 

RMAN> connect target /

 

联机至目标数据库: cc (未挂载)

 

RMAN> restore spfile from 'E:\oracle\product\10.2.0\db_1\database\C-1976629323-2

0111027-00';

 

开始 restore, 27-10-11

使用通道 ORA_DISK_1

 

通道 ORA_DISK_1: 找到自动备份: E:\oracle\product\10.2.0\db_1\database\C-19766293

23-20111027-00

通道 ORA_DISK_1: 从自动备份回复 SPFILE 完成

完成 restore, 27-10-11

 

7、    关闭DB29,用刚恢复的spfile启动DB29nomount(注意需要创建bdumpudump那几个目录,否则会报错ORA-02778: Name given for the log directory is invalid  )

 

   RMAN> shutdown immediate;

 

已关闭 Oracle 执行处理

 

SQL> startup  nomount

ORA-02778: Name given for the log directory is invalid

 

建立相应的log目录:bdump,udump

 

SQL> startup  nomount

ORACLE 执行处理已启动.

 

Total System Global Area  289406976 bytes

Fixed Size                  1248576 bytes

Variable Size             104858304 bytes

Database Buffers          176160768 bytes

Redo Buffers                7139328 bytes

 

 

8、    rman恢复controlfile,修改DB29状态为mount

 

RMAN> restore controlfile from 'E:\oracle\product\10.2.0\db_1\database\C-1976629323-20111027-00';

 

开始 restore, 27-10-11

使用目标数据库控制文件替代复原目录

配置的信道: ORA_DISK_1

通道 ORA_DISK_1: sid=156 devtype=DISK

 

通道 ORA_DISK_1: 正在回复控制档

RMAN-00571: ===========================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-03002: restore 命令于 10/27/2011 10:43:55 失败

ORA-19870: 读取备份 E:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\C-1976629323-20111027-00 时发生错误

ORA-19504: 无法建立档案 "E:\ORACLE\PRODUCT\10.2.0\ORADATA\CC\CONTROL01.CTL"

ORA-27040: 档案建立错误, 无法建立档案

OSD-04002: 无法开启档案

O/S-Error: (OS 3) 系统找不到指定的路径。

 

错误提示找不到目录,建立E:\ORACLE\PRODUCT\10.2.0\ORADATA\CC\目录,再重试

 

RMAN> restore controlfile from 'E:\oracle\product\10.2.0\db_1\database\C-1976629323-20111027-00';

 

开始 restore, 27-10-11

使用通道 ORA_DISK_1

 

通道 ORA_DISK_1: 正在回复控制档

通道 ORA_DISK_1: 回复完成, 经历时间: 00:00:04

输出文件名=E:\ORACLE\PRODUCT\10.2.0\ORADATA\CC\CONTROL01.CTL

输出文件名=E:\ORACLE\PRODUCT\10.2.0\ORADATA\CC\CONTROL02.CTL

输出文件名=E:\ORACLE\PRODUCT\10.2.0\ORADATA\CC\CONTROL03.CTL

完成 restore, 27-10-11

 

RMAN> alter database mount;

 

已挂载数据库

释出的通道: ORA_DISK_1

 

9、    rman恢复database

 

RMAN> restore database;

 

开始 restore, 27-10-11

配置的信道: ORA_DISK_1

通道 ORA_DISK_1: sid=156 devtype=DISK

 

通道 ORA_DISK_1: 正在启动数据文件备份集回复

通道 ORA_DISK_1: 正在设定要从备份集回复的数据文件

正在将资料文件 00001 回复为 E:\ORACLE\PRODUCT\10.2.0\ORADATA\CC\SYSTEM01.DBF

正在将资料文件 00002 回复为 E:\ORACLE\PRODUCT\10.2.0\ORADATA\CC\UNDOTBS01.DBF

正在将资料文件 00003 回复为 E:\ORACLE\PRODUCT\10.2.0\ORADATA\CC\SYSAUX01.DBF

正在将资料文件 00004 回复为 E:\ORACLE\PRODUCT\10.2.0\ORADATA\CC\USERS01.DBF

通道 ORA_DISK_1: 从备份 E:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\02MQ5030_1_1 读取

通道 ORA_DISK_1: 已回复备份 1

片断处理=E:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\02MQ5030_1_1 标记=TAG20111027T092656

通道 ORA_DISK_1: 回复完成, 经历时间: 00:01:25

完成 restore, 27-10-11

 

RMAN> recover database;

 

开始 recover, 27-10-11

使用通道 ORA_DISK_1

 

启动媒体恢复

 

存盘日志系线 1 顺序 16 已经是磁盘中的档案 E:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\ARCHIVE\ARC00016_0765131918.001

存盘日志文件名=E:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\ARCHIVE\ARC00016_0765131918.001 系线=1 顺序=16

存盘日志文件名=E:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\ARCHIVE\ARC00017_0765131918.001 系线=1 顺序=17

存盘日志文件名=E:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\ARCHIVE\ARC00018_0765131918.001 系线=1 顺序=18

存盘日志文件名=E:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\ARCHIVE\ARC00019_0765131918.001 系线=1 顺序=19

存盘日志文件名=E:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\ARCHIVE\ARC00019_0765131918.001 系线=1 顺序=20

 

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-03002: recover 命令于 10/27/2011 10:47:36 失败

RMAN-11003: SQL 叙述剖析/执行期间失败: alter database recover logfile 'E:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\ARCHIVE\ARC00019_0765131918.001'

ORA-00310: 存盘日志的顺序号码为 19; 需要的顺序号码为 20

ORA-00334: 存盘日志: 'E:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\ARCHIVE\ARC00019_0765131918.001'

 

10、    用只读打开DB,看看恢复的数据是否正常

 

SQL> alter database open read only;

 

已更改数据库.

 

SQL> select status from v$instance;

 

STATUS

------------------------

OPEN

 

SQL> select * from amy.test;         //rman备份前的表

 

        ID IN_DATE

---------- --------------

         3 27-10-11

         1 21-10-11

         2 21-10-11

 

SQL> select * from amy.back_rman;     //rman备份后建的表

 

         T IN_DATE

---------- --------------

         1 27-10-11

 

 

11、    数据正常,关闭DB29,用resetlogs选项打开DB

 

SQL> shutdown immediate;

数据库关闭.

数据库已卸除.

已关闭 ORACLE 执行处理.

SQL> startup mount;

ORACLE 执行处理已启动.

 

Total System Global Area  289406976 bytes

Fixed Size                  1248576 bytes

Variable Size             104858304 bytes

Database Buffers          176160768 bytes

Redo Buffers                7139328 bytes

数据库已挂载.

SQL> alter database open resetlogs;

 

已更改数据库.

SQL> select * from amy.test;        

 

        ID IN_DATE

---------- --------------

         3 27-10-11

         1 21-10-11

SQL> select * from amy.back_rman;   

 

         T IN_DATE

---------- --------------

         1 27-10-11

 

 

 

OK,一切正常,恢复完毕。

 

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9902302/viewspace-709849/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/9902302/viewspace-709849/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值