oracle rman跨平台恢复,使用RMAN完成跨平台数据迁移

1、在源数据库上设置为只读模式(必须是在归档模式下):

Sql>shutdown immediate;

Sql>startup mount;

Sql>alter database open read only;

2、利用dbms_tdb包检查数据库能否被传输以及列出外部表和DIRECTORY等无法传输的对象信息(本例从windows2003x64迁移至redhat 5.8x64平台;实例是全库迁移,这个检查实际上并不起到实际的作用):

检查ORACLE支持转换的平台信息:

Sql> select *

from V$TRANSPORTABLE_PLATFORM order by 3;

Sql>set

serveroutput on

Sql>declare

Db_ready Boolean;

Bein

Db_ready:=dbms_tdb.check(‘Linux

x86 64-bit’,dbms_tdb.skip_none);

End;

/

结果为如下表示正常:

PL/SQL procedure

successfully completed.

Sql>declare

External Boolean;

Begin

external :=

dbms_tdb.check_external;

end;

/

如下结果只是SYS表对象可以不用考虑:

The following

directories exist in the database:

SYS.DATA_PUMP_DIR,

SYS.ORACLE_OCM_CONFIG_DIR, SYS.ADMIN_DIR, SYS.WORK_DIR,

SYS.EXPDIR

PL/SQL procedure

successfully completed.

3、开始进行数据文件转换(在源库中进行,需要先在阵列上建立目录f:\oralinux):

Rman target /

RMAN>convert

database new database ‘ora92’

transport

script ‘f:\oralinux\transportdb.sql’

to

platform ‘Linux x86 64-bit’

db_file_name_convert

‘f:\oracle\ora92\’ ‘f:\oralinux\’;

4、修改f:\oralinux\transportdb.sql脚本,将源库中的涉及到的路径全部修改为LINUX对应的路径名称;

5、将目标库上的ORACLE停止(之前已经在LINUX上创建过ora92实例),并且将原/u01/app/oracle/ora92更名为/u01/app/oracle/ora92local;

6、拷贝数据文件(f:\oralinux\*.*)至linux的相应目录中(/u01/app/oracle/ora92),采用mput *.* .方式,之前先加入prompt以取消提示分个上传方式。

7、开始恢复目标库(执行上传的脚本文件/u01/app/oracle/ora92/transportdb.sql建立控制文件内容,本例忽略建立SPFILE过程):

$sqlplus /nolog

Sql>startup nomount;

Sql>create controlfile reuse set

database ‘ora92’

Resetlogs noarchivelog

……;

8、重新启动数据库并执行打开数据库(可参阅transportdb.sql脚本内容):

Sql>shutdown immediate;

Sql>startup mount;

Sql>alter database open resetlogs;

--开始建立源库中的临时表空间

Sql>alter tablespace temp add tempfile size 2G autoextend on next

655360 maxsize 32767M;

Sql>alter tablespace zltooltmp add tempfile size 2G autoextend on

next 655360 maxsize 32767M;

9、最后还必须执行数据库特殊脚本:

Sql>shutdown immediate;

Sql>startup upgrade;

Sql>@?/rdbms/admin/utlirp.sql;--注意脚本名称:utlirp.sql

Sql>shutdown immediate;

Sql>startup;

Sql>@?/rdbms/adminutlrp.sql;--注意脚本名称:utlrp.sql

至此跨平台同版本同字节数据库迁移完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值