您的位置:首页 > 其它

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

2012-12-29 11:09 471 查看
数据库升级到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]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