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

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

0

积分

1

好友

9

主题
1#
发表于 2013-12-28 18:45:43 | 查看: 4952| 回复: 5
本帖最后由 黑豆 于 2013-12-28 18:46 编辑

os:Linux Server release 5.4 (Tikanga)
db:oracle 10.2.0.4.0  dataguard 最大性能模式

主库问题描述:
1. alert日志,
Fri Dec 27 23:18:19 2013
Thread 1 advanced to log sequence 269 (LGWR switch)
  Current log# 1 seq# 269 mem# 0: /oradata/redo01.log
  Current log# 1 seq# 269 mem# 1: /oracle/onlinelog/redo01_b.log
Sat Dec 28 02:03:03 2013
ksvcreate: Process(m001) creation failed
Sat Dec 28 02:21:56 2013
ksvcreate: Process(m001) creation failed    之后就没有了

2. 今天中午发现,然后关闭库时报错:
SQL> shutdown immediate
ORA-24324: service handle not initialized
ORA-24323: value not allowed
ORA-00020: maximum number of processes (%s) exceeded

数据库的process数是1600,session数是1750,平时监控时这个库的awr中的session数才80

3. netstat -an发现38个状态为FIN_WAIT2的前台应用程序的连接,137个状态为ESTABLISHED的连接,未监测过正常情况下的ESTABLISHED连接有多少
例如:
d-Q      Local Address                     Foreign Address                 State   
  0     192.168.0.111:1521           192.168.0.111:40830          FIN_WAIT2  

发生mmon的slave进程m001创建失败的原因猜测:
1. 是不是由于前台应用192.168.0.111要关闭连接,但是数据库服务器没有成功发送FIN包,造成长时间等待于FIN_WAIT2状态,是不是FIN_WAIT2状态很耗费资源,也会导致连接数急剧增加,同时造成m001失败?如果是的话,如何理解?如果不是,需要从哪些方面查找m001进程失败的原因呢?
2. 单纯针对FIN_WAIT2来说,是不是需要在192.168.0.111端增加net.ipv4.tcp_fin_timeout 的控制,来决定保持在FIN_WAIT2状态的时间?

谢谢各位的浏览
2#
发表于 2013-12-28 20:35:02
需要当时的AWR

以及alert.log



select * from v$resource_limit

回复 只看该作者 道具 举报

3#
发表于 2013-12-29 11:36:12
本帖最后由 黑豆 于 2013-12-29 11:39 编辑
Maclean Liu(刘相兵 发表于 2013-12-28 20:35
需要当时的AWR

以及alert.log


select * from v$resource_limit
RESOURCE_NAME                  CURRENT_UTILIZATION MAX_UTILIZATION INITIAL_ALLOCATION   LIMIT_VALUE
------------------------------ ------------------- --------------- -------------------- --------------------
processes                                       80              96       1600                 1600
sessions                                        88             102       1765                 1765
enqueue_locks                                   14              40      21390                21390
enqueue_resources                               14              38       7984            UNLIMITED
ges_procs                                        0               0          0                    0
ges_ress                                         0               0          0            UNLIMITED
ges_locks                                        0               0          0            UNLIMITED
ges_cache_ress                                   0               0          0            UNLIMITED
ges_reg_msgs                                     0               0          0            UNLIMITED
ges_big_msgs                                     0               0          0            UNLIMITED
ges_rsv_msgs                                     0               0          0                    0
gcs_resources                                    0               0          0                    0
gcs_shadows                                      0               0          0                    0
dml_locks                                        0              50       7764            UNLIMITED
temporary_table_locks                            0               3  UNLIMITED            UNLIMITED
transactions                                     0               9       1941            UNLIMITED
branches                                         0               0       1941            UNLIMITED
cmtcallbk                                        0               1       1941            UNLIMITED
sort_segment_locks                               9              43  UNLIMITED            UNLIMITED
max_rollback_segments                           11              11       1941                65535
max_shared_servers                               0               0  UNLIMITED            UNLIMITED
parallel_max_servers                             0               7        160                 3600

附件包含四个文件
1. 日期为201312280102的附件是发生进程失败的前一个小时的awr报告,有对应的addm
2. 日期为201312250102的附件是与12月28日有一样操作的exp的awr对比报告
3. 日期为201312270912的附件是上午三个小时(OA库)的awr报告,与平时的监控报告数据统计无大的差别
   其中top1 sql中的半连接里的sql已经优化改进,top2的sql   select 1 from dual 不知何含义,有说是连接池同数据库相连之前的验证,但是这个系统的这个sql执行次数很多,目前重启的数据库里在v$sql中查询这个sql的执行次数已经达到790122,但是我在其他负载比这个高很多的系统中,发现这个sql   select 1 from dual 的执行次数才366
4. alert文件为近一周的log日志

m001 died.rar

78.27 KB, 下载次数: 1394

m001 died

回复 只看该作者 道具 举报

4#
发表于 2013-12-29 12:18:21
总的物理内存15g

sga设置12g , pga_aggregate_target 2g

这个内存设置不太合理 12/15=80% , sga设置不要超过物理内存的70%

需要当时的OSW  or nmon数据进一步分析

回复 只看该作者 道具 举报

5#
发表于 2014-1-2 10:01:05
Maclean Liu(刘相兵 发表于 2013-12-29 12:18
总的物理内存15g

sga设置12g , pga_aggregate_target 2g

谢谢给出的建议,但是没有当时相关的nmon数据,数据库版本是10.2.0.4.0,现在就暂时定为是bug5377099引起的了。sga已经缩小为10g。
因为系统是采用的短连接,应该是这个引起的select 1 from dual比较高的原因。

回复 只看该作者 道具 举报

6#
发表于 2014-1-4 14:23:25
问题解决了么? ,类似你这个情况,很多都是递归sql在内部触发的session

回复 只看该作者 道具 举报

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

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

GMT+8, 2024-5-17 20:01 , Processed in 0.055014 second(s), 23 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

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