查看: 551|回复: 3

ORA-1403 encountered when generating server alert SMG-4121

[复制链接]
论坛徽章:
0
发表于 2019-5-15 17:15 | 显示全部楼层 |阅读模式
数据库告警日志有以下错误:ORA-1403 encountered when generating server alert SMG-4121
--------------------------------

查看视图有几个无效的对象:
OWNER                          OBJECT_NAME                                                                                                                      OBJECT_TYPE
------------------------------ -------------------------------------------------------------------------------------------------------------------------------- ------------

SYS                            AQ$_ALERT_QT_E                                                                                                                   QUEUE
SYS                            ALERT_QUE                                                                                                                        QUEUE
SYS                            AQ$_KUPC$DATAPUMP_QUETAB_E                                                                                                       QUEUE
OLAPSYS                        OLAPFACTVIEW                                                                                                                     PACKAGE BODY
OLAPSYS                        OLAPDIMVIEW                                                                                                                      PACKAGE BOD


----------------------
alter system set events '1403 trace name errorstack level 10'
产看trace 文件:
End 14: number of empty entries = 3072
Start 15:
End 15: number of empty entries = 3072
Start 16:
End 16: number of empty entries = 3072
Start 17:
End 17: number of empty entries = 3072
Start 18:
End 18: number of empty entries = 2280
Start 19:
End 19: number of empty entries = 2089
Start 20:
End 20: number of empty entries = 3062
Start 21:
End 21: number of empty entries = 2967
KSOLS: total number of unique elements = 2541
KSOLS: Done dumping all elements. Exiting.
Dumping Event (group=SESSION)
1403 trace name errorstack level 10
Dumping Event (group=SYSTEM)
1403 trace name errorstack level 10
05/15/19 16:40:36 >ERROR: exception at dbms_ha_alerts_prvt.post_instance_up308: SQLCODE -13917,ORA-13917: Posting system
alert with reason_id 135 failed with code [5] [post_error]
05/15/19 16:40:36 >ERROR: exception at dbms_ha_alerts_prvt.check_ha_resources637: SQLCODE -13917,ORA-13917: Posting syst
em alert with reason_id 136 failed with code [5] [post_error]
05/15/19 16:40:36 >parameter dump for dbms_ha_alerts_prvt.check_ha_resources
05/15/19 16:40:36 > - local_db_unique_name (hks)
05/15/19 16:40:36 > - local_db_domain (==N/A==)
05/15/19 16:40:36 > - rows deleted (0)

-----------------------------------------------------------------
执行以下脚本有报错:
@?/rdbms/admin/catmwin.sql--中以下报错
SQL>
SQL> -- Create alert queue table and alert queue
SQL> BEGIN
  2     BEGIN
  3     dbms_aqadm.create_queue_table(
  4              queue_table => 'SYS.ALERT_QT',
  5              queue_payload_type => 'SYS.ALERT_TYPE',
  6              storage_clause => 'TABLESPACE "SYSAUX"',
  7              multiple_consumers => TRUE,
  8              comment => 'Server Generated Alert Queue Table',
  9              secure => TRUE);
10     dbms_aqadm.create_queue(
11              queue_name => 'SYS.ALERT_QUE',
12              queue_table => 'SYS.ALERT_QT',
13              comment => 'Server Generated Alert Queue');
14     EXCEPTION
15       when others then
16         if sqlcode = -24001 then NULL;
17         else raise;
18         end if;
19     END;
20     dbms_aqadm.start_queue('SYS.ALERT_QUE', TRUE, TRUE);
21     dbms_aqadm.start_queue('SYS.AQ$_ALERT_QT_E', FALSE, TRUE);
22     commit;
23  EXCEPTION
24    when others then
25       raise;
26  END;
27  /
BEGIN
*
ERROR at line 1:
ORA-01403: no data found
ORA-06512: at line 25

@?/rdbms/admin/exechae.sql--中有以下报错


SQL> declare
  2  subscriber sys.aq$_agent;
  3  begin
  4  subscriber := sys.aq$_agent('HAE_SUB',null,null);
  5  dbms_aqadm_sys.add_subscriber(queue_name => 'SYS.ALERT_QUE',
  6                                subscriber => subscriber,
  7                                rule => 'tab.user_data.MESSAGE_LEVEL <> '
  8                                        || sys.dbms_server_alert.level_clear ||
  9                                        ' AND tab.user_data.MESSAGE_GROUP = ' ||
10                                        '''High Availability''',
11                                transformation => 'SYS.haen_txfm_obj',
12                                properties =>
13                                  dbms_aqadm_sys.NOTIFICATION_SUBSCRIBER
14                                  + dbms_aqadm_sys.PUBLIC_SUBSCRIBER);
15  EXCEPTION
16    when others then
17      if sqlcode = -24034 then NULL;
18      else raise;
19      end if;
20  end;
21  /
declare
*
ERROR at line 1:
ORA-24010: QUEUE SYS.ALERT_QUE does not exist
ORA-06512: at line 18
----------------------------------------------------------------------------

