当前位置: 首页 > ORA > 正文

       今天在自己的测试环境把9.2.0.4升级到9.2.0.8遇到ORA-06553: PLS-213: package STANDARD not accessible的报错。

       测试环境: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_compiler                                          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没有再报于此相关的错误。

ORA-06553: PLS-213: package STANDARD not accessible:等您坐沙发呢!

发表评论

gravatar

? razz sad evil ! smile oops grin eek shock ??? cool lol mad twisted roll wink idea arrow neutral cry mrgreen

快捷键:Ctrl+Enter