Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

133

积分

0

好友

17

主题
1#
发表于 2014-10-30 11:46:26 | 查看: 12405| 回复: 5
早上来公司,看到8:01 的一个scheduler失败,但这个job执行有1分钟左右(run_duration为1分45秒),原因是「REASON="Job slave process was terminated"」

看alert并没有日志输出,看 /var/log/message

Oct 30 08:01:44 dbserver17 kernel: VM: killing process oracle

我在PL/SQL Developer手动run这个scheduler,还是报这个错。

/var/log/message 输出

Oct 30 10:23:36 dbserver17 kernel: VM: killing process oracle

我猜可能跟hugepage有关,被linux系统kill了,但确凿的证据没有找到。

$ free -m
             total       used       free     shared    buffers     cached
Mem:         96646      96406        239          0          4      27690
-/+ buffers/cache:      68711      27935
Swap:        32765       7966      24799

$ cat /proc/meminfo | grep -i hugepage
HugePages_Total: 32800
HugePages_Free:  10512
HugePages_Rsvd:   8702
Hugepagesize:     2048 kB

SQL> show parameter pga

NAME                                     TYPE         VALUE
------------------------------------ ----------- ------------------------------
pga_aggregate_target                     big integer 10G

SQL> show parameter sga

NAME                                     TYPE         VALUE
------------------------------------ ----------- ------------------------------
lock_sga                             boolean         FALSE
pre_page_sga                             boolean         FALSE
sga_max_size                             big integer 64G
sga_target                             big integer 64G

$ vmstat -SM 45 10
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
0  5  10283    237      1  27336    0    0  1987   288    0    0  5  1 90  4  0
1  5  10064    240      0  27451    0    0 479494  4435 6527 24537  3  3 78 15  0
2  4   9904    244      1  27549    0    0 502464  5657 6457 22736  6  3 77 14  0
1  7   9635    239      1  27490    0    0 426233 12096 6015 22577  6  3 73 18  0
2  3   9610    238      0  27549    0    0 495628  6531 6012 24091  8  3 75 14  0
3  5   9585    243      0  27686    0    0 707705  5511 7331 28189  8  3 79 10  0
4  4   9472    245      1  27523    0    0 238116  5451 4093 14460  9  1 81  9  0
0  3   9448    236      1  27547    0    0 260717  5011 3566 14055  5  1 87  7  0

2  5   9473    236      1  27752    0    0 315135 12488 3855 15233  5  2 90  4  0
1  0   9760    274      1  27401    0    0 275383 13984 4244 14931  7  3 86  4  0


在数据库空闲的时候,我再次run这个scheduler,可以跑成功了。

求助怎么分析,能找到确切一些的原因并解决?
2#
发表于 2014-10-31 14:45:21
--从这里找到sql执行顺序和过程

select * from v$active_session_history where session_id=1119 order by to_char(sample_time,'yyyymmdd hh24:mi:ss') desc ;


17c1tm4udwh50  --> 8gbybvnypwftf  「这个sql_id只有4条记录,此时报错就是这条sql」

取出来单独执行,也报错了, 多次使用命令查看这个job执行时占了多少内存

     方法1:ps axu  | grep 16160 | grep -v grep | awk '{print $5,$6} --1位置虚拟内存占用,2位置实际物理内存占用

          21799244 654392

     方法2:top --> shift + M 按内存占用排序,RES为真实物理内存占用

第1次run job,报错了,但是才占用了330M内存(job run过程中多次执行最后一次有结果,因为被oom killer杀掉后,就没有这个进程了),时间67s报错「由v$active_session_history得知」

     $ ps axu  | grep 26253 | grep -v grep | awk '{print $5,$6}'
       21637524 332456

第2次run job,成功了,但是最近占用将近1G内存,时间为172s,而且是成功的

     $ ps axu  | grep 26253 | grep -v grep | awk '{print $5,$6}'
       21799244 990376

那我们来看sql_id='8gbybvnypwftf'是什么,

单独手动执行一次,居然也报错了,时间很快,大概1s就报错了

再看执行计划,执行计划「采用并行了」

把涉及的表,degree从DEFAULT改为1

不知道小伙伴,还有其他想法和思路

回复 只看该作者 道具 举报

3#
发表于 2014-10-31 16:04:42
给出alert.log 和当时的AWR

回复 只看该作者 道具 举报

4#
发表于 2014-10-31 16:26:11
Maclean Liu(刘相兵 发表于 2014-10-31 16:04
给出alert.log 和当时的AWR


这个job是每天早上8:00开始。取awr,就是8:00--8:30。

awrrpt_1_82479_82480.html

376.86 KB, 下载次数: 819

30号

awrrpt_1_82527_82528.html

395.08 KB, 下载次数: 813

31号

alert_BISTD3.log.txt

6.53 MB, 下载次数: 818

alert

回复 只看该作者 道具 举报

5#
发表于 2014-11-1 11:22:57
把涉及的表degree由default改为1,今天早上8点job正常。看看明、后天情况。

回复 只看该作者 道具 举报

6#
发表于 2014-11-4 14:36:25
之后没有报错了,但oom killer的机制在网上搜的资料还不能解答。

因为这个job所占用的内存还不是最大的,因为还有更大的,一个进程占10G的j001进程。

可能是内存使用增长速度过快,导致被oom killer杀掉了?

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-12-21 01:43 , Processed in 0.055744 second(s), 23 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569