ITPub博客

首页 > Linux操作系统 > Linux操作系统 > windows主机两个独立的db做rman异机恢复--不改变db_name

windows主机两个独立的db做rman异机恢复--不改变db_name

原创 Linux操作系统 作者:sxitsxit 时间:2013-03-20 14:25:20 0 删除 编辑
本次试验只做异机恢复,不改变原来的 db_name

源主机 192.168.1.244 ,db_name为win10g ,rman中的控制文件自动备份打开


往表t中插入数据,观察日志情况,并切换日志组

第一次

SQL> select group#,sequence#,status,first_change#,archived from v$log;

    GROUP#  SEQUENCE# STATUS           FIRST_CHANGE# ARC
---------- ---------- ---------------- ------------- ---
         1         99 CURRENT                6065328 NO
         2         98 ACTIVE                 6065301 YES
         3         97 ACTIVE                 6027435 YES

SQL> insert into t values(6);

已创建 1 行。

SQL> commit;

提交完成。

SQL> alter system switch logfile;

系统已更改。

SQL>

SQL> select group#,sequence#,status,first_change#,archived from v$log;

    GROUP#  SEQUENCE# STATUS           FIRST_CHANGE# ARC
---------- ---------- ---------------- ------------- ---
         1         99 ACTIVE                 6065328 YES
         2         98 ACTIVE                 6065301 YES
         3        100 CURRENT                6065474 NO


第二次


SQL> insert into t values(7);

已创建 1 行。

SQL> commit;

提交完成。

SQL> alter system switch logfile;

系统已更改。


SQL> select group#,sequence#,status,first_change#,archived from v$log;

    GROUP#  SEQUENCE# STATUS           FIRST_CHANGE# ARC
---------- ---------- ---------------- ------------- ---
         1         99 ACTIVE                 6065328 YES
         2        101 CURRENT                6065502 NO
         3        100 ACTIVE                 6065474 YES
         

第三次


SQL> insert into t values(8);

已创建 1 行。

SQL> commit;

提交完成。

SQL> alter system switch logfile;

系统已更改。

SQL>

SQL> select group#,sequence#,status,first_change#,archived from v$log;

    GROUP#  SEQUENCE# STATUS           FIRST_CHANGE# ARC
---------- ---------- ---------------- ------------- ---
         1        102 CURRENT                6065528 NO
         2        101 ACTIVE                 6065502 YES
         3        100 ACTIVE                 6065474 YES
         

第四次


SQL> insert into t values(9);

已创建 1 行。

SQL> commit;

提交完成。

SQL> alter system switch logfile;

系统已更改。
                  
SQL> select group#,sequence#,status,first_change#,archived from v$log;

    GROUP#  SEQUENCE# STATUS           FIRST_CHANGE# ARC
---------- ---------- ---------------- ------------- ---
         1        102 ACTIVE                 6065528 YES
         2        101 ACTIVE                 6065502 YES
         3        103 CURRENT                6065847 NO                 
         
         
第五次

SQL> insert into t values(10);

已创建 1 行。

SQL> commit;

提交完成。

SQL> alter system switch logfile;

SQL> select group#,sequence#,status,first_change#,archived from v$log;

    GROUP#  SEQUENCE# STATUS           FIRST_CHANGE# ARC
---------- ---------- ---------------- ------------- ---
         1        102 ACTIVE                 6065528 YES
         2        104 CURRENT                6065884 NO
         3        103 ACTIVE                 6065847 YES
         

第六次

SQL> insert into t values(11);

已创建 1 行。

SQL> commit;

提交完成。

SQL> alter system switch logfile;

系统已更改。

SQL> select group#,sequence#,status,first_change#,archived from v$log;

    GROUP#  SEQUENCE# STATUS           FIRST_CHANGE# ARC
---------- ---------- ---------------- ------------- ---
         1        105 CURRENT                6065913 NO
         2        104 ACTIVE                 6065884 YES
         3        103 ACTIVE                 6065847 YES
       

第七次

SQL> insert into t values(12);

已创建 1 行。

SQL> commit;

提交完成。

SQL> alter system switch logfile;

系统已更改。


