DBASK问答集萃

DBASK小程序升级及数据库问题诊断
近期DBASK小程序升级,UI交互优化,开放知识库全文检索等功能。同时分享了本期整理的数据库问题及诊断总结,如数据库夯、oracle rac报错、性能问题等,涵盖多种错误代码及对应的诊断结论和解决办法。

引言

近期我们对DBASK小程序进行了升级,UI交互做了重大优化调整,对注册用户开放知识库全文检索功能,引入数据和云公众号文章,提问时自动关联知识库已知问题,专栏可生成图片分享给好友,欢迎大家通过微信搜索DBASK体验。

问答集萃

接下来,我们分享本期整理出的问题和诊断总结,供大家参考学习,详细的诊断分析过程可以通过标题链接跳转到小程序中查看。

问题一、数据库夯ORA-00494: enqueue [CF] held for too long

listener不能访问,重启lsrnctl restart 无效,最后操作系统重启后正常,请帮忙分析下原因。

2019.01.30 02:41接到电话,反映不能使用,erp有画面报警;我发现db不能连接,lsnr 不能服务了。

查询日志发现:

Wed Jan 30 
01:02:02 China Standard Time 2019 
ORA-00494: enqueue [CF] held for too long (more than 900 seconds) by 'inst 1, osid 4688'
waited for 'direct path read', seq_num: 10340
for 'rdbms ipc message' count=1 wait_time=3.009785 sec
DB: direct path read 这个值超时。2019-01-30 00:50:24时,有锁出现 :
sql::DELETE FROM XXX WHERE XXX<=TO_CHAR(SYSDATE-30,'YYYYMMDD')||' 0000000' AND ROWNUM<1001

有大量锁表:XXX,接着有XXXX表,用户FTRPT/sqlplus.exe_程序,XXXXX,XXXXX,一些job等进程锁,越来越多!造成连锁反映!

详细日志如下:

Wed Jan 30 01:02:02 China Standard Time 2019
Errors in file d:\oracle\product\10.2.0\admin\\bdump\_mmon_4704.trc:
ORA-00494: enqueue [CF] held for too long (more than 900 seconds) by 'inst 1, osid 4688'
Wed Jan 30 01:02:02 China Standard Time 2019
System State dumped to trace file d:\oracle\product\10.2.0\admin\\bdump\_mmon_4704.trc
Killing enqueue blocker (pid=4688) on resource CF-00000000-00000000
by killing session 162.1
Killing enqueue blocker (pid=4688) on resource CF-00000000-00000000
by terminating the process
MMON: terminating instance due to error 2103
Wed Jan 30 01:12:05 China Standard Time 2019
USER: terminating instance due to error 1092
Wed Jan 30 01:12:05 China Standard Time 2019
...省略

诊断结论:表象是控制文件的enq,最终锁定到根源是闪回区清理进程RVWR,清空闪回区问题解决。

问题二、oracle rac ORA-600 : [qerltcUserIterGet_1] ORA-08103

今天通过工具查询表的数据突然报错,详细如下:

The statement failed with status 8103: 
ORA-08103: object no longer exists for input row 1236. 
(CC_OraStatement::rejectRecord, file CC_OraStatement.cpp, line 1,842)

诊断结论:客户环境中表空间为bigfile,设置了maxsize 700G,当前使用率已经99%,在resize为900G后,错误消失,确认为未知BUG引起。

问题三、数据库性能问题GC等待严重

早上7点左右,系统突然出现CPU警报,后连接失败,直接连接操作系统可以登录但操作特别卡顿,后现象消失,后排查,发现告警日志其中有两个可疑告警一个是VKTM另外一个是01555,目前还不清楚具体是什么原因造成?

诊断结论:GC相关的等待严重,首先可以通过参数禁用DRM避免频繁的GC操作。

问题四、ORA-0600:[kdsgrp1]

open数据库报错ORA -0600,详细日志如下:

Fri Feb 15 18:44:11 2019
Restarting dead background process CJQ0
Fri Feb 15 18:44:11 2019
CJQ0 started with pid=33, OS id=3992 
Errors in file f:\app\administrator\diag\rdbms\orcl\orcl\trace\orcl_cjq0_3992.trc  (incident=210531):
ORA-00600: internal error code, arguments: [kdsgrp1], [], [], [], [], [], [], [], [], [], [], []
Errors in file f:\app\administrator\diag\rdbms\orcl\orcl\trace\orcl_cjq0_3992.trc  (incident=210532):
ORA-00600: internal error code, arguments: [600], [ORA-00600: internal error code, arguments: [kdsgrp1], [], [], [], [], [], [], [], [], [], [], []
], [], [], [], [], [], [], [], [], [], []

诊断结论:索引和表不一致导致,重建该对象所有的索引即可。

问题五、如何在做SPA的时候跳过某条SQL?

问题描述:11202升级12102做SPA性能测试,在12.1的库上执行dbmssqlpa.executeanalysis_task重演SQL时,一直卡在一个SQL上不动,麻烦问下有什么方法能暂时跳过这条SQL继续执行后面的任务吗?

诊断结论:正在执行的没办法干预,可以在开始之前从视图中删除相关SQL,或者设置超时时间。

问题六、SQL的PLAN_HASH_VALUE=0

很多时候发现SQL的PLANHASHVALUE=0,请问是什么意思?
在这里插入图片描述

诊断结论:这个是正常现象,主要发生在不带查询的INSERT/DELETE语句、带绑定变量的SQL仅进行了解析而没有实际执行。

问题七、awr report SQL 执行次数为空

如图,为什么在AWR报告中某些 SQL的 执行次数为空?
在这里插入图片描述

诊断结论:这个问题是多版本导致的,当 VERSION_COUNT 超过200时,Oracle 放弃一些指标的记录。

问题八、 logmnr未显示全部dml操作

在测试挖掘日志时,执行了多次DML操作,但是挖掘后发现只有1条DML语句,请问是什么原因?

诊断结论:如果不加附加日志,有的操作可能挖掘不出来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值