ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 亲测oracle10g rman做数据库移植

亲测oracle10g rman做数据库移植

原创 Linux操作系统 作者:SingleLove 时间:2008-07-03 13:35:31 0 删除 编辑

1、首先在原数据库做rman全库备份
RMAN> run{
2> allocate channel c1 type disk;
3> backup format 'd:\db_bakup\full%u_%s_%p' database
4> include current controlfile;
5> release channel c1;
6> }

2、在新库服务器建立与原库相同的目录(盘符和路径都要一致)

3、拷贝原库的rman备份以及PWD等文件放置到新库相应的目录下

4、在新库建立与原库相同的实例然后进行恢复,过程如下:

C:\Documents and Settings\Administrator>oradim -new -sid zs
实例已创建。

C:\Documents and Settings\Administrator>set oracle_sid=zs

C:\Documents and Settings\Administrator>rman target /

恢复管理器: Release 10.2.0.1.0 - Production on 星期三 7月 2 14:14:40 2008

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

已连接到目标数据库 (未启动)

RMAN> startup nomount pfile='D:\oracle\product\10.2.0\admin\zs\pfile\init080630.
ora'

Oracle 实例已启动

系统全局区域总计     960495616 字节

Fixed Size                     1248816 字节
Variable Size                322961872 字节
Database Buffers             629145600 字节
Redo Buffers                   7139328 字节

RMAN> restore controlfile from 'F:\orabak\FULL06JKDP1K_6_1';//一定要先建立好相应的目录

启动 restore 于 02-7月 -08
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=542 devtype=DISK

通道 ORA_DISK_1: 正在复原控制文件
通道 ORA_DISK_1: 恢复完成, 用时: 00:00:05
输出文件名=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ZS\CONTROL01.CTL
输出文件名=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ZS\CONTROL02.CTL
输出文件名=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ZS\CONTROL03.CTL
输出文件名=E:\ORADATA\ZS\CONTROL04.CTL
完成 restore 于 02-7月 -08

RMAN> sql 'alter database mount';

sql 语句: alter database mount
释放的通道: ORA_DISK_1


RMAN> restore database;//要求将备份文件放在和controlfile记录的备份信息相同的目录下

启动 restore 于 02-7月 -08
使用通道 ORA_DISK_1

通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到D:\ORACLE\PRODUCT\10.2.0\ORADATA\ZS\SYSTEM01.DBF
正将数据文件00002恢复到D:\ORACLE\PRODUCT\10.2.0\ORADATA\ZS\UNDOTBS01.DBF
正将数据文件00003恢复到D:\ORACLE\PRODUCT\10.2.0\ORADATA\ZS\SYSAUX01.DBF
正将数据文件00004恢复到D:\ORACLE\PRODUCT\10.2.0\ORADATA\ZS\USERS01.DBF
正将数据文件00005恢复到D:\ORACLE\PRODUCT\10.2.0\ORADATA\ZS\EXAMPLE01.DBF
正将数据文件00006恢复到D:\ORACLE\PRODUCT\10.2.0\ORADATA\ZS\ZSKJ_DATA01.DBF
正将数据文件00007恢复到E:\ORADATA\ZS\ZSKJ_DATA02.DBF
正将数据文件00008恢复到D:\ORACLE\PRODUCT\10.2.0\ORADATA\ZS\ZS_DATA01.DBF
正将数据文件00009恢复到E:\ORADATA\ZS\ZS_DATA02.DBF
正将数据文件00010恢复到D:\ORACLE\PRODUCT\10.2.0\ORADATA\ZS\ZS_IDXDATA01.DBF
正将数据文件00011恢复到E:\ORADATA\ZS\ZS_IDXDATA02.DBF
正将数据文件00012恢复到D:\ORACLE\PRODUCT\10.2.0\ORADATA\ZS\ZSKJ_IDXDATA01.DBF
正将数据文件00013恢复到E:\ORADATA\ZS\ZSKJ_IDXDATA02.DBF
通道 ORA_DISK_1: 正在读取备份段 F:\ORABAK\FULL05JKDOA0_5_1
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = F:\ORABAK\FULL05JKDOA0_5_1 标记 = TAG20080701T193008
通道 ORA_DISK_1: 恢复完成, 用时: 00:58:58
完成 restore 于 02-7月 -08

注意:由于rman的是在线的全备份,restore 后,由于没有redo文件,所以要有备份后的归档日志,可用从原数据库copy过来,进行不完全恢复。最好在前面rman备份数据库时一并备份archivelog,现在就可以直接恢复archivelog再做incomplete recovery

RMAN> recover database until logseq 109;

启动 recover 于 02-7月 -08
使用通道 ORA_DISK_1

正在开始介质的恢复

存档日志文件名 =D:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\ARCHIVE\ARC00108_06585084
07.001 线程 =1 序列 =108
介质恢复完成, 用时: 00:00:07
完成 recover 于 02-7月 -08

RMAN> sql 'alter database open resetlogs';

sql 语句: alter database open resetlogs

5、配置listener.ora和tnsnames.ora文件

6、从pfile创建spfile

7、删除em再使用dbca重新配置数据库

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

请登录后发表评论 登录
全部评论

注册时间:2008-01-09

  • 博文量
    6
  • 访问量
    13000