ORA-06521: PL/SQL: Error mapping function
环境:oracle9.2.0.6
SQL> exec dbms_stats.gather_schema_stats('ys');
begin dbms_stats.gather_schema_stats('ys'); end;
ORA-06521: PL/SQL: 映射函数时出错
ORA-06512: 在"SYS.DBMS_STATS", line 10070
ORA-06512: 在"SYS.DBMS_STATS", line 10564
ORA-06512: 在"SYS.DBMS_STATS", line 10751
ORA-06512: 在"SYS.DBMS_STATS", line 10805
ORA-06512: 在"SYS.DBMS_STATS", line 10782
ORA-06512: 在line 2
SQL> exec dbms_stats.gather_table_stats(user,'tb_family_info');
begin dbms_stats.gather_table_stats(user,'tb_family_info'); end;
ORA-06521: PL/SQL: 映射函数时出错
ORA-06512: 在"SYS.DBMS_STATS", line 10070
ORA-06512: 在"SYS.DBMS_STATS", line 10084
ORA-06512: 在line 2
Just completing the thread with the solution.
Recompile the DBMS_STATS package :
源文档 <http://forums.oracle.com/forums/thread.jspa?threadID=396073>
E:>sqlplus "/as sysdba"
SQL> alter package dbms_stats compile;
SQL> show errors
SQL> @?/rdbms/admin/dbmsstat.sql
SQL> @?/rdbms/admin/prvtstas.plb
SQL> @?/rdbms/admin/prvtstat.plb
try it again
SQL>
SQL>
SQL> exec dbms_stats.gather_table_stats(user,'tb_family_info');
begin dbms_stats.gather_table_stats(user,'tb_family_info'); end;
ORA-04068: 已丢弃程序包 的当前状态
ORA-04061: package "SYS.DBMS_STATS" 的当前状态失效
ORA-04065: 未执行,已更改或删除 package "SYS.DBMS_STATS"
ORA-06508: PL/SQL: 无法在调用之前找到程序单元
ORA-06512: 在line 2
SQL> exec dbms_stats.gather_table_stats(user,'tb_family_info');
PL/SQL procedure successfully completed
SQL> exec dbms_stats.gather_schema_stats('ys');
PL/SQL procedure successfully completed
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/645199/viewspace-686390/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/645199/viewspace-686390/