Applies to: Oracle Net Services - Version 11.2.0.1 and later
Information in this document applies to any platform.
GoalEnabling Dead Connection Detection (DCD) for RAC 11.2 or higher
SolutionWhen DCD (SQLNET.EXPIRE_TIME) needs to be enabled, it must be enabled for the "RDBMS Oracle home" when considering using DCD for an 11.2 RAC installation.
The reason is, Scan and Node TNS listeners run from the Grid Oracle home (default), but the bequeath connection is owned by the operating system account for the RDBMS Oracle home.
This means the SQLNET.ORA file for the RDBMS Oracle home must have the parameter set.
Example :
Grid Oracle O/S user "grid"
RDBMS Oracle home O/S user "Oracle"
TNS listeners are running as "grid" user
$ ps -ef |grep tnslsnr
oracle 13858 27102 0 16:22 pts/1 00:00:00 grep tnslsnr
grid 30445 1 0 12:16 ? 00:00:00 /u01/app/11.2.0/grid/bin/tnslsnr LISTENER_SCAN1 -inherit
grid 31377 1 0 12:20 ? 00:00:00 /u01/app/11.2.0/grid/bin/tnslsnr LISTENER -inherit
Make a SQL*Plus connection
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\sqlplus scott/tiger@test
SQL*Plus: Release 11.2.0.1.0 Production on Mon Jun 28 16:24:30 2010
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
SQL>
And check the Process ID
SQL> select p.spid, s.serial#, s.username, s.module, s.program, s.machine
from v$process p,v$session s where p.addr = s.paddr and s.username = 'SCOTT';
SPID SERIAL# USERNAME
------------------------ ---------- ------------------------------
MODULE
------------------------------------------------
PROGRAM
------------------------------------------------
MACHINE
----------------------------------------------------------------
23394 56998 SCOTT
SQL*Plus
sqlplus.exe
UK-ORACLE\test
Check that process ID and the user is "Oracle"
$ ps -ef |grep 23394
oracle 23394 1 0 16:24 ? 00:00:00 oraclev11gr21 (LOCAL=NO)
oracle 22927 19181 0 16:25 pts/4 00:00:00 grep 23394
|