粗浅记录Oracle RAC系统内存无法释放
交代一下环境,是现网实时生产数据库主机。Hp-ux 11.31+Oracle 10.2.0.4.0 RAC集群。
两台机器户外RAC,essdb3与essdb4两台机器。
物理内存128G,SGA分配64G,PGA分配5G。早上发现essdb4主机glance运行只有6G的空闲内存。
使用如下命令进行简单分析:
SQL> select distinct sid from v$mystat; 得到sid,算算一个空闲进程占用的pga有多大。
SQL>select b.PGA_USED_MEM PGA_USED_MEM, b.PGA_ALLOC_MEM PGA_ALLOC_MEM,b.PGA_FREEABLE_MEM PGA_FREEABLE_MEM,b.PGA_MAX_MEM PGA_MAX_MEM from v$session a, v$process b where a.PADDR=b.ADDR and a.sid ='&sid'
输入刚刚得到的SID号。算出一个空闲进程大概占用的内存,系统总的PGA的使用基本上稳定在1.29G到2G之间(系统设置的PGA的最大值是5G),与往常相比也是一个非常合理的状态。
SQL> select sum(PGA_USED_MEM) from v$process;
SUM(PGA_USED_MEM)
-----------------
1298679359
我们使用ipcs观察共享内存段的使用情况:
essdb4_oracle[/var/adm/syslog]$ipcs -mb
IPC status from /dev/kmem as of Thu Jun 23 10:18:00 2016
T ID KEY MODE OWNER GROUP SEGSZ
Shared Memory:
m 0 0x411c06cb --rw-rw-rw- root root 348
m 1 0x4e0c0002 --rw-rw-rw- root root 61760
m 2 0x4120077b --rw-rw-rw- root root 8192
m 3 0x00a5c581 --rw------- sfmdb users 10469376
m 4 0x411c14fb --rw------- root root 4096
m 13893637 0x00000000 --rw-r----- oracle oinstall 18790481920
m 6 0x06347849 --rw-rw-rw- root root 65544
m 7 0x0c6629c9 --rw-r----- root root 22614264
m 32776 0x01205c0a --rw-rw-r-- root root 4192
m 9 0x00000000 D-rw-rw-r-- root root 4192
m 10 0x00000000 D-rw-rw-r-- root root 4192
m 11 0x4918a061 --rw-r--r-- root root 22912
m 12 0x0120468b --rw-rw-r-- root root 4192
m 13 0x00000000 --rw-r----- oracle oinstall 18807521280
m 14 0x00000000 --rw-r----- oracle oinstall 18807259136
m 15 0x00000000 --rw-r----- oracle oinstall 12367142912
m 16 0x3546761c --rw-r----- oracle oinstall 135168
共享内存的详细使用信息:
essdb4_oracle[/]#ipcs -mb
IPC status from /dev/kmem as of Thu Jun 23 13:42:57 2016
T ID KEY MODE OWNER GROUP SEGSZ
Shared Memory:
m 0 0x411c06cb --rw-rw-rw- root root 348
m 1 0x4e0c0002 --rw-rw-rw- root root 61760
m 2 0x4120077b --rw-rw-rw- root root 8192
m 3 0x00a5c581 --rw------- sfmdb users 10469376
m 4 0x411c14fb --rw------- root root 4096
m 13893637 0x00000000 D-rw-r----- oracle oinstall 18790481920
m 6 0x06347849 --rw-rw-rw- root root 65544
m 7 0x0c6629c9 --rw-r----- root root 22614264
m 32776 0x01205c0a --rw-rw-r-- root root 4192
m 9 0x00000000 D-rw-rw-r-- root root 4192
m 10 0x00000000 D-rw-rw-r-- root root 4192
m 11 0x4918a061 --rw-r--r-- root root 22912
m 12 0x0120468b --rw-rw-r-- root root 4192
m 13 0x00000000 --rw-r----- oracle oinstall 18807521280
m 14 0x00000000 --rw-r----- oracle oinstall 18807259136
m 15 0x00000000 --rw-r----- oracle oinstall 12367142912
m 16 0x3546761c --rw-r----- oracle oinstall 135168
共享内存段状态为D - Delete,这在通常情况下是不正常的,这是一个Oracle用户占用的共享内存段,由于状态为D的共享内存段本身就是没有正常使用的内存段,所以满以为使用ipcrm –m id删除这个共享内存段,应该就可以解决问题,但是,当时上述做法的结果是系统报告找不到找个ID。
essdb4_oracle[/]#ipcrm -m 13893637
现在我们使用shminfo要使用root权限,查看一下当前到底哪个进程在使用找个共享内存段:
essdb4_oracle[/]#shminfo -s 13893637
sh: shminfo: not found.
最后重启该节点数据库依然持有该共享内存,无果最后只能重启操作系统,得到释放,当前系统可用内存40G。
- 粗浅记录Oracle RAC系统内存无法释放
- 粗浅记录Oracle RAC系统内存无法释放
- Ubuntu问题记录-解决Ubuntu16.04上WPS,intellij idea系列包括Android Studio无法使用fcitx的搜狗拼音的问题
- winxpsp3或win7下安装vb2008 express和sql server 2005/2008 express IIS出错无法浏览 各种问题汇总记录
- 删除文件后,磁盘空间没有释放的处理记录
- spring+hibernate+c3p0整合链接池配置-连接无法释放问题(已经解决)
- Codeigniter 无法记录终止性错误和异常解决办法
- //创建的HDC 释放后无法释放内存解决方法
- CI框架出现mysql数据库连接资源无法释放的解决方法
- 您无法登陆系统。原因可能是您的用户记录或所属的业务部门在Microoft Dynamics CRM中已被禁用
- 统计器程序中连接池无法释放的问题解决方法
- C# Socket连接 无法访问已释放的对象
- ci框架连接数据库资源无法释放
- spring+hibernate+c3p0整合链接池配置-连接无法释放问题(已经解决)
- 【工作记录0022】C#(.NET)调用Java开发的WebService(wsdl),客户端传递非string类型参数(int,double,bool等),而服务端无法获取到参数值的解决方案
- QT5.6.0无法切换fcitx中文输入法问题记录
- 定单状态为完成时,无法添加相关记录解决方案
- linux服务器磁盘无法释放
- Manjaro、ArchLinux 网易云音乐无法启动修复记录
- ci框架mysql数据库连接资源无法释放