ORA-06512: at "DBSNMP.BSLN_INTERNAL", line 2073

来源:互联网 发布:网络上课平台 编辑:程序博客网 时间:2024/05/19 18:00

数据库升级到11.2.0.3 后稳定运行了一年多了,alert日志中出现下述错误。


Sun Dec 16 15:00:07 2012  (这一天是周日)

Errors in file /opt/ora11g/diag/rdbms/ORACNBJ1/trace/ORACNBJ1_j001_6548.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

原因:

由于DBSNMP.BSLN_INTERNAL表中记录有冲突导致。
导致DBSNMP.BSLN_INTERNAL中记录有冲突的原因可能是用模板创建数据库,或克隆数据库导致的。
           
解决方法:

删除并重建DBSNMP USER。

由于平时很少用DBCONSOLE去维护数据库,所以就关掉了dbconsole。加上是生产库,也没有去重建DBSNMP USER.
在关掉dbconsole后,观察了两周这个错误并没有重现。

 

一些是MOS中给出的说明:
Cause:
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.

Solution
For 11.2.0.2, please apply generic Patch 10110625.
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


【MOS】ORA-12012: error on auto execute of job "SYS"."BSLN_MAINTAIN_STATS_JOB" [ID 1413756.1]

 


 

原创粉丝点击