sysresv是Oracle在Linux/Unix平台提供的工具,用来查看Oracle实例使用的共享内存和信号量等信息。
sysresv存放的路径:$ORACLE_HOME/bin/sysresv
使用时需要设置LD_LIBRARY_PATH环境变量,用来告诉Oracle共享库文件的位置。
sysresv用法如下:
usage : sysresv [-if] [-d ] [-l sid1 ...]
-i : Prompt before removing ipc resources for each sid
-f : Remove ipc resources silently, oevrrides -i option
-d : List ipc resources for each sid if on
-l sid1 .. : apply sysresv to each sid
Default : sysresv -d on -l $ORACLE_SID
Note : ipc resources will be attempted to be deleted for a
sid only if there is no currently running instance
with that sid.
来看一下简单使用:
oracle@sunvs-b@/oracle/oracle $ uname -a
SunOS sunvs-b 5.10 Generic_139555-08 sun4u sparc SUNW,Sun-Fire-480R
oracle@sunvs-b@/oracle/oracle $ ps -ef|grep pmon
oracle 26257 1 0 5月 24 ? 140:42 ora_pmon_H2
oracle 15479 14078 0 14:01:36 pts/4 0:00 grep pmon
oracle 12449 1 0 8月 17 ? 17:44 ora_pmon_U2
oracle@sunvs-b@/oracle/oracle $ sysresv -l H2
IPC Resources for ORACLE_SID "H2" :
Shared Memory:
ID KEY
1979711594 0x00000000
1979711595 0x00000000
1979711596 0x00000000
1979711597 0xce653c24
Semaphores:
ID KEY
16777316 0x25393874
Oracle Instance alive for sid "H2"
oracle@sunvs-b@/oracle/oracle $ ipcs -ms
IPC status from as of 2011年08月29日 星期一 14时11分51秒 CST
T ID KEY MODE OWNER GROUP
Shared Memory:
m 1577058426 0xf5649758 --rw-r----- oracle oinstall
m 1577058425 0 --rw-r----- oracle oinstall
m 1577058424 0 --rw-r----- oracle oinstall
m 1577058423 0 --rw-r----- oracle oinstall
m 1979711605 0x4e65af --rw-r--r-- oracle oinstall
m 1979711604 0x3e65af --rw-r--r-- oracle oinstall
m 1979711603 0x1e65af --rw-r--r-- oracle oinstall
m 1979711602 0xe65af --rw-r--r-- oracle oinstall
m 1979711597 0xce653c24 --rw-r----- oracle oinstall
m 1979711596 0 --rw-r----- oracle oinstall
m 1979711595 0 --rw-r----- oracle oinstall
m 1979711594 0 --rw-r----- oracle oinstall
m 1979711511 0x31f4002 --rw-rw-rw- cupsz cupucuse
m 754974788 0xc93f --rw-rw-rw- hsm1 cupucuse
m 754974787 0xc93e --rw-rw-rw- hsm1 cupucuse
m 754974786 0xc93d --rw-rw-rw- hsm1 cupucuse
m 754974785 0xc93c --rw-rw-rw- hsm1 cupucuse
m 754974784 0xc93b --rw-rw-rw- hsm1 cupucuse
m 754974783 0xc93a --rw-rw-rw- hsm1 cupucuse
m 754974782 0xc939 --rw-rw-rw- hsm1 cupucuse
m 754974781 0xc938 --rw-rw-rw- hsm1 cupucuse
m 754974780 0xc937 --rw-rw-rw- hsm1 cupucuse
m 754974779 0xc936 --rw-rw-rw- hsm1 cupucuse
m 754974778 0xc935 --rw-rw-rw- hsm1 cupucuse
m 754974777 0xc934 --rw-rw-rw- hsm1 cupucuse
m 754974776 0xc933 --rw-rw-rw- hsm1 cupucuse
m 754974775 0xc932 --rw-rw-rw- hsm1 cupucuse
m 754974774 0xc930 --rw-rw-rw- hsm1 cupucuse
m 754974773 0xc92f --rw-rw-rw- hsm1 cupucuse
m 754974772 0xc92e --rw-rw-rw- hsm1 cupucuse
m 754974771 0xc92d --rw-rw-rw- hsm1 cupucuse
m 754974770 0xc931 --rw-rw-rw- hsm1 cupucuse
m 45 0x741cc1a6 --rw-rw-rw- root root
m 44 0x741cc1a5 --rw-rw-rw- root root
m 43 0x741cc1a4 --rw-rw-rw- root root
m 42 0x741cc1a3 --rw-rw-rw- root root
m 41 0x741cc1a2 --rw-rw-rw- root root
m 40 0x741cc1a1 --rw-rw-rw- root root
m 39 0x741cc1a0 --rw-rw-rw- root root
m 37 0x435dce60 --rw-rw-rw- root root
m 0 0x22bb --rw-rw---- root dba
Semaphores:
s 16777324 0x25393ad4 --ra-r----- oracle oinstall
s 16777320 0x1e65af --ra-ra-ra- oracle oinstall
s 16777319 0xe65af --ra-ra-ra- oracle oinstall
s 16777316 0x25393874 --ra-r----- oracle oinstall
s 16777296 0 --ra-ra-ra- cupst cupucuse
s 16777294 0 --ra-ra-ra- cupst cupucuse
s 16777289 0 --ra-ra-ra- cuput cupucuse
s 16777287 0 --ra-ra-ra- cuput cupucuse
s 16777282 0 --ra-ra-ra- cupvip cupucuse
s 16777280 0 --ra-ra-ra- cupvip cupucuse
s 16777279 0 --ra-ra-ra- cupfb cupucuse
s 16777277 0 --ra-ra-ra- cupfb cupucuse
s 16777268 0 --ra-ra-ra- cupuc cupucuse
s 16777266 0 --ra-ra-ra- cupuc cupucuse
s 16777261 0 --ra-ra-ra- cuphx cupucuse
s 16777259 0 --ra-ra-ra- cuphx cupucuse
s 16777258 0 --ra-ra-ra- cupsz cupucuse
s 16777256 0 --ra-ra-ra- cupsz cupucuse
s 1 0x55064bec --ra-r--r-- root root
s 0 0x710644ac --ra-ra-ra- root root
说明一下:在安装ORACLE产品前,需要设置系统的共享内存段的最大值和个数限制,实例在启动后,应尽量保证SGA在一个共享内存段上,这里由于我是在RAC的一个节点上进行的测试,所以实例内存被分配到4个共享内存段上。
IPC的清理可以使用sysresv –if,如果实例正在运行,清理操作会被终止:
oracle@sunvs-b@/oracle/oracle $ sysresv -fi -l H2
IPC Resources for ORACLE_SID "H2" :
Shared Memory:
ID KEY
1979711594 0x00000000
1979711595 0x00000000
1979711596 0x00000000
1979711597 0xce653c24
Semaphores:
ID KEY
16777316 0x25393874
Oracle Instance alive for sid "H2"
SYSRESV-005: Warning
Instance maybe alive - aborting remove for sid "H2"
另外如果需要清理内存段和信号量,而sysresv发现实例是alive的,可以使用ipcrm命令:
ipcrm -m
ipcrm -s
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/20750200/viewspace-706168/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/20750200/viewspace-706168/