数据库迁移:LINUX-32到LINUX-64(10.2.0.4)

一:环境说明

源库:

操作系统:LINUX 32

数据库:ORACLE 10.2.0.4.0  32

 

目标库:

操作系统:LINUX 64

数据库:ORACLE 10.2.0.4.0  64

 

二:操作说明

使用RMAN跨平台传输

导出:

1.       startup open read only;

2.       检查是否支持跨平台的转换

Set serveroutput on;

Declare

Db_ready Boolean;

Begin

Db_ready:=dbms_tdb.check_db('Linux x86 64-bit',2);

If(db_ready) then

Dbms_output.put_line('support');

Else

Dbms_output.put_line('nosupport');

End if;

End;

3.       检查是否存在外部对象

Declare

External Boolean;

Begin

External:=dbms_tdb.check_external;

End;

4.       RMAN中执行整库转换

Convert  database new database ‘MICSREGR’    --(在此设定实例名MICSREGR

Transport script. ‘/u02/app/oracle/oradata/MICSREGR/rmandata/tsconv.sql’

To platform. ‘Linux x86 64-bit’

Db_file_name_convert ‘/u02/app/oracle/oradata/MICSREGR/’  ‘/u02/RMAN/a’;

注意报如下错误:/u02/app/oracle/oradata/MICSREGR/必须要加/,否则会报OMF错误。

/u02/RMAN/a必须要加a,用来和源库的OMF文件区分。

ORA-01276: Cannot add file /u02/app/oracle/oradata/MICSREGR/rmandata /o1_mf_system_4c720cx5_.dbf.  File has an Oracle Managed Files file name.

5.       将数据库设置为read write

Startup open read write;

导入:

1.       导入前准备

将导出的数据文件复制到目标库对应的路径。

并创建adump,bdump,cdump,udump文件

mkdir adump bdump cdump udump

2.  export ORACLE_SID=MICSREGR

3.  startup nomount pfile=’/u02/app/oracle/oradata/MICSREGR/rmandata/MICSREGR.ora’;

4.  创建控制文件(导出脚本中有),注意每个路劲

5.  alter database open resetlogs;

6.  ALTER TABLESPACE TEMP ADD TEMPFILE SIZE 2494M AUTOEXTEND ON NEXT 10485760  MAXSIZE 2500M; 

7.       编译对象,先关闭数据库,然后以升级模式重新启动

Shutdown immediate

Startup upgrade pfile=’/u02/app/oracle/oradata/MICSREGR/rmandata/MICSREGR.ora’;

@@ ?/rdbms/admin/utlirp.sql

8.       编译数据库中无效对象

Shutdown immediate;

Startup pfile=’/u02/app/oracle/oradata/MICSREGR/rmandata/MICSREGR.ora’;

@@ ?/rdbms/admin/utlrp.sql

在执行脚本过程中,会报03113错误

DECLARE
*
ERROR at line 1:
ORA-03113: end-of-file on communication channel

再次编译@@ ?/rdbms/admin/utlrp.sql

Session异常中断,在alter logtrace里都有ORA-7445错误

Errors in file /u02/app/oracle/admin/MICSREGR/bdump/micsregr_j000_29490.trc:
ORA-07445: exception encountered: core dump [_intel_fast_memcpy.A()+10] [SIGSEGV] [Address not mapped to object] [0x2AB297D771CF] [] []

   导致这个问题,是因为我们启动了OLAP,在32位转到64位时就会遇到这种错误。

9.       处理OLAP问题

(1)       删除组件

@?/olap/admin/catnoamd.sql

@?/olap/admin/olapidrp.plb

@?/olap/admin/catnoxoq.sql

@?/olap/admin/catnoaps.sql

@?/olap/admin/cwm2drop.sql ---此脚本在11G的版本中用,在10G是不需要的。

@?/rdbms/admin/utlrp.sql

drop public synonym OlapFactView;

drop public synonym OlapDimView;

drop public synonym DBMS_ODM;

关闭数据库

(2)       添加OLAP组件

利用DBCA工具。

因为恢复的实例在DBCA中是看不到的,所以要做一些修改,修改如下:/etc/oratab

添加MICSREGR:/u01/app/oracle/product/10.2.0/db_1:N

然后在图形化下启动DBCA 选择 configure database option--------next--------next----------选择OLAP(SYSAUX) ----next ------finish

           待重建完毕后,可再次查看无效对象:

select count(*) from all_objects where status='INVALID';

10.    Create spfile from pfile

11.    处理外部对象,如directory

12.    创建密码文件

orapwd file=$ORACLE_HOME/dbs/orapwMICSREGR password=oracle entries=5;

13.    配置监听

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

转载于:http://blog.itpub.net/26655292/viewspace-743758/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值