收到警示郵件
Sun Jan 12 00:00:04 2014
Errors in file /tol/app/oracle/admin/coredb/diag/rdbms/dg_115/coredb/trace/coredb_j000_16208.trc:
ORA-12012: error on auto execute of job 12696
ORA-06502: PL/SQL: numeric or value error
ORA-06512: at "DBSNMP.BSLN_INTERNAL", line 2073
ORA-06512: at line 1
查看一下trace檔案
*** 2014-01-12 00:00:04.056
*** SESSION ID:(580.63318) 2014-01-12 00:00:04.056
*** CLIENT ID:() 2014-01-12 00:00:04.056
*** SERVICE NAME:(SYS$USERS) 2014-01-12 00:00:04.056
*** MODULE NAME:(DBMS_SCHEDULER) 2014-01-12 00:00:04.056
*** ACTION NAME:(BSLN_MAINTAIN_STATS_JOB) 2014-01-12 00:00:04.056
ORA-12012: error on auto execute of job 12696
ORA-06502: PL/SQL: numeric or value error
ORA-06512: at "DBSNMP.BSLN_INTERNAL", line 2073
ORA-06512: at line 1
~
發現trace檔案跟alter日誌都差不多,沒有太多可用的資訊
從上述的資訊可以看出是DBSNMP使用者下的BSLN_INTERNAL過程報錯
這個使用者是oracle內部使用者,出現這種錯誤,感覺一般都是bug所致
檢查發現,確實有個bug跟此錯誤有關,Bug 10110625: DBSNMP.BSLN_INTERNAL RECEIVES ORA-06502
解決方案:
1,可嘗試重建DBSNMP
-- Login as sys user.
SQL> sqlplus / as sysdba
-- From the sqlplus execute the following:
-- Drop the BSNMP user by executing catnsnmp.sql script.
SQL> @$ORACLE_HOME/rdbms/admin/catnsnmp.sql
-- Create the DBSNMP user by executing catsnmp.sql
SQL> @$ORACLE_HOME/rdbms/admin/catsnmp.sql
2,如果不需要此功能,可以禁止
3,此錯誤對資料庫影響不大,報錯一般不會很頻繁,可以忽略