oracle的共享内存段,oracle共享内存段手工清理

当Oracle数据库意外当机,操作系统内存共享段未释放,便无法重启数据库至nomount状态,此时需要手工清理。

现象:

1.可以看到有2个smon进程

$ ps -ef|grep smon

oracle    6538     1  0 22:00 ?        00:00:00 ora_smon_zwb

oracle    6574     1  0 22:02 ?        00:00:00 ora_smon_bxtest

oracle    6583  6463  0 22:02 pts/2    00:00:00 grep smon

2.ipcs查看内存

$ ipcs

------ Shared Memory Segments --------

key        shmid      owner      perms      bytes      nattch     status

0x3b751258 65537      oracle    640        262144000  13

0x7707b27c 98306      oracle    640        266338304  11

------ Semaphore Arrays --------

key        semid      owner      perms      nsems

0xe21c75d0 98304      oracle    640        154

0x991ba820 229377     oracle    640        204

要清理bxtest内存段方式:

1.使用在$ORACLE_HOME/bin下的sysresv命令

$ cd $ORACLE_HOME/bin

$ ls -l *sys*

-rwxr-xr-x  1 oracle oinstall  2318 Jan  1  2000 gensyslib

-rwxr-xr-x  1 oracle oinstall 20397 Jun 28  2005 sysresv

2.用sysresv -l 查出内存段

$ sysresv -l zwb bxtest

IPC Resources for ORACLE_SID "zwb" :

Shared Memory:

ID              KEY

65537           0x3b751258

Semaphores:

ID              KEY

98304           0xe21c75d0

Oracle Instance alive for sid "zwb"

IPC Resources for ORACLE_SID "bxtest" :

Shared Memory:

ID              KEY

98306           0x7707b27c

Semaphores:

ID              KEY

229377          0x991ba820

Oracle Instance alive for sid "bxtest"

3.用操作系统命令ipcrm手工释放

[oracle@testsvr bin]$ ipcrm -m 98306

[oracle@testsvr bin]$ ipcrm -s 229377

4.查看结果可以看到bxtest已清理

$ ps -ef|grep smon

oracle    6538     1  0 22:00 ?        00:00:00 ora_smon_zwb

oracle    6624  6463  0 22:12 pts/2    00:00:00 grep smon

------------

5.sysresv -f参数可以移除共享段(仅适用于实例不存在,操作系统共享段不释放条件)

[oracle@testsvr ~]$ export ORACLE_SID=bxtest

[oracle@testsvr ~]$ sysresv -f bxtest

IPC Resources for ORACLE_SID "bxtest" :

Shared Memory:

ID              KEY

131074          0x7707b27c

Semaphores:

ID              KEY

425985          0x991ba820

Oracle Instance alive for sid "bxtest"

SYSRESV-005: Warning

Instance maybe alive - aborting remove for sid "bxtest"

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值