SQL> select group#,sequence#,status,first_change#,archived from v$log;

    GROUP#  SEQUENCE# STATUS           FIRST_CHANGE# ARC
---------- ---------- ---------------- ------------- ---
         1        105 ACTIVE                 6065913 YES
         2        104 ACTIVE                 6065884 YES
         3        106 CURRENT                6065943 NO
         
         
SQL> select * from t;

        ID
----------
         6
         7
         8
         9
        10
        11
        12

已选择7行。


这个时候在闪回恢复区中生成了 多个归档日志文件

然后备份win10g

run{
backup as compressed backupset database;
backup archivelog all not backed up delete input;
delete noprompt obsolete recovery window of 5 days;
}
         

启动 backup 于 20-3月 -13
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=139 devtype=DISK
通道 ORA_DISK_1: 启动压缩的全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00001 name=C:\ORADATA\WIN10G\SYSTEM01.DBF
输入数据文件 fno=00003 name=C:\ORADATA\WIN10G\SYSAUX01.DBF
输入数据文件 fno=00002 name=C:\ORADATA\WIN10G\UNDOTBS01.DBF
输入数据文件 fno=00005 name=C:\ORADATA\WIN10G\EXAMPLE01.DBF
输入数据文件 fno=00006 name=C:\ORADATA\TT.DBF
输入数据文件 fno=00004 name=C:\ORADATA\WIN10G\USERS01.DBF
通道 ORA_DISK_1: 正在启动段 1 于 20-3月 -13
通道 ORA_DISK_1: 已完成段 1 于 20-3月 -13
段句柄=C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\WIN10G\BACKUPSET\2013_03_20\
O1_MF_NNNDF_TAG20130320T105555_8NL99W0Z_.BKP 标记=TAG20130320T105555 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:01:05
完成 backup 于 20-3月 -13

启动 backup 于 20-3月 -13
当前日志已存档
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在启动存档日志备份集
通道 ORA_DISK_1: 正在指定备份集中的存档日志
输入存档日志线程 =1 序列 =97 记录 ID=95 时间戳=810556467
输入存档日志线程 =1 序列 =98 记录 ID=96 时间戳=810556516
输入存档日志线程 =1 序列 =99 记录 ID=97 时间戳=810556812
输入存档日志线程 =1 序列 =100 记录 ID=98 时间戳=810556876
输入存档日志线程 =1 序列 =101 记录 ID=99 时间戳=810556930
输入存档日志线程 =1 序列 =102 记录 ID=100 时间戳=810556996
输入存档日志线程 =1 序列 =103 记录 ID=101 时间戳=810557083
输入存档日志线程 =1 序列 =104 记录 ID=102 时间戳=810557149
输入存档日志线程 =1 序列 =105 记录 ID=103 时间戳=810557209
输入存档日志线程 =1 序列 =106 记录 ID=104 时间戳=810557824
通道 ORA_DISK_1: 正在启动段 1 于 20-3月 -13
通道 ORA_DISK_1: 已完成段 1 于 20-3月 -13
段句柄=C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\WIN10G\BACKUPSET\2013_03_20\
O1_MF_ANNNN_TAG20130320T105704_8NL9D13F_.BKP 标记=TAG20130320T105704 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:01
通道 ORA_DISK_1: 正在删除存档日志
存档日志文件名 =C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\WIN10G\ARCHIVELOG\2
013_03_20\O1_MF_1_97_8NL81M2G_.ARC 记录 ID=95 时间戳 =810556467
存档日志文件名 =C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\WIN10G\ARCHIVELOG\2
013_03_20\O1_MF_1_98_8NL834MK_.ARC 记录 ID=96 时间戳 =810556516
存档日志文件名 =C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\WIN10G\ARCHIVELOG\2
013_03_20\O1_MF_1_99_8NL8DDSW_.ARC 记录 ID=97 时间戳 =810556812
存档日志文件名 =C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\WIN10G\ARCHIVELOG\2
013_03_20\O1_MF_1_100_8NL8GD7B_.ARC 记录 ID=98 时间戳 =810556876
存档日志文件名 =C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\WIN10G\ARCHIVELOG\2
013_03_20\O1_MF_1_101_8NL8J2NZ_.ARC 记录 ID=99 时间戳 =810556930
存档日志文件名 =C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\WIN10G\ARCHIVELOG\2
013_03_20\O1_MF_1_102_8NL8L4OZ_.ARC 记录 ID=100 时间戳 =810556996
存档日志文件名 =C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\WIN10G\ARCHIVELOG\2
013_03_20\O1_MF_1_103_8NL8NVOZ_.ARC 记录 ID=101 时间戳 =810557083
存档日志文件名 =C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\WIN10G\ARCHIVELOG\2
013_03_20\O1_MF_1_104_8NL8PXOZ_.ARC 记录 ID=102 时间戳 =810557149
存档日志文件名 =C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\WIN10G\ARCHIVELOG\2
013_03_20\O1_MF_1_105_8NL8RSOZ_.ARC 记录 ID=103 时间戳 =810557209
存档日志文件名 =C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\WIN10G\ARCHIVELOG\2
013_03_20\O1_MF_1_106_8NL9D0B8_.ARC 记录 ID=104 时间戳 =810557824
完成 backup 于 20-3月 -13

