Sat Sep 29 16:00:00 2018
Errors in file /u01/app/oracle/diag/rdbms/XXX/XXX/trace/XXX_j000_3516.trc:
ORA-12012: error on auto execute of job "SYS"."BSLN_MAINTAIN_STATS_JOB"
ORA-06502: PL/SQL: numeric or value error
ORA-06512: at "DBSNMP.BSLN_INTERNAL", line 2073
ORA-06512: at line 1
Sat Sep 29 16:03:17 2018
Thread 1 advanced to log sequence 137530 (LGWR switch)
RDBMS 11.2.0.3 ,发现alert log中有大量的错误。
查找MOS: ORA-12012: Error on Auto Execute of job SYS.BSLN_MAINTAIN_STATS_JOB (文档 ID 1413756.1) 发现为bug
原因:
The same is addressed in
Bug 13637859 - "BSLN_MAINTAIN_STATS_JOB FAILS WITH ORA-06502
which is marked as a duplicate of
Bug 10110625 - DBSNMP.BSLN_INTERNAL RECEIVES ORA-06502
As in a specific customer's situation, the issue can occur when a Database is created with a template from the old database or created as a clone from another database. The existing records in table "DBSNMP.BSLN_BASELINES" conflict with new baseline information inserted in the cloned database, thereby containing inconsistent information.
解决方法:
This issue is fixed in 11.2.0.4.
For versions below 11.1.0.7 apply the patch 6282324.Bug 6282324 is fixed in 11.1.0.7 .
For 11.2.0.2 and 11.2.0.3, please apply Patch 10110625 (if available for your platform and database version).
As a workaround, the DBSNMP user can be dropped and re-created using the standard scripts.
Ensure you have Backed up your database.、
-- Login as sys user.
SQL> sqlplus / as sysdba
-- From the sqlplus execute the following:
-- Drop the DBSNMP 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
END