oracle中Frequent generate a lot of cdmp* directories contain *bucket trace in bdump问题分析

最近有套库突然目录使用告警,发现TRACE 目录使用较高,发现在bdump 目录中每分钟都生成一个cdmp*目录,且每个目录中含大量的文件,这是一套oracle 11.2.0.3 rac on hpux 11.31的数据库, 如果没有在系统中启用dump event ,那就可能是bug ,这里简单的记录。

oracle@anbob2:/oracle/app/oracle/diag/rdbms/weejar/weejar2/trace> ls
alert_weejar2.log       cdmp_20160408221002    cdmp_20160409050508    cdmp_20160427102501    cdmp_20160503133006    cdmp_20160506124003 
cdmp_20160407113747    cdmp_20160408221101    cdmp_20160409050609    cdmp_20160427102602    cdmp_20160503133105    cdmp_20160506124103  
cdmp_20160407113801    cdmp_20160408221202    cdmp_20160409050708    cdmp_20160427103304    cdmp_20160503133205    cdmp_20160506124202
...

oracle@anbob2:/oracle/app/oracle/diag/rdbms/weejar/weejar2/trace/cdmp_20160509173502> ls
weejar2_acms_15550_bucket.trc  weejar2_ora_16823_bucket.trc   weejar2_ora_18001_bucket.trc  
weejar2_ora_19458_bucket.trc   weejar2_ora_26892_bucket.trc   weejar2_ora_29042_bucket.trc
weejar2_acms_15550_bucket.trm  weejar2_ora_16823_bucket.trm   weejar2_ora_18001_bucket.trm  
weejar2_ora_19458_bucket.trm   weejar2_ora_26892_bucket.trm   weejar2_ora_29042_bucket.trm
...

oracle@anbob2:/oracle/app/oracle/diag/rdbms/weejar/weejar2/trace/cdmp_20160509173502> cat weejar2_ora_8317_bucket.trc
Trace file /oracle/app/oracle/diag/rdbms/weejar/weejar2/trace/cdmp_20160509173502/weejar2_ora_8317_bucket.trc
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options
ORACLE_HOME = /oracle/app/oracle/product/11.2.0.3/dbhome_1
System name:    HP-UX
Node name:      anbob2
Release:        B.11.31
Version:        U
Machine:        ia64
Instance name: weejar2
Redo thread mounted by this instance: 2
Oracle process number: 531
Unix process pid: 8317, image: oracle@anbob2

*** 2016-05-09 17:35:07.273
*** SESSION ID:(832.4201) 2016-05-09 17:35:07.273
 

*** 2016-05-09 17:35:07.273
Process diagnostic dump for oracle@anbob2, OS id=8317,
pid: 531, proc_ser: 66, sid: 832, sess_ser: 4201
-------------------------------------------------------------------------------
current sql:
client details:
  O/S info: user: weblogic, term: unknown, ospid: 1234
  machine: qmweb86 program: JDBC Thin Client
  application name: JDBC Thin Client, hash value=2546894660
Current Wait Stack:
 0: waiting for 'SQL*Net message from client'
    driver id=0x74637000, #bytes=0x1, =0x0
    wait_id=55 seq_num=56 snap_id=1
    wait times: snap=4.499210 sec, exc=4.499210 sec, total=4.499210 sec
    wait times: max=infinite, heur=4.499210 sec
    wait counts: calls=0 os=0
    in_wait=1 iflags=0x1a0
Wait State:
  fixed_waits=0 flags=0x22 boundary=0x0000000000000000/-1
