日期:2014-05-16  浏览次数:20455 次

利用Oracle小工具sysresv查看移除Oracle内存共享段
我们可能都知道在$ORACLE_HOME/bin,存在很多小工具,今天主要介绍一下工具sysresv,通过该工具我们查看实例对应的内存共享段,以及删除内存共享段
当我们的系统运行有多个实例时:
引用
[root@hzmc ~]# ps -ef|grep smon|grep -v grep
ora10g   13422     1  0 Mar16 ?        00:00:00 ora_smon_mcactive
ora10g   25249     1  0 Mar16 ?        00:00:00 ora_smon_mcstar
ora10g   31000     1  0 Mar14 ?        00:01:21 ora_smon_drb

如果要清除某个实例的信号量,仅仅通过ipcs命令查看是远远不够的,它只会列出Oracle使用的内存共享段
引用
[root@hzmc ~]# ipcs

------ Shared Memory Segments --------
key        shmid      owner      perms      bytes      nattch     status     
0x00000000 32768      gdm       600        393216     2          dest        
0x366d0098 491521     ora10g    640        314576896  23                     
0x8f92b47c 2686978    ora10g    640        532684800  20                     
0x4566f728 2490371    ora10g    640        532684800  148                    

------ Semaphore Arrays --------
key        semid      owner      perms      nsems    
0x64466970 1802240    ora10g    640        154      
0x3ea594ac 10584065   ora10g    640        154      
0xaf45a9f8 9797634    ora10g    640        154      

------ Message Queues --------
key        msqid      owner      perms      used-bytes   messages
  

如果使用sysresv工具,可以清楚地知道实例所对应的共享段:
引用
[root@hzmc ~]# su - ora10g
[ora10g@hzmc ~]$ cd $ORACLE_HOME/bin
[ora10g@hzmc bin]$ sysresv -l mcactive mcstar drb

IPC Resources for ORACLE_SID "mcactive" :
Shared Memory:
ID              KEY
2490371         0x4566f728
Semaphores:
ID              KEY
9797634         0xaf45a9f8
Oracle Instance alive for sid "mcactive"

IPC Resources for ORACLE_SID "mcstar" :
Shared Memory:
ID              KEY
2686978  &