启动 Control File and SPFILE Autobackup 于 20-3月 -13
段 handle=C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\WIN10G\AUTOBACKUP\2013_03
_20\O1_MF_S_810557826_8NL9D2OH_.BKP comment=NONE
完成 Control File and SPFILE Autobackup 于 20-3月 -13

使用通道 ORA_DISK_1
未找到已废弃的备份




RMAN> list backup ;


备份集列表
===================

BS 关键字  类型 LV 大小       设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
56      Full    168.76M    DISK        00:00:55     20-3月 -13
        BP 关键字: 56   状态: AVAILABLE  已压缩: YES  标记: TAG20130320T105555
段名:C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\WIN10G\BACKUPSET\2013_03_20\O1_MF_NNNDF_TAG20130320T105555_8NL99W0Z_.BKP
  备份集 56 中的数据文件列表
  文件 LV 类型 Ckp SCN    Ckp 时间   名称
  ---- -- ---- ---------- ---------- ----
  1       Full 6066217    20-3月 -13 C:\ORADATA\WIN10G\SYSTEM01.DBF
  2       Full 6066217    20-3月 -13 C:\ORADATA\WIN10G\UNDOTBS01.DBF
  3       Full 6066217    20-3月 -13 C:\ORADATA\WIN10G\SYSAUX01.DBF
  4       Full 6066217    20-3月 -13 C:\ORADATA\WIN10G\USERS01.DBF
  5       Full 6066217    20-3月 -13 C:\ORADATA\WIN10G\EXAMPLE01.DBF
  6       Full 6066217    20-3月 -13 C:\ORADATA\TT.DBF

BS 关键字  大小       设备类型占用时间 完成时间
------- ---------- ----------- ------------ ----------
57      39.84M     DISK        00:00:00     20-3月 -13
        BP 关键字: 57   状态: AVAILABLE  已压缩: NO  标记: TAG20130320T105704
段名:C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\WIN10G\BACKUPSET\2013_03_20\O1_MF_ANNNN_TAG20130320T105704_8NL9D13F_.BKP

  备份集 57 中的已存档日志列表
  Thrd Seq     低 SCN    短时间     下一个 SCN   下一次
  ---- ------- ---------- ---------- ---------- ---------
  1    97      6027435    19-3月 -13 6065301    20-3月 -13
  1    98      6065301    20-3月 -13 6065328    20-3月 -13
  1    99      6065328    20-3月 -13 6065474    20-3月 -13
  1    100     6065474    20-3月 -13 6065502    20-3月 -13
  1    101     6065502    20-3月 -13 6065528    20-3月 -13
  1    102     6065528    20-3月 -13 6065847    20-3月 -13
  1    103     6065847    20-3月 -13 6065884    20-3月 -13
  1    104     6065884    20-3月 -13 6065913    20-3月 -13
  1    105     6065913    20-3月 -13 6065943    20-3月 -13
  1    106     6065943    20-3月 -13 6066260    20-3月 -13

BS 关键字  类型 LV 大小       设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
58      Full    6.95M      DISK        00:00:00     20-3月 -13
        BP 关键字: 58   状态: AVAILABLE  已压缩: NO  标记: TAG20130320T105706
