/u01/app/oracle/diag/rdbms/bieeprod/bieeprod1/trace目录下产生大量的类似cdmp_20190310160752这种目录,里面好多trc文件,导致我的磁盘空间增长异常
/u01/app/oracle/diag/rdbms/bieeprod/bieeprod1/incident 同样这个目录也产生了很多类似incdir_185852这种目录,导致磁盘空间增长异常,接下来我会上传上面的两个目录里的文件和告警日志提供分析,谢谢
评论
有用 0alert里面已经有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
评论
有用 0zhe这些
这些
这些trace和2#的大量ORA-00600报错相关:

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

--请检查对应会话是不是使用dblink的客户端
600错误对应一个BUG:
Bug 24506534 ORA-600 [qctbyt : bfc] on Table Created Using CTAS From Single to Multibyte Database

请按照文档确认下,如果现象匹配可以大补丁规避。
评论
有用 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('','');
评论
有用 0PARENTORGNAME字段确实为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
墨值悬赏