哪位高手指点一下,实在 解决不了了。
论坛徽章:
0
发表于 2019-5-16 14:25 | 显示全部楼层
不知道有啥影响,我之前也遇到过, 现象就是日志里基本上5分钟还是5秒出现 ORA-1403 encountered when generating server alert SMG-4121 ,没有其他信息了。感觉基本上日志就废了。awr报告出不来,好像是记得不是很清楚了,数据库也没啥其他严重的影响。mos翻了下希望对你有帮助

Recreate the the SYS.ALERT_QUE using the following steps:

1. Drop the alert_QT

sqlplus / as sysdba
alter system enable restricted session;
exec dbms_aqadm.drop_queue_table('ALERT_QT',true)

2. Drop tables wri$_alert_history and WRI$_ALERT_OUTSTANDING

drop table WRI$_ALERT_OUTSTANDING;
drop table WRI$_ALERT_HISTORY;

3. Recreate the alert_que and associated objects:

SQL>@$ORACLE_HOME/rdbms/admin/dbmsslrt.sql
SQL>@$ORACLE_HOME/rdbms/admin/catalrt.sql
SQL>@$ORACLE_HOME/rdbms/admin/catmwin.sql
SQL>@$ORACLE_HOME/rdbms/admin/exechae.sql
SQL>@$ORACLE_HOME/rdbms/admin/utlrp
SQL>alter system disable restricted session;

使用道具 举报

回复
论坛徽章:
0
 楼主| 发表于 2019-5-16 16:46 | 显示全部楼层
本帖最后由 chenjun_8 于 2019-5-16 17:02 编辑
Thiefnm 发表于 2019-5-16 14:25
不知道有啥影响,我之前也遇到过, 现象就是日志里基本上5分钟还是5秒出现 ORA-1403 encountered when gene ...

我试了还是不行。SQL> @$ORACLE_HOME/rdbms/admin/catmwin.sql

PL/SQL procedure successfully completed.


PL/SQL procedure successfully completed.


PL/SQL procedure successfully completed.


PL/SQL procedure successfully completed.


PL/SQL procedure successfully completed.


PL/SQL procedure successfully completed.


PL/SQL procedure successfully completed.


PL/SQL procedure successfully completed.


PL/SQL procedure successfully completed.


PL/SQL procedure successfully completed.


PL/SQL procedure successfully completed.


PL/SQL procedure successfully completed.


PL/SQL procedure successfully completed.


PL/SQL procedure successfully completed.

BEGIN
*
ERROR at line 1:
ORA-01403: no data found
ORA-06512: at line 25



PL/SQL procedure successfully completed.

SQL> @$ORACLE_HOME/rdbms/admin/exechae.sql

PL/SQL procedure successfully completed.

declare
*
ERROR at line 1:
ORA-24010: QUEUE SYS.ALERT_QUE does not exist
ORA-06512: at line 18

还是报错。

使用道具 举报

回复
认证徽章
论坛徽章:
7
奥运会纪念徽章:蹦床
日期:2008-10-24 13:19:512010新春纪念徽章
日期:2010-01-04 08:33:08ITPUB9周年纪念徽章
日期:2010-10-08 09:32:252010广州亚运会纪念徽章:空手道
日期:2010-11-12 17:42:312010广州亚运会纪念徽章:垒球
日期:2010-11-12 17:42:45ITPUB十周年纪念徽章
日期:2011-11-01 16:21:152012新春纪念徽章
日期:2012-01-04 11:51:22
发表于 2019-5-17 11:08 | 显示全部楼层
First,
?/rdbms/admin/catnoalr
exec DBMS_AQADM.DROP_QUEUE_TABLE(queue_table => 'sys.alert_qt', FORCE => TRUE);
?/rdbms/admin/dbmsslrt
?/rdbms/admin/catalrt
?/rdbms/admin/utlrp

Second:
SQL> @$ORACLE_HOME/rdbms/admin/catmwin.sql

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 
京ICP备09055130号-4  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表