oracle11g共享内存dest的处理 ipcs dest

今天发现现场有个oracle11.0.0.2的库感觉有问题,执行任何sql语句(包括ddl)都很慢;

后来发现他的共享内存有问题,在root和oracle下都有dest的共享内存。

在metlink上搜了一下,oracle在不重启主机的情况下提供了一个解决方案。

https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=270396324384212&id=1319087.1&displayIndex=1&_afrWindowMode=0&_adf.ctrl-state=cnncanoks_135#SYMPTOM

Unable to Remove Shared Memory Segment with Status of dest (文档 ID 1319087.1)

SYMPTOMS

Instance has been shutdown however the shared memory segment is not removed.
 

$ ipcs -m

------ Shared Memory Segments --------
key        shmid   owner  perms bytes       nattch status
0x6faedb68 3604484 grid   660   4096        0
0x00000000 4718597 oracle 660   17181966336 1      dest
0x00000000 4521990 oracle 660   17181966336 1      dest
0x682f74fc 4980743 oracle 660   17181966336 78
0x68449b18 5046280 oracle 660   17181966336 81
0x681a4ee0 5111817 oracle 660   17181966336 80

$ ipcrm -m 4521990

$ ipcs -m

------ Shared Memory Segments --------
key        shmid   owner  perms bytes       nattch status
0x6faedb68 3604484 grid   660   4096        0
0x00000000 4718597 oracle 660   17181966336 1      dest
0x00000000 4521990 oracle 660   17181966336 1      dest
0x682f74fc 4980743 oracle 660   17181966336 79
0x68449b18 5046280 oracle 660   17181966336 81

CHANGES

RDBMS instance shutdown failed to clean-up all active bequeath connections.

The status column for the problem shared memory segment has a flag status of 'dest'.
The flag "dest" in the status column means that SHM_DEST flag has been set for that memory segment.
Setting this flag allows the operating system to automatically clean up the shared memory segment when it is no longer used.
 

CAUSE

There is still an active process associated with the shared memory segment, preventing the removal via ipcrm.
 

SOLUTION

Identify active processes holding open files on the shared memory segment using lsof.

For each problem shared memory ID# using lsof to identify the process ->
      lsof |egrep "<shmid>|COMMAND"
 

$ lsof |egrep "4718597|COMMAND"
oracle 1903 oracle mem REG 0,19 0 3985532

$ kill -9 1903

 

Re-running ipcs will show that the shared memory segment is now removed.

In the above example we only had 1 process reported.
 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值