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

本文介绍从32位系统升级到64位系统后,迁移Oracle数据库过程中遇到的问题及解决方法。主要涉及数据库挂载后通过应用程序或第三方工具连接时出现的ORA-06553错误,并提供了详细的解决步骤。

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

 

 

32Oracle数据库升级64是一个较为复杂的过程,一般可按以下步骤操作: 1. **评估与规划**: - 全面评估现有32Oracle数据库的配置、数据量、应用依赖等情况。这有助于确定升级过程中可能遇到的问题,如某些旧版本应用可能对64数据库存在兼容性问题。 - 制定详细的升级计划,包括升级时间窗口、回滚策略等。选择业务低峰期进行升级,以减少对业务的影响。同时,准备好回滚方案,以便在升级出现问题时能快速恢复到原有状态。 2. **环境准备**: - 安装64的操作系统和64Oracle数据库软件。确保操作系统满足64Oracle数据库的硬件和软件要求,如内存、磁盘空间等。 - 配置好64Oracle数据库的环境变量,如`ORACLE_HOME`、`PATH`、`LD_LIBRARY_PATH`等。这些环境变量的正确配置是保证数据库正常运行的基础。 3. **数据迁移**: - 采用数据泵(Data Pump)工具进行数据迁移。数据泵是Oracle提供的高效数据迁移工具,支持大规模数据的快速导出和导入。可以使用以下命令导出32数据库的数据: ```sql expdp username/password@32bit_db directory=dpump_dir dumpfile=32bit_dump.dmp full=y ``` - 然后,在64数据库中创建相同的表空间和用户,并使用数据泵将导出的数据导入到64数据库中: ```sql impdp username/password@64bit_db directory=dpump_dir dumpfile=32bit_dump.dmp full=y ``` 4. **应用适配**: - 检查并修改应用程序的连接字符串,使其指向64Oracle数据库。 - 对应用程序进行全面测试,确保其在64数据库环境下能正常运行。可能需要对部分代码进行调整和优化,以适应64数据库的特性。 5. **升级测试**: - 在测试环境中进行完整的升级测试,模拟真实的升级过程。 - 对升级后的数据库和应用程序进行功能测试、性能测试等,确保升级后的系统满足业务需求。 6. **正式升级**: - 在完成测试且确认无误后,在生产环境中按照升级计划进行正式升级。 - 升级过程中密切监控系统状态,及时处理出现的问题。 由于升级操作的复杂性和重要性,建议在升级前充分备份数据,并在专业人员的指导下进行。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值