Oracle in子句过多的硬编码引发的故障

某生产数据库,不能登录,数据库不能归,生产环境为IBM小机,Oracle为单实例的10.2.0.4。登录到数据库服务器可以看到磁盘空间被占用完了,归档日志存储在yb_oradata目录下,Oracle软件安装在oracle目录,用户不能登录是因为不能写审计日志,业务不能办理是因为归档目录没有空间,这些是问题的症状。一般oracle所占的大小不可能达到上百G的大小。那就需要检查是什么文件占用了空间,生产环境为IBM小机。

[IBMP740-1:root:/]#df -g
Filesystem    GB blocks      Free %Used    Iused %Iused Mounted on
/dev/hd4          8.00      4.03  50%    11099    2% /
/dev/hd2          6.00      3.06  49%    57334    8% /usr
/dev/hd9var      16.00      6.87  58%    11305    1% /var
/dev/hd3          10.00      8.38  17%    2008    1% /tmp
/dev/fwdump        1.00      1.00    1%        5    1% /var/adm/ras/platform
/dev/hd1          2.00      2.00    1%        5    1% /home
/dev/hd11admin    10.00    10.00    1%        5    1% /admin
/proc                -        -    -        -    -  /proc
/dev/hd10opt      2.00      1.65  18%    11518    3% /opt
/dev/livedump      2.00      2.00    1%        4    1% /var/adm/ras/livedump
/dev/oracle_lv    100.00      0.00  100%    66389    84% /oracle
/dev/bak_lv      999.00    520.64  48%      29    1% /bak
/dev/yboradata_lv  1399.00    0    100%      337    1% /yb_oradata


可以看到admin目录占用了79.16G
[IBMP740-1:root:/oracle]#du -sg *
0.00    Mail
79.16  admin
0.00    chapter10_01.sql
0.04    flash_recovery_area
3.06    inst
0.00    jd.log
0.00    lost+found
0.00    oraInventory
8.77    product
0.00    smit.log
0.00    smit.script
0.00    smit.transaction
0.00    sosi.txt
0.00    spcusr.lis
0.00    sqlhc
0.00    sqlnet.log
0.04    sqlt
0.00    sqlt.zip
0.01    sqlt_s10819
0.00    sqlt_s34882_log.zip
0.00    sqlt_s34883_log.zip
0.00    sqlt_s34884_xecute.zip
0.00    sqlt_s34885_xecute.zip
0.00    sqlt_s34886_xecute.zip
0.00    sqlt_s34887_xecute.zip
0.00    test_high_version.txt


可以看到RLZY目录占用了79.16
[IBMP740-1:root:/oracle/admin]#du -sg *
0.00    CAIWU
0.00    ORCL
79.16  RLZY
0.00    chdyl


可以看到cdump与udump目录分别占用了40.94G,38.22G
[IBMP740-1:root:/oracle/admin/RLZY]#du -sg *
0.05    adump
1.66    bdump
40.94  cdump
0.00    dpdump
0.00    pfile
0.00    scripts
38.22  udump


adump :审计信息
bdump :后台进程trace 和alert log ,就是说 alert_sid.log也存在这个目录中
cdump :一般放置一些核心的trace文件,内核实例缓冲区产生的跟踪文件,除非数据库出了问题 否则基本上不会有什么信息
dpdump:是存放一些登录信息的
pfile :初始化参数文件 initSID
 udump :一般放置sql trace之后session的trace文件,用户服务器进程产生的跟踪文件,常见的是sql问题

那么我们先查看一下alert_RZLY.log
[IBMP740-1:root:/oracle/admin/RLZY]#tail -f /oracle/admin/RLZY/bdump/alert_RLZY.log
ORA-07445: exception encountered: core dump [qcsAnalyzeBooleanExpr+0010] [SIGSEGV] [Address not mapped to object] [0xFFFFFFFFDFFFFF0] [] []
Wed Oct 26 19:22:35 2016
Thread 1 advanced to log sequence 47133 (LGWR switch)
  Current log# 2 seq# 47133 mem# 0: /yb_oradata/RLZY/RLZY/redo02.log
Wed Oct 26 19:32:51 2016
Errors in file /oracle/admin/RLZY/udump/rlzy_ora_43647120.trc:
ORA-07445: exception encountered: core dump [qcsAnalyzeBooleanExpr+0010] [SIGSEGV] [Address not mapped to object] [0xFFFFFFFFDFFFFF0] [] []
Wed Oct 26 19:42:40 2016
Errors in file /oracle/admin/RLZY/udump/rlzy_ora_13697930.trc:
ORA-07445: exception encountered: core dump [qcsAnalyzeBooleanExpr+0010] [SIGSEGV] [Address not mapped to object] [0xFFFFFFFFDFFFFF0] [] []

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/e272a38e607c66e5b3b32f174ece203e.html