Session Wait History:
    elapsed time of 0.000031 sec since current wait
 0: waited for 'SQL*Net message to client'
    driver id=0x74637000, #bytes=0x1, =0x0
    wait_id=54 seq_num=55 snap_id=1
    wait times: snap=0.000001 sec, exc=0.000001 sec, total=0.000001 sec
    wait times: max=infinite
    wait counts: calls=0 os=0
    occurred after 0.000012 sec of elapsed time
 1: waited for 'SQL*Net message from client'
    driver id=0x74637000, #bytes=0x1, =0x0
    wait_id=53 seq_num=54 snap_id=1
    wait times: snap=0.001062 sec, exc=0.001062 sec, total=0.001062 sec
    wait times: max=infinite
    wait counts: calls=0 os=0
    occurred after 0.000027 sec of elapsed time
 2: waited for 'SQL*Net message to client'
    driver id=0x74637000, #bytes=0x1, =0x0
    wait_id=52 seq_num=53 snap_id=1
    wait times: snap=0.000001 sec, exc=0.000001 sec, total=0.000001 sec
    wait times: max=infinite
    wait counts: calls=0 os=0
    occurred after 0.000016 sec of elapsed time
 3: waited for 'SQL*Net message from client'
    driver id=0x74637000, #bytes=0x1, =0x0
    wait_id=51 seq_num=52 snap_id=1
    wait times: snap=0.001342 sec, exc=0.001342 sec, total=0.001342 sec
    wait times: max=infinite
    wait counts: calls=0 os=0
    occurred after 0.000526 sec of elapsed time
 4: waited for 'SQL*Net message to client'
    driver id=0x74637000, #bytes=0x1, =0x0
    wait_id=50 seq_num=51 snap_id=1
    wait times: snap=0.000001 sec, exc=0.000001 sec, total=0.000001 sec
    wait times: max=infinite
    wait counts: calls=0 os=0
    occurred after 0.000173 sec of elapsed time
 5: waited for 'SQL*Net message from client'
    driver id=0x74637000, #bytes=0x1, =0x0
    wait_id=49 seq_num=50 snap_id=1
    wait times: snap=0.000847 sec, exc=0.000847 sec, total=0.000847 sec
    wait times: max=infinite
    wait counts: calls=0 os=0
    occurred after 0.000003 sec of elapsed time
 6: waited for 'SQL*Net message to client'
    driver id=0x74637000, #bytes=0x1, =0x0
    wait_id=48 seq_num=49 snap_id=1
    wait times: snap=0.000002 sec, exc=0.000002 sec, total=0.000002 sec
    wait times: max=infinite
    wait counts: calls=0 os=0
    occurred after 0.000041 sec of elapsed time
 7: waited for 'SQL*Net message from client'
    driver id=0x74637000, #bytes=0x1, =0x0
    wait_id=47 seq_num=48 snap_id=1
    wait times: snap=0.029814 sec, exc=0.029814 sec, total=0.029814 sec
    wait times: max=infinite
    wait counts: calls=0 os=0
    occurred after 0.000076 sec of elapsed time
 8: waited for 'SQL*Net message to client'
    driver id=0x74637000, #bytes=0x1, =0x0
    wait_id=46 seq_num=47 snap_id=1
    wait times: snap=0.000001 sec, exc=0.000001 sec, total=0.000001 sec
    wait times: max=infinite
    wait counts: calls=0 os=0
    occurred after 0.000153 sec of elapsed time
 9: waited for 'SQL*Net message from client'
    driver id=0x74637000, #bytes=0x1, =0x0
    wait_id=45 seq_num=46 snap_id=1
    wait times: snap=0.002608 sec, exc=0.002608 sec, total=0.002608 sec
    wait times: max=infinite
    wait counts: calls=0 os=0
    occurred after 0.000002 sec of elapsed time
Sampled Session History of session 832 serial 4201
---------------------------------------------------
The sampled session history is constructed by sampling
the target session every 1 second. The sampling process
captures at each sample if the session is in a non-idle wait,
an idle wait, or not in a wait. If the session is in a
non-idle wait then one interval is shown for all the samples
the session was in the same non-idle wait. If the
session is in an idle wait or not in a wait for
consecutive samples then one interval is shown for all
the consecutive samples. Though we display these consecutive
samples  in a single interval the session may NOT be continuously
idle or not in a wait (the sampling process does not know).
 
The history is displayed in reverse chronological order.
 
sample interval: 1 sec, max history 120 sec
---------------------------------------------------
  [121 samples,                                            17:33:07 - 17:35:07]
    idle wait at each sample
-------------------------------------------------------------------------------
Process diagnostic dump actual duration=0.005000 sec
  (max dump time=30.000000 sec)

*** 2016-05-09 17:35:07.278
 
