暂无图片
分享
知识蛀虫
2019-03-11
/u01/app/oracle/diag/rdbms/bieeprod/bieeprod1/trace目录下产生大量的类似cdmp_20190310160752这种目录,里面好多trc文件,我上传一两个和告警日志作为参考

 /u01/app/oracle/diag/rdbms/bieeprod/bieeprod1/trace目录下产生大量的类似cdmp_20190310160752这种目录,里面好多trc文件,导致我的磁盘空间增长异常

/u01/app/oracle/diag/rdbms/bieeprod/bieeprod1/incident 同样这个目录也产生了很多类似incdir_185852这种目录,导致磁盘空间增长异常,接下来我会上传上面的两个目录里的文件和告警日志提供分析,谢谢

收藏
分享
15条回答
默认
最新
知识蛀虫
上传附件:alert_bieeprod1.log
暂无图片 评论
暂无图片 有用 0
知识蛀虫
上传附件:alert_bieeprod2.log
暂无图片 评论
暂无图片 有用 0
知识蛀虫
暂无图片 评论
暂无图片 有用 0
章芋文

alert里面已经有600报错了

rrors in file /u01/app/oracle/diag/rdbms/bieeprod/bieeprod1/trace/bieeprod1_j000_75806.trc  (incident=186523):
ORA-00600: internal error code, arguments: [qctbyt : bfc], [4000], [12000], [1], [871], [1], [1], [0], [], [], [], []
Incident details in: /u01/app/oracle/diag/rdbms/bieeprod/bieeprod1/incident/incdir_186523/bieeprod1_j000_75806_i186523.trc

请上传如下目录下的一个trace文件

/u01/app/oracle/diag/rdbms/bieeprod/bieeprod1/incident/incdir_18XXXXX/XXXX.trc
暂无图片 评论
暂无图片 有用 0
知识蛀虫
暂无图片 评论
暂无图片 有用 0
Moone


zhe这些


这些

这些trace和2#的大量ORA-00600报错相关:

image.png

从提供的trace看,对应会话已经阻塞很长时间了:

image.png

--请检查对应会话是不是使用dblink的客户端

600错误对应一个BUG:

Bug 24506534  ORA-600 [qctbyt : bfc] on Table Created Using CTAS From Single to Multibyte Database

image.png

请按照文档确认下,如果现象匹配可以大补丁规避。

暂无图片 评论
暂无图片 有用 0
章芋文

初步判断这些600都是数据库自动任务触发,可以通过禁用这些自动任务解决。请再提供一个trace文件验证下:

/u01/app/oracle/diag/rdbms/bieeprod/bieeprod1/trace/bieeprod1_j001_58389.trc

暂无图片 评论
暂无图片 有用 0
知识蛀虫
暂无图片 评论
暂无图片 有用 0
章芋文

从两份报错来看,都是自动任务抛出,且目前看到触发ORA-600的SQL都是

create global temporary table sys.ora_temp_1_ds_1570005 sharing=none on commit preserve rows cache noparallel as select /*+  no_parallel(t) no_parallel_index(t) dbms_stats cursor_sharing_exact use_weak_name_resl dynamic_sampling(0) no_monitoring xmlindex_sel_idx_tbl opt_param('optimizer_inmemory_aware' 'false') no_substrb_pad  */"EMPPINYIN","PARENTORGNAME", rowid SYS_DS_ALIAS_0  from "BIODS"."VIEW_SOA_OMINNERUSER_4_BI" sample (  8.1919599637)  t  WHERE  1 = 2

建议如下:

检查"BIODS"."VIEW_SOA_OMINNERUSER_4_BI"对象是否存在DBLIBK和超长的NVARCHAR、VARCHAR2字段,如果是物化视图、表就直接锁住对象的统计信息

exec dbms_stats.delete_table_stats('','');
exec dbms_stats.lock_table_stats('','');
暂无图片 评论
暂无图片 有用 0
知识蛀虫
上传附件:表结构.txt
暂无图片 评论
暂无图片 有用 0
章芋文

PARENTORGNAME字段确实为varchar4000,确认为如下bug:

Bug 27095936 : ORA-00600:[QCTBYT : BFC] RUNNING CTAS

目前触发BUG的CTAS语句为收集统计信息的SQL,可以通过锁住表的统计信息,避免报错:

exec dbms_stats.delete_table_stats('BIODS','VIEW_SOA_OMINNERUSER_4_BI');
exec dbms_stats.lock_table_stats('BIODS','VIEW_SOA_OMINNERUSER_4_BI');

另外禁用数据库的自动任务:

BEGIN
DBMS_AUTO_TASK_ADMIN.DISABLE(
client_name => 'auto space advisor',
operation => NULL,
window_name => NULL);
END;
/
BEGIN
DBMS_AUTO_TASK_ADMIN.DISABLE(
client_name => 'sql tuning advisor',
operation => NULL,
window_name => NULL);
END;
/
--如下是统计信息的自动任务,可根据自己需求开关
BEGIN
DBMS_AUTO_TASK_ADMIN.DISABLE(
client_name => 'auto optimizer stats collection',
operation => NULL,
window_name => NULL);
END;
/
暂无图片 评论
暂无图片 有用 0
知识蛀虫

我把这几个收集信息的job停了会有影响么?对数据库性能有没有影响,和锁住表统计信息的话,会不会影响查这个表的性能

暂无图片 评论
暂无图片 有用 0
章芋文

如果这个表的数据变化不大,可以直接禁用lock(不删除统计信息delete)。

前2个自动任务不影响,我们每次部署都禁用了,第3个自动收集统计信息的任务可以先开启。

暂无图片 评论
暂无图片 有用 0
知识蛀虫

好的,谢谢

暂无图片 评论
暂无图片 有用 0
章芋文
问题已关闭: 问题已经得到解决
暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
附件列表
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