段名:C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\WIN10G\AUTOBACKUP\2013_03_20\O1_MF_S_810557826_8NL9D2OH_.BKP
  包括的控制文件: Ckp SCN: 6066266      Ckp 时间: 20-3月 -13
  包含的 SPFILE: 修改时间: 20-3月 -13

RMAN>



目的主机   192.168.1.240  db_name为zt ,rman中的设置都为默认

现在想要把244主机上的备份异地恢复到240主机上,并保留db_name为win10g


1:将源主机(244)上的备份 全部scp到目的主机(240)的 C:\scp目录下

O1_MF_NNNDF_TAG20130320T105555_8NL99W0Z_.BKP -------数据文件备份
O1_MF_ANNNN_TAG20130320T105704_8NL9D13F_.BKP -------归档日志文件备份
O1_MF_S_810557826_8NL9D2OH_.BKP   ---------- 控制文件自动备份   



2:关闭目的库zt,恢复控制文件

SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。

然后删除原来zt数据库的所有数据文件、控制文件及日志文件

修改zt库上的pfile文件(所在目录为C:\oracle\product\10.2.0\db_1\database\initzt.ora)

将里面的 db_name改为 win10g  ,如果有 undo_tablespace 则改为源主机对应的,而service_names、
instance_name 可改可不改

然后恢复控制文件

RMAN> startup nomount;

Oracle 实例已启动

系统全局区域总计     293601280 字节

Fixed Size                     1248624 字节
Variable Size                 96469648 字节
Database Buffers             192937984 字节
Redo Buffers                   2945024 字节

RMAN>

RMAN> restore controlfile from 'C:\scp\O1_MF_S_810557826_8NL9D2OH_.BKP';

启动 restore 于 20-3月 -13
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=157 devtype=DISK

通道 ORA_DISK_1: 正在复原控制文件
通道 ORA_DISK_1: 恢复完成, 用时: 00:00:02
输出文件名=C:\ZT\ORADATA\ZT\CONTROL01.CTL
输出文件名=C:\ZT\ORADATA\ZT\CONTROL02.CTL
输出文件名=C:\ZT\ORADATA\ZT\CONTROL03.CTL
完成 restore 于 20-3月 -13

RMAN>



3:查看控制文件里的备份信息 

RMAN> startup mount;

数据库已经启动
数据库已装载
释放的通道: ORA_DISK_1

RMAN> list  backup;


备份集列表
===================

BS 关键字  类型 LV 大小       设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
56      Full    168.76M    DISK        00:00:55     20-3月 -13
        BP 关键字: 56   状态: AVAILABLE  已压缩: YES  标记: TAG20130320T105555
段名:C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\WIN10G\BACKUPSET\2013_03_20\O1_MF_NNNDF_TAG20130320T105555_8NL99W0Z_.BKP
  备份集 56 中的数据文件列表
  文件 LV 类型 Ckp SCN    Ckp 时间   名称
  ---- -- ---- ---------- ---------- ----
  1       Full 6066217    20-3月 -13 C:\ORADATA\WIN10G\SYSTEM01.DBF
  2       Full 6066217    20-3月 -13 C:\ORADATA\WIN10G\UNDOTBS01.DBF
  3       Full 6066217    20-3月 -13 C:\ORADATA\WIN10G\SYSAUX01.DBF
  4       Full 6066217    20-3月 -13 C:\ORADATA\WIN10G\USERS01.DBF
  5       Full 6066217    20-3月 -13 C:\ORADATA\WIN10G\EXAMPLE01.DBF
  6       Full 6066217    20-3月 -13 C:\ORADATA\TT.DBF

BS 关键字  大小       设备类型占用时间 完成时间
------- ---------- ----------- ------------ ----------
57      39.84M     DISK        00:00:00     20-3月 -13
        BP 关键字: 57   状态: AVAILABLE  已压缩: NO  标记: TAG20130320T105704
