Tuesday, January 13, 2009

/var/tmp/.oracle hidden directory



When Your Database is Unix RAC cluster or standalone ASM install, You find hidden directory '/var/tmp/.oracle'. This directory contains a number of "special" socket files that are used by local clients to connect via the IPC protocol (sqlnet) to various Oracle processes including the TNS listener, the CSS, CRS & EVM daemons or even database or ASM instances.

$ cd /var/tmp/.oracle/
$ ls -la

srwxrwxrwx 1 oracle oinstall 0 Jan 13 12:45 s#27901.1
srwxrwxrwx 1 oracle oinstall 0 Jan 13 12:45 s#27901.2
srwxrwxrwx 1 oracle oinstall 0 Jan 13 12:44 sAdb01_crs_evm
srwxrwxrwx 1 root root 0 Jan 13 12:44 sdb01DBG_CRSD
srwxrwxrwx 1 oracle oinstall 0 Jan 13 12:44 sdb01DBG_CSSD
srwxrwxrwx 1 oracle oinstall 0 Jan 13 12:44 sdb01DBG_EVMD
srwxrwxrwx 1 oracle oinstall 0 Jan 13 12:44 sCdb01_crs_evm
srwxrwxrwx 1 root root 0 Jan 13 12:45 sCRSD_UI_SOCKET
srwxrwxrwx 1 oracle oinstall 0 Jan 13 12:45 sEXTPROC
srwxrwxrwx 1 oracle oinstall 0 Jan 13 12:44 sOCSSD_LL_db01_crs
srwxrwxrwx 1 oracle oinstall 0 Jan 13 12:44 sOracle_CSS_LclLstnr_crs_1
srwxrwxrwx 1 root root 0 Jan 13 12:44 sora_crsqs
srwxrwxrwx 1 oracle oinstall 0 Jan 13 12:45 sora_racg_db_db01
srwxrwxrwx 1 root root 0 Jan 13 12:44 sprocr_local_conn_0_PROC
srwxrwxrwx 1 oracle oinstall 0 Jan 13 12:44 sSYSTEM.evm.acceptor.authth

If this hidden directory was removed while instances & the CRS stack were up and running.
These will find something Error...

Check on Crsd Log:
[ COMMCRS][1084229984]clsc_connect: (0xb7e210) no listener at (ADDRESS=(PROTOCOL=ipc)(KEY=OCSSD_LL_db01_crs))
[ CSSCLNT][2541583904]clsssInitNative: connect failed, rc 9
if use "crs_stat" command, finf error:

[ COMMCRS][2541583904]clsc_connect: (0x6f5d40) no listener at (ADDRESS=(PROTOCOL=ipc)(KEY=ora_crsqs))

If Check on CSS Log:
TRACE: clsc_post: (0x707c70) code 4, NS err (12603, 12532), transport (502, 22, 0)
TRACE: clscsendx: (0x7dc4c0) Physical connection (0x7dc640) not active
WARNING: clssnmsendmsg: send failed, node 2, type 3, rc 3
If Check on ASM: alert log
ORA-29702: error occurred in Cluster Group Service operation
LMON: terminating instance due to error 29702

These show some Errors ...
when deleted(/var/tmp/.oracle hidden directory)... must to re-create these special files on this folder.
Restart (instance, listener, CRS), maybe that can help... .
In a RAC environment this requires the shutdown & restart of the entire CRS stack.

10gR1:
# /etc/init.d/init.crs stop
# /etc/init.d/init.crs start

10gR2/11g:
# $ORA_CRS_HOME/bin/crsctl stop crs
# $ORA_CRS_HOME/bin/crsctl start crs

If the above fails to successfully stop the CRS stack, A system reboot will be inevitable.

Anyway who someone would like to remove "/var/tmp" folder and create symbolic link its to "/tmp"
How?
A. Stop Cluster and then remove "/var/tmp"+ create symbolic link... after that start Cluster

B. ... move "/var/tmp/.oracle" folder to /tmp before .. and then remove "/var/tmp/" + create symbolic link...
# mv /var/tmp/.oracle /tmp/ && mv /var/tmp /var/tmp-old && ln -s /tmp /var/tmp
A. choice is better...

Deleting files from temporary directory via a cronjob (or otherwise):
the directory '/var/tmp/.oracle' (on some platform /tmp/.oracle) should be excluded from such jobs/tasks.

No comments: