百度空间 | 百度首页 
 
查看文章
 
基于32bit主库建立64bit逻辑备库时遇到错误 ORA-06553: PLS-801: internal error [56319]
2009-07-08 11:58

注意, 如果是64bit备库的建立时源于32bit主库(反过来也一样), 在启动备库或开启sql apply的时候会遇到"ORA-06553: PLS-801: internal error [56319]"错误, 这就要求在开启sql apply前先重新编译64bit的plsql模块, 按照如下步骤操作:


SQL> shutdown immediate;

SQL> startup upgrade;

SQL> ?/rdbms/admin/utlirp.sql;

SQL> shutdown immediate;

SQL> startup;

SQL> ?/rdbms/admin/utlrp.sql;


然后启动sql apply:

SQL> alter database start logical standby apply;


其中utlirp.sql文件内容如下:

Rem Copyright (c) 1998, 2003, Oracle Corporation. All rights reserved.
Rem
Rem   NAME
Rem     utlirp.sql - UTiLity script to Invalidate Pl/sql modules
Rem
Rem   DESCRIPTION
Rem     This script can be used to invalidate and all pl/sql modules
Rem     (procedures, functions, packages, types, triggers, views)
Rem     in a database.
Rem
Rem     This script must be run when it is necessary to regenerate the
Rem     compiled code because the PL/SQL code format is inconsistent with
Rem     the Oracle executable (e.g., when migrating a 32 bit database to
Rem      a 64 bit database or vice-versa).
Rem
Rem     Please note that this script does not recompile invalid objects
Rem     automatically. You must restart the database and explicitly invoke
Rem     utlrp.sql to recompile invalid objects.
Rem
Rem   USAGE
Rem     To use this script, execute the following sequence of actions:
Rem     1. Shut down the database and restart in UPGRADE mode
Rem        (using STARTUP UPGRADE or ALTER DATABASE OPEN UPGRADE)
Rem     2. Run this script
Rem     3. Shut down the database and restart in normal mode
Rem     4. Run utlrp.sql to recompile invalid objects. This script does
Rem        not automatically recompile invalid objects.
Rem
Rem   NOTES
Rem      * This script must be run using SQL*PLUS.
Rem      * You must be connected AS SYSDBA to run this script.
Rem      * This script expects the following files to be available in the
Rem        current directory:
Rem          standard.sql
Rem          dbmsstdx.sql
Rem      * There should be no other DDL on the database while running the
Rem        script. Not following this recommendation may lead to deadlocks.
Rem
Rem   MODIFIED   (MM/DD/YY)
Rem    gviswana    12/08/03 - 33002294: Use UPGRADE mode
Rem    gviswana    08/08/03 - Re-enable functional indexes
Rem    gviswana    04/16/03 - Move system parameter handling to utlirp.sql
Rem    rdecker     01/17/02 - Remove comment re: alter library compile support
Rem    jdavison    04/11/00 - Modify usage notes for 8.2 changes.
Rem    ncramesh    08/04/98 - change for sqlplus
Rem    usundara    06/03/98 - merge from 8.0.5:
Rem                           * change name utlrpls.sql --> utlirp.sql;
Rem                           * split out utlip.sql and utlrp.sql and call them
Rem    kmuthukk    04/07/98 - merge from 8.0.5
Rem    kmuthukk    03/09/98 - script to recompile pl/sql modules
Rem    kmuthukk    03/09/98 - Created
Rem
Rem    === (old history; merged from cat8004s.sql) ===
Rem     MODIFIED   (MM/DD/YY)
Rem     gviswana    02/25/98 - 632376: Do not remove idl_ rows for libraries
Rem     kmuthukk    02/05/98 - bug621356 (truncate idl tables)
Rem     kmuthukk    01/09/98 - merge from kmuthukk_plsql_32_64_upgrade
Rem     mramache    12/30/97 - code to revalidate PL/SQL objs.
Rem     kmuthukk    12/30/97 - migration script from 8.0.4 to 8.0.4S
Rem     kmuthukk    12/30/97 - Created
Rem    === (end of old history) ===
Rem
...


--END--


类别:Oracle Err | 添加到搜藏 | 分享到i贴吧 | 浏览() | 评论 (0)
 
最近读者:
 
网友评论:
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu