DBASK问答集萃第二期
引言
近期我们对DBASK小程序进行了升级,UI交互做了重大优化调整,对注册用户开放知识库全文检索功能,引入数据和云公众号文章,提问时自动关联知识库已知问题,专栏可生成图片分享给好友,欢迎大家通过微信搜索DBASK体验。
问答集萃
接下来,我们分享本期整理出的问题和诊断总结,供大家参考学习,详细的诊断分析过程可以通过标题链接跳转到小程序中查看。
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,清空闪回区问题解决。
今天通过工具查询表的数据突然报错,详细如下:
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引起。
早上7点左右,系统突然出现CPU警报,后连接失败,直接连接操作系统可以登录但操作特别卡顿,后现象消失,后排查,发现告警日志其中有两个可疑告警一个是VKTM另外一个是01555,目前还不清楚具体是什么原因造成?
诊断结论:GC相关的等待严重,首先可以通过参数禁用DRM避免频繁的GC操作。
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], [], [], [], [], [], [], [], [], [], [], []
], [], [], [], [], [], [], [], [], [], []
诊断结论:索引和表不一致导致,重建该对象所有的索引即可。
问题描述:11202升级12102做SPA性能测试,在12.1的库上执行dbmssqlpa.executeanalysis_task重演SQL时,一直卡在一个SQL上不动,麻烦问下有什么方法能暂时跳过这条SQL继续执行后面的任务吗?
诊断结论:正在执行的没办法干预,可以在开始之前从视图中删除相关SQL,或者设置超时时间。
很多时候发现SQL的PLANHASHVALUE=0,请问是什么意思?
诊断结论:这个是正常现象,主要发生在不带查询的INSERT/DELETE语句、带绑定变量的SQL仅进行了解析而没有实际执行。
如图,为什么在AWR报告中某些 SQL的 执行次数为空?
诊断结论:这个问题是多版本导致的,当 VERSION_COUNT 超过200时,Oracle 放弃一些指标的记录。
在测试挖掘日志时,执行了多次DML操作,但是挖掘后发现只有1条DML语句,请问是什么原因?