2007/12/06

find oracle shared memory handle


ps -ef | grep vasdb | grep oracle | grep LOCAL
#memo the {pid}

sqlplus sys@op.. as sysdba
oradebug setospid {pid}
oradebug ipc
exit

cd {your udump dir}
ls -lt
vasdb_ora_xxxx.trc

grep Handle vasdb_ora_xxxx.trc
#you will find the memory handle.
#if you can start the secondary database to nomount.
#you can compare the too handle string and find out the difference.

the result of my server

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
ORACLE_HOME = /u01/oracle/app/oracle/product/10.2.0/db_1
System name: Linux
Node name: test
Release: 2.4.21-37.ELsmp
Version: #1 SMP Wed Sep 7 13:28:55 EDT 2005
Machine: i686
Instance name: orcl
Redo thread mounted by this instance: 0
Oracle process number: 15
Unix process pid: 23332, image: oracle@test (TNS V1-V3)

*** 2007-12-05 21:09:32.165
*** SERVICE NAME:() 2007-12-05 21:09:32.165
*** SESSION ID:(159.1) 2007-12-05 21:09:32.165
Received ORADEBUG command 'ipc' from process Unix process pid: 23483, image:
Dump of unix-generic skgm context
areaflags 000000e7
realmflags 0000000f
mapsize 00000800
protectsize 00001000
lcmsize 00001000
seglen 00200000
largestsize 0000000080000000
smallestsize 0000000000400000
stacklimit 0xbe0776e0
stackdir -1
mode 660
magic acc01ade
Handle: 0xccd9088 `/u01/oracle/app/oracle/product/10.2.0/db_1orcl'
Dump of unix-generic realm handle `/u01/oracle/app/oracle/product/10.2.0/db_1orcl', flags = 00000000

No comments: