做测试环境数据库迁移的时候,遇到一个小问题。
[oracle@public_test admin]$ sqlplus system/internal@UUP70_test
SQL*Plus: Release 9.2.0.4.0 - Production on Wed Oct 31 14:18:13 2012
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
ERROR:
ORA-06553: PLS-801: internal error [56319]
ERROR:
ORA-06553: PLS-801: internal error [56319]
Error accessing package DBMS_APPLICATION_INFO
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.4.0 - 64bit Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.4.0 - Production
数据库是可以连接的,但报ORA-06553: PLS-801: internal error [56319]的错误。
在进行SQL语句查询的时候,经常会有这个错误出现。
网上查了些资料,有说可能是数据库位数问题,检查源库与目标库:
[oracle@DB-PUBLIC oracle]$ getconf LONG_BIT
32
新的服务器: 64位
果然,是从32位到了64位。迁移过程我是这么做的:从源库用RMAN备份出来,在目标库恢复。然后open resetlogs
现在目标库是64位的。
[oracle@public_test bdump]$ hostname
public_test
[oracle@public_test bdump]$ getconf LONG_BIT
64
[oracle@public_test bdump]$ which oracle
/oracle/product/9.2.0/db_1/bin/oracle
[oracle@public_test bdump]$ file /oracle/product/9.2.0/db_1/bin/oracle --说明数据库是64位的。
/oracle/product/9.2.0/db_1/bin/oracle: setuid setgid ELF 64-bit LSB executable, AMD x86-64,
version 1 (SYSV), for GNU/Linux 2.4.0, dynamically linked (uses shared libs), not stripped
后来我做了如下的步骤,在进行SQL语句查询的时候,就不会有这样的错误出现了。
1、Shutdown immediate
2、startup migrate
注:startup migrate表示降级,在9i,无论升级/降级 数据库都是startup migrate;
10g后增加了upgrade参数,升级可直接用startup upgrade,降级仍是startup migrate.
3、@$ORACLE_HOME/rdbms/admin/utlirp.sql; --从32位到64位或者从64位到32位,需要编译包
4、Shutdown immediate
5、Startup
6、@$ORACLE_HOME/rdbms/admin/utlrp.sql; --编译无效对象
7、Shutdown immediate
8、Startup
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10173379/viewspace-748014/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/10173379/viewspace-748014/