oracle共享内存会清理嘛,oracle共享内存段手工清理

当Oracle数据库因意外情况导致无法启动时,可能需要手动清理操作系统内存中的共享段。此过程涉及识别并使用`sysresv`命令及`ipcrm`来释放相关资源。首先,通过`ps`和`ipcs`命令检查占用内存的进程和段,然后使用`ipcrm`删除指定的内存段。如果实例可能存在,可使用`sysresv-f`参数谨慎移除共享段。
摘要由CSDN通过智能技术生成

当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"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值