段名:C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\WIN10G\BACKUPSET\2013_03_20\O1_MF_ANNNN_TAG20130320T105704_8NL9D13F_.BKP

  备份集 57 中的已存档日志列表
  Thrd Seq     低 SCN    短时间     下一个 SCN   下一次
  ---- ------- ---------- ---------- ---------- ---------
  1    97      6027435    19-3月 -13 6065301    20-3月 -13
  1    98      6065301    20-3月 -13 6065328    20-3月 -13
  1    99      6065328    20-3月 -13 6065474    20-3月 -13
  1    100     6065474    20-3月 -13 6065502    20-3月 -13
  1    101     6065502    20-3月 -13 6065528    20-3月 -13
  1    102     6065528    20-3月 -13 6065847    20-3月 -13
  1    103     6065847    20-3月 -13 6065884    20-3月 -13
  1    104     6065884    20-3月 -13 6065913    20-3月 -13
  1    105     6065913    20-3月 -13 6065943    20-3月 -13
  1    106     6065943    20-3月 -13 6066260    20-3月 -13

RMAN>



可见还是源库(win10g)上的信息

然后将目的主机(240)上的备份片重新注册到控制文件中

RMAN> catalog backuppiece 'C:\scp\O1_MF_NNNDF_TAG20130320T105555_8NL99W0Z_.BKP';

启动 implicit crosscheck backup 于 20-3月 -13
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=156 devtype=DISK
已交叉检验的 2 对象
完成 implicit crosscheck backup 于 20-3月 -13
启动 implicit crosscheck copy 于 20-3月 -13
使用通道 ORA_DISK_1
已交叉检验的 6 对象
完成 implicit crosscheck copy 于 20-3月 -13
搜索恢复区域中的所有文件
正在编制文件目录...
没有为文件编制目录
已列入目录的备份段
备份段 handle=C:\SCP\O1_MF_NNNDF_TAG20130320T105555_8NL99W0Z_.BKP recid=58 stamp
=810562175


RMAN> catalog backuppiece 'C:\SCP\O1_MF_ANNNN_TAG20130320T105704_8NL9D13F_.BKP';

已列入目录的备份段
备份段 handle=C:\SCP\O1_MF_ANNNN_TAG20130320T105704_8NL9D13F_.BKP recid=59 stamp
=810562249



注册以后重新查看控制文件里的备份集信息(查看段名的区别)

RMAN> list backup;


备份集列表
===================

BS 关键字  类型 LV 大小       设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
58      Full    168.76M    DISK        00:00:00     20-3月 -13
        BP 关键字: 58   状态: AVAILABLE  已压缩: YES  标记: TAG20130320T105555
段名:C:\SCP\O1_MF_NNNDF_TAG20130320T105555_8NL99W0Z_.BKP
  备份集 58 中的数据文件列表
  文件 LV 类型 Ckp SCN    Ckp 时间   名称
  ---- -- ---- ---------- ---------- ----
  1       Full 6066217    20-3月 -13 C:\ORADATA\WIN10G\SYSTEM01.DBF
  2       Full 6066217    20-3月 -13 C:\ORADATA\WIN10G\UNDOTBS01.DBF
  3       Full 6066217    20-3月 -13 C:\ORADATA\WIN10G\SYSAUX01.DBF
  4       Full 6066217    20-3月 -13 C:\ORADATA\WIN10G\USERS01.DBF
  5       Full 6066217    20-3月 -13 C:\ORADATA\WIN10G\EXAMPLE01.DBF
  6       Full 6066217    20-3月 -13 C:\ORADATA\TT.DBF

BS 关键字  大小       设备类型占用时间 完成时间
------- ---------- ----------- ------------ ----------
59      39.84M     DISK        00:00:00     20-3月 -13
        BP 关键字: 59   状态: AVAILABLE  已压缩: NO  标记: TAG20130320T105704
