MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0
源主机ip : 192.168.6.144
1:ORACLE相关设置如下:
ORACLE_BASE=C:\oracle\product\10.2.0
ORACLE_HOME=C:\oracle\product\10.2.0\db_1
ORACLE_SID=orcl
Path=C:\oracle\product\10.2.0\db_1\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
2:查看数据库归档模式
SQL> archive log list;
数据库日志模式 存档模式
自动存档 启用
存档终点 USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 4
下一个存档日志序列 6
当前日志序列 6
如果为非归档,可以用如下命令修改
SQL> startup mount
ORACLE 例程已经启动。
Total System Global Area 167772160 bytes
Fixed Size 1247900 bytes
Variable Size 75498852 bytes
Database Buffers 88080384 bytes
Redo Buffers 2945024 bytes
数据库装载完毕。
SQL>
SQL> alter database archivelog;
数据库已更改。
3:查看源库数据文件、日志文件和控制文件信息
SQL> select file_name from dba_Data_files;
FILE_NAME
--------------------------------------------------------------------------------
C:\ORADATA\ORCL\USERS01.DBF
C:\ORADATA\ORCL\SYSAUX01.DBF
C:\ORADATA\ORCL\UNDOTBS01.DBF
C:\ORADATA\ORCL\SYSTEM01.DBF
C:\ORADATA\ORCL\EXAMPLE01.DBF
C:\ORADATA\ORCL\TT.DBF
C:\ORADATA\ORCL\TEST.DBF
已选择7行。
SQL> select member from v$logfile;
MEMBER
--------------------------------------------------------------------------------
C:\ORADATA\ORCL\REDO03.LOG
C:\ORADATA\ORCL\REDO02.LOG
C:\ORADATA\ORCL\REDO01.LOG
SQL> select name from v$controlfile;
NAME
--------------------------------------------------------------------------------
C:\ORADATA\ORCL\CONTROL01.CTL
C:\ORADATA\ORCL\CONTROL02.CTL
C:\ORADATA\ORCL\CONTROL03.CTL
4:备份源数据库,并以这个备份作为恢复的基础
SQL> select dbid from v$database;
DBID
---------------
1321505122
C:\>rman target /
恢复管理器: Release 10.2.0.1.0 - Production on 星期三 9月 12 09:20:39 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到目标数据库: ORCL (DBID=1321505122)
RMAN> backup database plus archivelog; //备份源数据库
启动 backup 于 13-9月 -12
当前日志已存档
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=140 devtype=DISK
通道 ORA_DISK_1: 正在启动存档日志备份集
通道 ORA_DISK_1: 正在指定备份集中的存档日志
输入存档日志线程 =1 序列 =20 记录 ID=18 时间戳=793883108
输入存档日志线程 =1 序列 =21 记录 ID=19 时间戳=793883136
输入存档日志线程 =1 序列 =22 记录 ID=20 时间戳=793883175
输入存档日志线程 =1 序列 =23 记录 ID=21 时间戳=793883197
输入存档日志线程 =1 序列 =24 记录 ID=22 时间戳=793883259
通道 ORA_DISK_1: 正在启动段 1 于 13-9月 -12
通道 ORA_DISK_1: 已完成段 1 于 13-9月 -12
段句柄=C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2012_09_13\O1_MF_ANNNN_TAG20120913T110741_852MHZSW_.BKP 标记=TAG20120913T110741 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:04
完成 backup 于 13-9月 -12
启动 backup 于 13-9月 -12
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00001 name=C:\ORADATA\ORCL\SYSTEM01.DBF
输入数据文件 fno=00003 name=C:\ORADATA\ORCL\SYSAUX01.DBF
输入数据文件 fno=00005 name=C:\ORADATA\ORCL\EXAMPLE01.DBF
输入数据文件 fno=00006 name=C:\ORADATA\ORCL\TT.DBF
输入数据文件 fno=00007 name=C:\ORADATA\ORCL\TEST.DBF
输入数据文件 fno=00002 name=C:\ORADATA\ORCL\UNDOTBS01.DBF
输入数据文件 fno=00004 name=C:\ORADATA\ORCL\USERS01.DBF
通道 ORA_DISK_1: 正在启动段 1 于 13-9月 -12
通道 ORA_DISK_1: 已完成段 1 于 13-9月 -12
段句柄=C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2012_09_13\O1_MF_NNNDF_TAG20120913T110748_852MJ489_.BKP 标记=TAG20120913T110748 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:01:05
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
备份集中包括当前控制文件
在备份集中包含当前的 SPFILE
通道 ORA_DISK_1: 正在启动段 1 于 13-9月 -12
通道 ORA_DISK_1: 已完成段 1 于 13-9月 -12
段句柄=C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2012_09_13\O1_MF_NCSNF_TAG20120913T110748_852ML6SW_.BKP 标记=TAG20120913T110748 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:02
完成 backup 于 13-9月 -12
启动 backup 于 13-9月 -12
当前日志已存档
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在启动存档日志备份集
通道 ORA_DISK_1: 正在指定备份集中的存档日志
输入存档日志线程 =1 序列 =25 记录 ID=23 时间戳=793883335
通道 ORA_DISK_1: 正在启动段 1 于 13-9月 -12
通道 ORA_DISK_1: 已完成段 1 于 13-9月 -12
段句柄=C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2012_09_13\O1_MF_ANNNN_TAG20120913T110856_852ML93F_.BKP 标记=TAG20120913T110856 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:02
完成 backup 于 13-9月 -12
RMAN> backup current controlfile; // 备份当前控制文件
启动 backup 于 13-9月 -12
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
备份集中包括当前控制文件
通道 ORA_DISK_1: 正在启动段 1 于 13-9月 -12
通道 ORA_DISK_1: 已完成段 1 于 13-9月 -12
段句柄=C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2012_09_13\O1_MF_NCNNF_TAG20120913T111243_852MSCTC_.BKP 标记=TAG20120913T111243 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:01
完成 backup 于 13-9月 -12
5:生成源数据库的参数文件
SQL> show parameter spfile;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string C:\ORACLE\PRODUCT\10.2.0\DB_1\
DBS\SPFILEORCL.ORA
SQL> create pfile from spfile;
然后到 C:\oracle\product\10.2.0\db_1\database目录下生成一个文件 initorcl.ora ,将这个参数文件传到目的库(192.168.6.244)中 C:\oracle\product\10.2.0\db_1\database目录下;
将源库C:\oracle\product\10.2.0\flash_recovery_area\ORCL\BACKUPSET\2012_09_12目录下的备份文件全部拷贝到 目的库(192.168.6.244)中
目的主机ip: 192.168.6.244
1:上传oracle的安装包,安装的时候选择仅安装数据库软件 ,不要用dbca创建库
2:修改 initorcl.ora 文件中的部分参数
adump、bdump、cdump和udump 位置
control_files 位置
db_recovery_file_dest 位置
3:windows下可以通过oradim创建一个服务启动oracle环境
C:\>oradim -new -sid jim
实例已创建。
4:通过rman将数据库启动到nomount状态
C:\>set oracle_sid=jim
C:\>rman target /
恢复管理器: Release 10.2.0.1.0 - Production on 星期三 9月 12 10:11:05 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
已连接到目标数据库 (未启动)
RMAN> startup nomount pfile='C:\oracle\product\10.2.0\db_1\database\initorcl.ora';
Oracle 实例已启动
系统全局区域总计 167772160 字节
Fixed Size 1247900 字节
Variable Size 62915940 字节
Database Buffers 100663296 字节
Redo Buffers 2945024 字节
RMAN>
5:通过备份的控制文件恢复出控制文件
将源库(6.144)backupset目录下的备份集拷贝到目的库(6.244)的C:\db_arch\backupset目录下,然后找到备份控制文件的备份集名字
RMAN> restore controlfile to 'C:\oradata\jim\control01.ctl' from 'C:\db_arch\backupset\O1_MF_NCNNF_TAG20120913T111243_852MSCTC_.BKP';
启动 restore 于 13-9月 -12
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=157 devtype=DISK
通道 ORA_DISK_1: 正在复原控制文件
通道 ORA_DISK_1: 恢复完成, 用时: 00:00:04
完成 restore 于 13-9月 -12
6:有了控制文件以后,然后挂载数据库
RMAN> alter database mount;
数据库已装载
释放的通道: ORA_DISK_1
RMAN>
mount数据库的过程中会去读控制文件,如果初始化参数 initorcl.ora 中的 control_files指定了多个控制文件路径,需要将前一步恢复出来的控制文件多复制几份,
然后放到对应的路径下;否则mount数据库的时候,报如下错
RMAN-03002: alter db 命令 (在 09/12/2012 10:32:59 上) 失败
ORA-00205: 标识控制文件时出错, 有关详细信息, 请查看预警日志
7:oracle 10g开始,新增了一个功能,通过catalog start with命令,oracle 可以搜索指定目录中的备份文件,并将这些备份文件添加到控制文件。
以下命令就是向控制文件中加载备份集
RMAN> catalog start with 'C:\db_arch\backupset';
启动 implicit crosscheck backup 于 13-9月 -12
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=156 devtype=DISK
已交叉检验的 4 对象
完成 implicit crosscheck backup 于 13-9月 -12
启动 implicit crosscheck copy 于 13-9月 -12
使用通道 ORA_DISK_1
完成 implicit crosscheck copy 于 13-9月 -12
搜索恢复区域中的所有文件
正在编制文件目录...
没有为文件编制目录
搜索与样式 C:\db_arch\backupset 匹配的所有文件
数据库未知文件的列表
=====================================
文件名: C:\DB_ARCH\backupset\O1_MF_ANNNN_TAG20120913T110741_852MHZSW_.BKP
文件名: C:\DB_ARCH\backupset\O1_MF_ANNNN_TAG20120913T110856_852ML93F_.BKP
文件名: C:\DB_ARCH\backupset\O1_MF_NCNNF_TAG20120913T111243_852MSCTC_.BKP
文件名: C:\DB_ARCH\backupset\O1_MF_NCSNF_TAG20120913T110748_852ML6SW_.BKP
文件名: C:\DB_ARCH\backupset\O1_MF_NNNDF_TAG20120913T110748_852MJ489_.BKP
是否确实要将上述文件列入目录 (输入 YES 或 NO)? yes
正在编制文件目录...
目录编制完毕
已列入目录的文件的列表
=======================
文件名: C:\DB_ARCH\backupset\O1_MF_ANNNN_TAG20120913T110741_852MHZSW_.BKP
文件名: C:\DB_ARCH\backupset\O1_MF_ANNNN_TAG20120913T110856_852ML93F_.BKP
文件名: C:\DB_ARCH\backupset\O1_MF_NCNNF_TAG20120913T111243_852MSCTC_.BKP
文件名: C:\DB_ARCH\backupset\O1_MF_NCSNF_TAG20120913T110748_852ML6SW_.BKP
文件名: C:\DB_ARCH\backupset\O1_MF_NNNDF_TAG20120913T110748_852MJ489_.BKP
9:编写恢复脚本,然后执行恢复
RMAN>
run{
set newname for datafile 1
to 'C:\oradata\jim\SYSTEM01.DBF';
set newname for datafile 2
to 'C:\oradata\jim\UNDOTBS01.DBF';
set newname for datafile 3
to 'C:\oradata\jim\SYSAUX01.DBF';
set newname for datafile 4
to 'C:\oradata\jim\USERS01.DBF';
set newname for datafile 5
to 'C:\oradata\jim\EXAMPLE01.DBF';
set newname for datafile 6
to 'C:\oradata\jim\TT01.DBF';
set newname for datafile 7
to 'C:\oradata\jim\TEST.DBF';
restore database;
switch datafile all; // 对于nocatalog模式下,rman备份的信息是保存在控制文件里,而这个命令就是更新控制文件里的信息
}
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
启动 restore 于 13-9月 -12
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到C:\ORADATA\JIM\SYSTEM01.DBF
正将数据文件00002恢复到C:\ORADATA\JIM\UNDOTBS01.DBF
正将数据文件00003恢复到C:\ORADATA\JIM\SYSAUX01.DBF
正将数据文件00004恢复到C:\ORADATA\JIM\USERS01.DBF
正将数据文件00005恢复到C:\ORADATA\JIM\EXAMPLE01.DBF
正将数据文件00006恢复到C:\ORADATA\JIM\TT01.DBF
正将数据文件00007恢复到C:\ORADATA\JIM\TEST.DBF
通道 ORA_DISK_1: 正在读取备份段 C:\DB_ARCH\BACKUPSET\O1_MF_NNNDF_TAG20120913T110
748_852MJ489_.BKP
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = C:\DB_ARCH\BACKUPSET\O1_MF_NNNDF_TAG20120913T110748_852MJ489_.BKP 标记
= TAG20120913T110748
通道 ORA_DISK_1: 恢复完成, 用时: 00:00:45
完成 restore 于 13-9月 -12
数据文件 1 已转换成数据文件副本
输入数据文件副本 recid=9 stamp=793887265 文件名=C:\ORADATA\JIM\SYSTEM01.DBF
数据文件 2 已转换成数据文件副本
输入数据文件副本 recid=10 stamp=793887265 文件名=C:\ORADATA\JIM\UNDOTBS01.DBF
数据文件 3 已转换成数据文件副本
输入数据文件副本 recid=11 stamp=793887265 文件名=C:\ORADATA\JIM\SYSAUX01.DBF
数据文件 4 已转换成数据文件副本
输入数据文件副本 recid=12 stamp=793887266 文件名=C:\ORADATA\JIM\USERS01.DBF
数据文件 5 已转换成数据文件副本
输入数据文件副本 recid=13 stamp=793887266 文件名=C:\ORADATA\JIM\EXAMPLE01.DBF
数据文件 6 已转换成数据文件副本
输入数据文件副本 recid=14 stamp=793887266 文件名=C:\ORADATA\JIM\TT01.DBF
数据文件 7 已转换成数据文件副本
输入数据文件副本 recid=15 stamp=793887266 文件名=C:\ORADATA\JIM\TEST.DBF
RMAN>
10:将以shudown immediate方式关闭源库,并将源库(1.144)目录下的三个redolog拷贝到目的库(6.244)上的数据文件目录C:\oradata\jim ;
并将源库(6.144)上的归档日志拷贝到目的库(6.244)的C:\db_arch\backupset目录下 ; 如下操作时修改控制文件里新日志文件的路径
在目的库(6.244)上再开一个sql窗口,执行
SQL> select open_mode from v$database;
OPEN_MODE
----------
MOUNTED
SQL> alter database rename file 'C:\oradata\orcl\redo01.log' to 'C:\oradata\jim\redo01.log';
数据库已更改。
SQL> alter database rename file 'C:\oradata\orcl\redo02.log' to 'C:\oradata\jim\redo02.log';
数据库已更改。
SQL> alter database rename file 'C:\oradata\orcl\redo03.log' to 'C:\oradata\jim\redo03.log';
数据库已更改。
11:利用归档日志进行数据库的恢复
RMAN> recover database;
启动 recover 于 13-9月 -12
使用通道 ORA_DISK_1
正在开始介质的恢复
存档日志线程 1 序列 26 已作为文件 C:\ORADATA\JIM\REDO01.LOG 存在于磁盘上
存档日志线程 1 序列 27 已作为文件 C:\ORADATA\JIM\REDO02.LOG 存在于磁盘上
存档日志线程 1 序列 28 已作为文件 C:\ORADATA\JIM\REDO03.LOG 存在于磁盘上
通道 ORA_DISK_1: 正在启动到默认目标的存档日志恢复
通道 ORA_DISK_1: 正在恢复存档日志
存档日志线程 =1 序列=25
通道 ORA_DISK_1: 正在读取备份段 C:\DB_ARCH\BACKUPSET\O1_MF_ANNNN_TAG20120913T110
856_852ML93F_.BKP
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = C:\DB_ARCH\BACKUPSET\O1_MF_ANNNN_TAG20120913T110856_852ML93F_.BKP 标记
= TAG20120913T110856
通道 ORA_DISK_1: 恢复完成, 用时: 00:00:01
存档日志文件名 =C:\DB_ARCH\ORCL\ARCHIVELOG\2012_09_13\O1_MF_1_25_852R7JVT_.ARC
线程 =1 序列 =25
通道 default: 正在删除存档日志
存档日志文件名 =C:\DB_ARCH\ORCL\ARCHIVELOG\2012_09_13\O1_MF_1_25_852R7JVT_.ARC
记录 ID=29 时间戳 =793888112
存档日志文件名 =C:\ORADATA\JIM\REDO01.LOG 线程 =1 序列 =26
存档日志文件名 =C:\ORADATA\JIM\REDO02.LOG 线程 =1 序列 =27
存档日志文件名 =C:\ORADATA\JIM\REDO03.LOG 线程 =1 序列 =28
介质恢复完成, 用时: 00:00:08
完成 recover 于 13-9月 -12
RMAN>
12:以resetlogs方式打开db
RMAN> alter database open resetlogs;
数据库已打开
13:另外开一个sql窗口,验证数据
SQL> connect test/test;
已连接。
SQL> select * from test;
ID NAME
---------- ----------
1 a
2 b
3 c
4 d
5 c
6 c
已选择6行。
以resetlogs方式打开数据库以后,需要对库做一次全备
14:增加temp临时文件
从dselect tablespace_name from dba_tablespaces 视图可以查到临时表空间的名字,但是在实际的存储目录上,却没有发现临时表空间
SQL> select name from v$tempfile;
NAME
------------------------------------------
C:\ORADATA\ORCL\TEMP01.DBF
然后增加临时表空间temp的数据文件,大小依据之前的临时表空间大小
SQL> alter tablespace temp add tempfile 'C:\ORADATA\JIM\TEMP01.DBF' size 100m;
SQL> select name from v$tempfile;
NAME
-------------------------------------------------------------------------------
C:\ORADATA\ORCL\TEMP01.DBF
C:\ORADATA\JIM\TEMP01.DBF
删除控制文件中关于临时表空间的相关记录
SQL> alter database tempfile 'C:\ORADATA\ORCL\TEMP01.DBF' offline;
数据库已更改。
SQL> alter database tempfile 'C:\ORADATA\ORCL\TEMP01.DBF' drop including datafil
es;
数据库已更改。
SQL> select name from v$tempfile;
NAME
--------------------------------------------------------------------------------
C:\ORADATA\JIM\TEMP01.DBF
至此,用rman迁移数据全部ok
参考链接 http://blog.youkuaiyun.com/tianlesoftware/article/details/6245209
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24862808/viewspace-743364/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/24862808/viewspace-743364/