-------------------------------------------------------------------------------
Trace Bucket Dump Begin: default bucket for process 531 (osid: 8317)
TIME(*=approx):SEQ:COMPONENT:FILE@LINE:FUNCTION:SECT/DUMP: [EVENT#:PID:SID] DATA
-------------------------------------------------------------------------------
2016-05-09 17:32:17.785270 :GSIPC:kjctc.c@321:kjctccr(): GSIPC:CONN: Disconnect from inst 1, receiver 2
2016-05-09 17:32:17.785271 :89F5D5D1:db_trace:ksxp.c@4368:ksxpmsgcncl(): [10401:531:0] KSXPMSGCNCL: client 2 tid inst 1 ptid 257 flags 0x100
2016-05-09 17:32:17.785271 :GSIPC:kjctc.c@321:kjctccr(): GSIPC:CONN: Disconnect from inst 1, receiver 3
2016-05-09 17:32:17.785272 :89F5D5D2:db_trace:ksxp.c@4368:ksxpmsgcncl(): [10401:531:0] KSXPMSGCNCL: client 2 tid inst 1 ptid 257 flags 0x100
2016-05-09 17:32:17.785569 :GSIPC:kjcc.c@626:kjccdel(): GSIPC:CLNT: deleted client comm layer structures 2
2016-05-09 17:32:17.785576 :89F5D5D4:db_trace:kss.c@1414:kssdch(): [10809:531:0] kssdch(0xc0000010e1d0bdc8 = process, 2) 2 0 exit

查看系统event dump

SQL> oradebug setmypid
Statement processed.
SQL> oradebug eventdump system
10949 trace name context forever,level 1
28401 trace name context forever,level 1
SQL> oradebug eventdump process
28401 trace name context forever,level 1
10949 trace name context forever,level 1
SQL> oradebug eventdump session
28401 trace name context forever,level 1
10949 trace name context forever,level 1
Mos中查了下定位了一个bug,Bug 17062524 Diagnostic enhancement to write default trace bucket to trace file for database

The default RDBMS tracing bucket is not dumped to the trace file on a
failure – instead it is dumped to a cdmp* file.

Workaround
Find the cdmp* file containing the default tracing bucket’s contents. (This
file is anot included by default when packaging an incident so has to be
collected manually)

fixed:
12.2 (Future Release)
12.1.0.2 (Server Patch Set)

时间: 2024-10-07 13:42:03

oracle中Frequent generate a lot of cdmp* directories contain *bucket trace in bdump问题分析的相关文章

关于java判断oracle中的表是否存在,不存在则创建一个表的问题

问题描述 关于java判断oracle中的表是否存在,不存在则创建一个表的问题 代码如下try{ Class.forName(""oracle.jdbc.driver.OracleDriver""); String url = ""jdbc:oracle:thin:@""+localhost+"":""+port+"":""+dbname; con

用sqoop将oracle中的表导入hadoop出现如图问题 求解决方案!

问题描述 用sqoop将oracle中的表导入hadoop出现如图问题 求解决方案! 解决方案 http://www.linuxidc.com/Linux/2014-02/96678.htm 照这个链接再搞一下 解决方案二: 我当初就是照他的方案弄得 不知道为什么连接不上去

在Oracle中计算时间差的方法

如何在Oracle中计算时间差呢?计算时间差是Oracle DATA数据类型的一个常见问题.Oracle支持日期计算,你可以创建诸如"日期1-日期2"这样的表达式来计算这两个日期之间的时间差. 一旦你发现了时间差异,你可以使用简单的技巧来以天.小时.分钟或者秒为单位来计算时间差.为了得到数据差,你必须选择合适的时间度量单位,这样就可以进行数据格式隐藏. 使用完善复杂的转换函数来转换日期是一个诱惑,但是你会发现这不是最好的解决方法. round(to_number(end-date-st

在ORACLE中移动数据库文件

在ORACLE中移动数据库文件 ---- ORACLE数据库由数据文件,控制文件和联机日志文件三种文件组成.由于磁盘空间的变化,或者基于数据库磁盘I/O性能的调整等,数据库管理员可能会考虑移动数据库文件.下面以UNIX平台为例,分别讨论三种数据库文件的移动方法. ---- 一.移动数据文件: ---- 可以用ALTER DATABASE,ALTER TABLESPACE两种方法移动数据文件. ---- 1. ALTER DATABASE方法: ---- 用此方法,可以移动任何表空间的数据文件.

ORACLE中序列-sequence的应用

oracle oracle中没有象Acces中自动编号的字段类型,所以在oracle中要想用一个字段自动增值,还比较麻烦,在此提供给大家一个方法,利用序列,来完成字段的自动增加,下边介绍一下怎么创建序列,使用序列,和删除序列. 1.创建序列--------------create sequence  create sequence  Seq_AutoID   //所起序列名叫 Seq_AutoID ,需要记住此序列名,以后方可调用 minvalue   1   //最小值从1开始 可以根据自己的

ORACLE中字符串比较

oracle|比较|字符串  在ORACLE中,将空字符串视为NULL,任何值与NULL比较结果都为NULL.如此一来,在比较两个字符串的时候就会出现意外.请看以下的例子:DECLARE     i VARCHAR2(10) := NULL;    v VARCHAR2(10) := 'ABC';BEGIN    IF(i = v) THEN        DBMS_OUTPUT.PUT_LINE('相等');    ELSE        DBMS_OUTPUT.PUT_LINE('不等');

Oracle Faq(如何在ORACLE中更改表的列名和顺序 )

oracle 如需转载,请注明出处!用过ORACLE的人都知道,要想在ORACLE中更改表的列名和顺序可是一件很烦琐的事,下面给大家提供一种简单的方法. SQL> select object_id from all_objects where owner='SCOTT' and object_name='T1'; OBJECT_ID----------6067SQL> select obj#,col#,name from sys.col$ where obj#=6067; OBJ# COL#-

用ASP.NET 2.0在Oracle中存取图片(文件)的操作

asp.net|oracle 有时由于某种需要(如安全性)须将图片或文件存放在数据库中,当然一般情况下特别是文件比较大的时候很多人不提倡将文件以二进制的形式存放在数据库中的,现将Oracle中文件的存取整理如下(思路和在SQL Server2000中存取一样,存储时在数据中存放图片或文件的二进制字节流,读出时将数据库中对应字段读取到字节数据,然后输出):       1.在TOAD或SQLPlus中创建一下数据库表. 1CREATE TABLE TEST_TABLE2(3  ID     VAR

Oracle中如何快速删除数据字典管理的表空间

oracle|数据 我的测试环境:Hp rp7410主机,Hp-unix11.11 OS,Oracle8.1.7.4的数据库,一个有90张表大约100G的测试表空间TBS_TEST. 问题的提出:Oracle中在使用drop tablespace <tablespace_name> including contents;删除数据字典管理的表空间时存在着很大的效率问题. 测试开始: 1.使用drop tablespace <tablespace_name> including con