一次处理ORA-06512的经验

  • Post author:
  • Post category:其他


一次有一个9.2.0.8的生产数据库遇到下面问题,怀疑可能是dbms_stats这个内部pkg无法调用这个原因导致的。

SQL> exec dbms_stats.gather_table_stats(ownname => ‘dbmgr’,tabname => ‘factuser_list’);

BEGIN dbms_stats.gather_table_stats(ownname => ‘dbmgr’,tabname => ‘factuser_list’); END;

*

ERROR at line 1:

ORA-06521: PL/SQL: Error mapping function

ORA-06512: at “SYS.DBMS_STATS”, line 10502

ORA-06512: at “SYS.DBMS_STATS”, line 10516

ORA-06512: at line 1

于是找了一个9.2.0.6测试库的,重建一下就OK了,解决过程如下,分享一下

SQL> @?/rdbms/admin/dbmsstat.sql

Package created.

Synonym created.

Grant succeeded.

create role gather_system_statistics

*

ERROR at line 1:

ORA-01921: role name ‘GATHER_SYSTEM_STATISTICS’ conflicts with another user or

role name

Grant succeeded.

Grant succeeded.

Library created.

SQL> @?/rdbms/admin/prvtstas.plb

Package created.

Package body created.

SQL>

SQL> @?/rdbms/admin/prvtstat.plb

Package body created.

SQL>

SQL> exec dbms_stats.gather_table_stats(ownname => ‘dbmgr’,tabname => ‘factuser_list’);

PL/SQL procedure successfully completed.

SQL