段名:C:\SCP\O1_MF_ANNNN_TAG20130320T105704_8NL9D13F_.BKP

  备份集 59 中的已存档日志列表
  Thrd Seq     低 SCN    短时间     下一个 SCN   下一次
  ---- ------- ---------- ---------- ---------- ---------
  1    97      6027435    19-3月 -13 6065301    20-3月 -13
  1    98      6065301    20-3月 -13 6065328    20-3月 -13
  1    99      6065328    20-3月 -13 6065474    20-3月 -13
  1    100     6065474    20-3月 -13 6065502    20-3月 -13
  1    101     6065502    20-3月 -13 6065528    20-3月 -13
  1    102     6065528    20-3月 -13 6065847    20-3月 -13
  1    103     6065847    20-3月 -13 6065884    20-3月 -13
  1    104     6065884    20-3月 -13 6065913    20-3月 -13
  1    105     6065913    20-3月 -13 6065943    20-3月 -13
  1    106     6065943    20-3月 -13 6066260    20-3月 -13

RMAN>


RMAN> crosscheck backup;
RMAN> delete expired backup;




4:在mount状态下,更新控制文件里关于数据文件的路径

在源库(244)上执行 report schema,列出数据文件编号对应的数据文件 

RMAN> report schema;

数据库方案报表

永久数据文件列表
===========================
文件大小 (MB) 表空间           回退段数据文件名称
---- -------- -------------------- ------- ------------------------
1    500      SYSTEM               ***     C:\ORADATA\WIN10G\SYSTEM01.DBF
2    100      UNDOTBS1             ***     C:\ORADATA\WIN10G\UNDOTBS01.DBF
3    370      SYSAUX               ***     C:\ORADATA\WIN10G\SYSAUX01.DBF
4    52       USERS                ***     C:\ORADATA\WIN10G\USERS01.DBF
5    100      EXAMPLE              ***     C:\ORADATA\WIN10G\EXAMPLE01.DBF
6    100      TT                   ***     C:\ORADATA\TT.DBF

临时文件列表
=======================
文件大小 (MB) 表空间           最大大小 (MB) 临时文件名称
---- -------- -------------------- ----------- --------------------
1    21       TEMP                 32767       C:\ORADATA\WIN10G\TEMP01.DBF


然后对应数据文件编号和数据文件名,修改存放目的库的具体路径

在目的库(240)上

mount状态下

run{
set newname for datafile 1 to 'C:\zt\oradata\zt\SYSTEM01.DBF';
set newname for datafile 2 to  'C:\zt\oradata\zt\UNDOTBS01.DBF';
set newname for datafile 3 to  'C:\zt\oradata\zt\SYSAUX01.DBF';
set newname for datafile 4 to  'C:\zt\oradata\zt\USERS01.DBF'; 
set newname for datafile 5 to  'C:\zt\oradata\zt\EXAMPLE01.DBF';  
set newname for datafile 6 to  'C:\zt\oradata\zt\TT.DBF'; 
restore database;
switch datafile all;
}


正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

启动 restore 于 20-3月 -13
使用通道 ORA_DISK_1

通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到C:\ZT\ORADATA\ZT\SYSTEM01.DBF
正将数据文件00002恢复到C:\ZT\ORADATA\ZT\UNDOTBS01.DBF
正将数据文件00003恢复到C:\ZT\ORADATA\ZT\SYSAUX01.DBF
正将数据文件00004恢复到C:\ZT\ORADATA\ZT\USERS01.DBF
正将数据文件00005恢复到C:\ZT\ORADATA\ZT\EXAMPLE01.DBF
正将数据文件00006恢复到C:\ZT\ORADATA\ZT\TT.DBF
通道 ORA_DISK_1: 正在读取备份段 C:\SCP\O1_MF_NNNDF_TAG20130320T105555_8NL99W0Z_.BKP
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = C:\SCP\O1_MF_NNNDF_TAG20130320T105555_8NL99W0Z_.BKP 标记 = TAG20130320T105555
通道 ORA_DISK_1: 恢复完成, 用时: 00:01:06
完成 restore 于 20-3月 -13

数据文件 1 已转换成数据文件副本
输入数据文件副本 recid=35 stamp=810567199 文件名=C:\ZT\ORADATA\ZT\SYSTEM01.DBF
数据文件 2 已转换成数据文件副本
输入数据文件副本 recid=36 stamp=810567199 文件名=C:\ZT\ORADATA\ZT\UNDOTBS01.DBF
数据文件 3 已转换成数据文件副本
输入数据文件副本 recid=37 stamp=810567200 文件名=C:\ZT\ORADATA\ZT\SYSAUX01.DBF
数据文件 4 已转换成数据文件副本
输入数据文件副本 recid=38 stamp=810567200 文件名=C:\ZT\ORADATA\ZT\USERS01.DBF
数据文件 5 已转换成数据文件副本
输入数据文件副本 recid=39 stamp=810567200 文件名=C:\ZT\ORADATA\ZT\EXAMPLE01.DBF
数据文件 6 已转换成数据文件副本
输入数据文件副本 recid=40 stamp=810567200 文件名=C:\ZT\ORADATA\ZT\TT.DBF




set newname for 指明数据文件往个路径还原
restore database  开始还原数据库
switch datafile all   更新控制文件里记录的数据文件路径

执行完上述命令以后,v$datafile已经更新,但是v$logfile还是源库(244)

SQL> select name from v$datafile;

NAME
--------------------------------------------------------
C:\ZT\ORADATA\ZT\SYSTEM01.DBF
C:\ZT\ORADATA\ZT\UNDOTBS01.DBF
C:\ZT\ORADATA\ZT\SYSAUX01.DBF
C:\ZT\ORADATA\ZT\USERS01.DBF
C:\ZT\ORADATA\ZT\EXAMPLE01.DBF
C:\ZT\ORADATA\ZT\TT.DBF

已选择6行。                   



SQL> select group#,member from v$logfile;

    GROUP# MEMBER
---------- ----------------------------------------
         3 C:\ORADATA\WIN10G\REDO03.LOG
         2 C:\ORADATA\WIN10G\REDO02.LOG
         1 C:\ORADATA\WIN10G\REDO01.LOG
         
         


5:更新控制文件中redo log的位置

将源库(244)win10g上的三个redo log拷贝到目的库(240)的 C:\zt\oradata\zt  目录下

mount状态下

SQL> select open_mode from v$database;

OPEN_MODE
----------
MOUNTED


SQL> alter database rename file  'C:\ORADATA\WIN10G\REDO01.LOG' to 'C:\zt\oradata\zt\REDO01.LOG';

数据库已更改。

SQL> alter database rename file  'C:\ORADATA\WIN10G\REDO02.LOG' to 'C:\zt\oradata\zt\REDO02.LOG';

数据库已更改。

SQL> alter database rename file  'C:\ORADATA\WIN10G\REDO03.LOG' to 'C:\zt\oradata\zt\REDO03.LOG';

数据库已更改。



SQL> select file#,checkpoint_change# from v$datafile;(查看控制文件中记录的scn)

     FILE# CHECKPOINT_CHANGE#
---------- ------------------
         1            6066217
         2            6066217
         3            6066217
         4            6066217
         5            6066217
         6            6066217

已选择6行。

SQL>
SQL> select file#,checkpoint_change# from v$datafile_header;(查看数据文件头中记录的scn)

     FILE# CHECKPOINT_CHANGE#
---------- ------------------
         1            6066217
         2            6066217
         3            6066217
         4            6066217
         5            6066217
         6            6066217

已选择6行。
  
  
RMAN> recover database;

启动 recover 于 20-3月 -13
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=158 devtype=DISK

正在开始介质的恢复

存档日志线程 1 序列 106 已作为文件 C:\ZT\ORADATA\ZT\REDO03.LOG 存在于磁盘上
存档日志线程 1 序列 107 已作为文件 C:\ZT\ORADATA\ZT\REDO02.LOG 存在于磁盘上
存档日志文件名 =C:\ZT\ORADATA\ZT\REDO03.LOG 线程 =1 序列 =106
存档日志文件名 =C:\ZT\ORADATA\ZT\REDO02.LOG 线程 =1 序列 =107
介质恢复完成, 用时: 00:00:01
完成 recover 于 20-3月 -13     

:
6:最后以resetlogs方式打开db,并做验证

RMAN> alter database open resetlogs;

数据库已打开 


SQL> select * from t;

        ID
----------
         6
         7
         8
         9
        10
        11
        12

已选择7行。


SQL> select name from v$database;

NAME
---------
WIN10G
   

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

下一篇: 控制文件的误解
请登录后发表评论 登录
全部评论

注册时间:2011-04-14

  • 博文量
    98
  • 访问量
    323763