oracle10g迁移,32位至64位

参考metalink上的文章:
How to Migrate Oracle 10.2 32bit to 10.2 64bit on Microsoft Windows
DB CONVERSION: 32 bit -->64 Bit Broke OLAP OPTION

Upgrading OLAP from 32 to 64 bits


----------------------------------

具体步骤如下,最近写的方案,我们也准备做
1、        迁移前一天停止RMAN脚本中的DELETE ALL INPUT来停止删除归档日志文件。
2、        全备前使用V$LOG来确定当前的日志序列号。
3、        在当前服务器中新建目录来保存RMAN备份文件。
4、        使用RMAN全备脚本进行完整的RMAN备份,指定目录到新建的目录中。同时保存RMAN备份日志,用来过后确定ORACLE控制文件所在的备份集备份片。
5、        在原数据库中使用CREATE PFILE FROM SPFILE来更新PFILE。
6、        在目标服务器中新建数据库,数据库的名字和原数据库一样。
7、        建立完成会删除所有数据文件,日志文件,控制文件,同时删除SPFILE。
8、        在目标服务器中新建目录,此目录和原服务器中的目录一样。
9、        通过FTP传输所有备份集备份片到目标服务器中新建的目录中。
10、修改目标服务器中数据库的PFILE,要求和原数据库PFILE一样。
11、启动数据库到NOMOUNT状态。
12、在目标服务器中新建目录用来存在恢复的控制文件,参照PFILE中的配置
13、进行控制文件恢复。
14、启动数据库到MOUNT状态。
15、在目标服务器中新建目录用来存放数据库文件,建立归档目录用来存放归档日志,
    同时建立各种TRACE文件目录。
16、通过RESOTRE来进行数据文件还原。
到此准备工作完成,下面的步骤为进行数据恢复时的步骤
17、提取原库的对象信息,在迁移完成后方便对比。
18、关闭应用,确定不会再有新的数据写入到数据库。
19、进行多次日志切换,确保所有更改的数据都已经写入到归档日志,如果日志文件为三个进行四次切换即可。
20、通过元数据库查看V$LOG来确定当前日志序列,判断出需要拷贝的归档日志文件,为了更加安全可以在最早的归档以前再多取几个。
21、通过FTP拷贝原服务器归档日志到目标服务器相应的目录中。
22、通过RECOVER DATABASE UNTIL 来进行恢复。
23、使用ALTER DATABASE OPEN RESETLOGS来打开数据库。
24、使用命令SHUTDOWN IMMEDIATE来关闭数据库。
25、使用命令STARTUP MIGRATE启动数据库。
26、运行脚本utlirp.sql。
27、使用命令SHUTDOWN IMMEDIATE来关闭数据库。
28、使用命令STARTUP来启动数据库。
29、运行脚本utlrp.sql。
30、使用命令SHUTDOWN IMMEDIATE来关闭数据库。
31、使用命令STARTUP来启动数据库。
32、提取数据库对象信息,和原库的对象信息进行比对。
至此数据迁移完成。

我们主要是使用RMAN来最小化停机时间,拷贝时间太久了

------------------------------------------------------------------------

32位升级到64位之后迁移oracle db遇到的问题

处理器由32位变成了64位,重装oracle软件之后,权衡各种因素,db我选择了把冷备直接挂接的办法迁移,迁移之后遇到了问题...


顺利挂载db之后,通过应用程序或者第三方工具(如plsql developer)连接时出现ORA-06553: PLS-801: internal error [56319] 等错误。解决方法如下:

SQL> shutdown immediate

SQL> startup upgrade

SQL> set echo on

SQL> @$ORACLE_HOME/rdbms/admin/utlirp.sql

SQL> select status from dba_objects

2 where object_name='DBMS_STANDARD'

3 and object_type='PACKAGE'

4 and owner='SYS';

如果invalid,则需要重新编译,执行以下语句

SQL> alter package dbms_standard compile;

如果是valid,则不需要执行上面一条语句

SQL> select object_name from dba_objects where status='INVALID';

如果返回值不为空,则需要执行以下语句

SQL> @$ORACLE_HOME/rdbms/admin/utlrp.sql

如果语句执行失败,则依次执行下列语句

$ cd /u01/app/oracle/product/102/db_1/olap/admin/

SQL> @?/olap/admin/catnoamd.sql

SQL> @?/olap/admin/catnoaps.sql

SQL> @?/olap/admin/catnoxoq.sql

SQL> @?/olap/admin/olapidrp.plb

SQL>@?/olap/admin/olap.sql SYSAUX TEMP;

然后再次执行

SQL> @$ORACLE_HOME/rdbms/admin/utlrp.sql

再次查询

SQL> select object_name from dba_objects where status='INVALID';

此时应为空

SQL> set echo off

SQL> shutdown immediate;

SQL> startup

参考的原文连接如下:

http://mail.qq.com/cgi-bin/ftnExs_download?k=2c633037cc0299cc9b1224374234521c5a5753530700020a4e52010e5319500152001d565d50061e55050807535553525a540554642f6452024e7c5e0a411c83cdd9f3e2bb19afe2d99f829edbf94a5e0b1730&t=exs_ftn_download&code=cc07d4d3



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值