天萃荷净

运维DBA反映在做完Oracle数据库升级后遇到ORA-06553: PLS-213: package STANDARD not accessible的报错,分析原因为plsql_compiler_flags引导。

测试环境:OS:RHEL 4.8

1,执行catpatch.sql的时候报下面错误

SQL> STARTUP MIGRATE

ORACLE instance started.

Total System Global Area 1075282424 bytes

Fixed Size                   741880 bytes

Variable Size             419430400 bytes

Database Buffers          654311424 bytes

Redo Buffers                 798720 bytes

Database mounted.

Database opened.

SQL> @ /rdbms/admin/catpatch.sql

下面这样的错误,有很多

xdb.xdb$Extname2Intname(s.xmldata.schema_url,s.xmldata.schema_owner),

*

ERROR at line 7:

ORA-04045: errors during recompilation/revalidation of XDB.XDB$EXTNAME2INTNAME

ORA-06553: PLS-213: package STANDARD not accessible

ORA-06553: PLS-213: package STANDARD not accessible

grant select on dba_xml_schemas to select_catalog_role

*

ERROR at line 1:

ORA-04045: errors during recompilation/revalidation of SYS.DBA_XML_SCHEMAS

ORA-06553: PLS-213: package STANDARD not accessible

ORA-06553: PLS-213: package STANDARD not accessible

随便做任何操作基本上都要报ORA-06553的错误,open错误的时候也会报这个错误,但是数据库能正常打开。

2,禁用触发器

SQL> alter system set "_system_trig_enabled"=false;

System altered.

再次升级还是报相同的错误。

3,查询无效对象

SQL> SELECT * FROM DBA_OBJECTS WHERE OWNER = 'SYS'

2  AND OBJECT_NAME = 'STANDARD';

OWNER

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

OBJECT_NAME

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

SUBOBJECT_NAME                  OBJECT_ID DATA_OBJECT_ID OBJECT_TYPE

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

CREATED   LAST_DDL_ TIMESTAMP           STATUS  T G S

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

SYS

STANDARD

647                PACKAGE

10-MAR-04 24-APR-13 2001-11-19:00:00:00 INVALID N N N

SYS

STANDARD

648                PACKAGE BODY

10-MAR-04 10-MAR-04 2004-03-10:12:18:22 INVALID N N N

编译无效对象,使用系统自带的utlrp.sql来编译,仍然报相同的错误。使用命令来手动编译

SQL> Alter package sys.standard compile;

Warning: Package altered with compilation errors.

SQL> show error

Errors for PACKAGE SYS.STANDARD:

LINE/COL

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

ERROR

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

0/0

PLS-00920: parameter plsql_native_library_dir is not set

发现了plsql_native_library_dir,突然想起了,上次在做11G迁移到9I的时候,好像弄个plsql相关的参数

SQL> show parameter plsql

NAME_COL_PLUS_SHOW_PARAM                                         TYPE

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

VALUE_COL_PLUS_SHOW_PARAM

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

plsql_compiler_flags                                             string

NATIVE

plsql_native_c_compiOracle?о?????ler                                          string

plsql_native_library_dir                                         string

plsql_native_library_subdir_count                                integer

0

plsql_native_linker                                              string

plsql_native_make_file_name                                      string

plsql_native_make_utility                                        string

plsql_v2_compatibility                                           boolean

FALSE

SQL> alter system set plsql_compiler_flags=INTERPRETED,NON_DEBUG scope=both;

System altered.

SQL> Alter package sys.standard compile;

Package altered.

编译通过,再次执行catpatch.sql没有再报于此相关的错误。

本文固定链接: http://www.htz.pw/2013/04/25/ora-06553-pls-213-package-standard-not-accessible.html | 认真就输

--------------------------------------ORACLE-DBA----------------------------------------

最权威、专业的Oracle案例资源汇总之【案例】Oracle报错ORA-06553:PLS-213:package STANDARD not accessible

Logo

电影级数字人,免显卡端渲染SDK,十行代码即可调用,工业级demo免费开源下载!

更多推荐