on 07-14-2009 9:26 AM
Hi Experts,
We have just setup an Oracle 10g RAC and is simulating a server outage by shutting down one of the RAC node. Whenever a node goes down, the SAP GUI will hang for about 5 mins before continuing. I assume the hanging time is due to the RAC failover in process. But our users will not tolerate this 5 mins delay. How can I reduce this 'hanging' time?
Thanks,
Tzyy Ming
Hello Tzyy,
how does your Oracle*Net configuration look like?
Sapntote #562403 describes the different mechanisms for that (point 21).
Regards
Stefan
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Michael and all gurus,
I have modified my tnsnames.ora file according to yours, i.e. have the load balancing off and the failover mode set to basic. And the parameters rsdb/reco_sleep_time + rsdb/reco_trials have been set to 1. But the delay does not go away.
I could not find anything useful in SM21. The dialog work process traces stopped and repeats the following lines during the failover:
M pop timestack[0] = STAT_READDIR
M push timestack[0] = STAT_READDIR
Appreciate any kind assistant to guide me on how I can debug this problem.
Million Thanks,
Tzyy Ming
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi all,
The VIP fails over in about 10 seconds. (ie ping lost for 10 secs and crs_stat -t shows failover after 10 sec)
After the vip failover, the system have to wait for about 5 mins for the SAP GUI to work again.
Is there a log or anything that keeps track of what the system is doing during this 5 mins? I badly needs to reduce this timing.
Thanks all for your gd advice.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi experts,
I have changed my TNSNAMES.ORA to the following, but the failover time has not been reduced:
TST.WORLD =
(DESCRIPTION =
(ADDRESS_LIST =
(LOAD_BALANCE=ON)
(FAILOVER=ON)
(ADDRESS = (PROTOCOL = TCP)(HOST = racnode2-vip)(PORT = 1527))
(ADDRESS = (PROTOCOL = TCP)(HOST = racnode1-vip)(PORT = 1527))
)
(CONNECT_DATA =
(SERVICE_NAME = TST)
(GLOBAL_NAME = TST.WORLD)
(FAILOVER_MODE =(TYPE = SELECT)(METHOD = PRECONNECT)(RETRIES=2)(DELAY=10))
)
)
I read in the subparameters section:
"Note:
If a callback function is registered, then RETRIES and DELAY subparameters are ignored."
How can I find out if a callback function is registered in my system?
Thanks again.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Here is an extract of my tnsnames.ora i used in the past. In difference to yours, i did not use loadbalancing and preconnect in the failover mode.
SID =
(DESCRIPTION =
(LOAD_BALANCE=OFF)
(FAILOVER = ON)
(ADDRESS_LIST =
(ADDRESS=(PROTOCOL=TCP)(HOST=host1vip)(PORT=1527))
(ADDRESS=(PROTOCOL=TCP)(HOST=host2vip)(PORT=1527))
(ADDRESS=(PROTOCOL=TCP)(HOST=host3vip)(PORT=1527))
)
(CONNECT_DATA =
(SERVICE_NAME = SID)
(FAILOVER_MODE =
(TYPE = SELECT)
(METHOD = BASIC)
)
)
)
You should also check what happens in the SAP system, look at SM21 and check the work process traces (dev_wX). The reconnect of the work processes can be influenced with these parameters:
rsdb/reco_sleep_time + rsdb/reco_trials
But I had not modified them in my system.
Best regards, Michael
LISTENER.ORA
-
LISTENER_TST_RACNODE2 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = racnode2-vip)(PORT = 1527)(IP = FIRST))
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.11.0.126)(PORT = 1527)(IP = FIRST))
)
)
LISTENER_TST_RACNODE1 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = racnode1-vip)(PORT = 1527)(IP = FIRST))
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.11.0.125)(PORT = 1527)(IP = FIRST))
)
)
#DIRECT_HANDOFF_TTC_LISTENER=OFF
################
Filename......: listener.ora
Created.......: created by SAP AG, R/3 Rel. >= 6.10
Name..........:
Date..........:
@(#) $Id: //bc/640-2/src/ins/SAPINST/impl/tpls/ora/ind/LISTENER.ORA#4 $
################
CONNECT_TIMEOUT_LISTENER = 10
SID_LIST_LISTENER_TST_RACNODE2 =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = F:\oracle\TST\102)
(PROGRAM = extproc)
)
(SID_DESC =
(SID_NAME = TST2)
(ORACLE_HOME = F:\oracle\TST\102)
)
)
SID_LIST_LISTENER_TST_RACNODE1 =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = F:\oracle\TST\102)
(PROGRAM = extproc)
)
(SID_DESC =
(SID_NAME = TST1)
(ORACLE_HOME = F:\oracle\TST\102)
)
)
STARTUP_WAIT_TIME_LISTENER = 0
ADMIN_RESTRICTIONS_LISTENER = on
TRACE_LEVEL_LISTENER = OFF
SQLNET.ORA
-
AUTOMATIC_IPC = ON
TRACE_LEVEL_CLIENT = OFF
NAMES.DEFAULT_DOMAIN = WORLD
NAME.DEFAULT_ZONE = WORLD
SQLNET.EXPIRE_TIME = 1
SQLNET.AUTHENTICATION_SERVICES = (NTS)
TCP.NODELAY=YES
SQLNET.INBOUND_CONNECT_TIMEOUT=120
-
Hope this is more readable.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello,
> Hope this is more readable.
Yes it is )
Please check the documentation (Part FAILOVER_MODE -> Subparameters) :
http://download.oracle.com/docs/cd/B19306_01/network.102/b14213/tnsnames.htm#i466691
Regards
Stefan
TNSNAMES.ORA
-
##############################
LOCAL LISTENER ENTRIES ###
##############################
only a single address is allowed here
LISTENER_TST_RACNODE1.WORLD =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = racnode1-vip)(PORT = 1527))
)
)
only a single address is allowed here
LISTENER_TST_RACNODE2.WORLD =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = racnode2-vip)(PORT = 1527))
)
)
###############################
REMOTE LISTENER ENTRIES ###
###############################
add more address entries for remote listeners if necessary
REMOTE_LISTENER_TST_RACNODE1.WORLD =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = racnode2-vip)(PORT = 1527))
)
)
REMOTE_LISTENER_TST_RACNODE2.WORLD =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = racnode1-vip)(PORT = 1527))
)
)
########################################
SERVICE ENTRY FOR GENERAL SAP CI ###
########################################
TST.WORLD =
(DESCRIPTION =
(ADDRESS_LIST =
(LOAD_BALANCE=ON)
(ADDRESS = (PROTOCOL = TCP)(HOST = racnode1-vip)(PORT = 1527))
(ADDRESS = (PROTOCOL = TCP)(HOST = racnode2-vip)(PORT = 1527))
)
(CONNECT_DATA =
(SERVICE_NAME = TST.WORLD)
(GLOBAL_NAME = TST.WORLD)
(FAILOVER_MODE =(TYPE = SELECT)(METHOD = BASIC))
)
)
SERVICE ENTRY FOR CONNECT TO INSTANCE TST1 ###
TST1.WORLD =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = racnode1-vip)(PORT = 1527))
)
(CONNECT_DATA =
(SID = TST1)(GLOBAL_NAME = TST.WORLD)
)
)
SERVICE ENTRY FOR CONNECT TO INSTANCE TST2 ###
TST2.WORLD =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = racnode2-vip)(PORT = 1527))
)
(CONNECT_DATA =
(SID = TST2)(GLOBAL_NAME = TST.WORLD)
)
)
DEFAULT SERVICE ENTRY FOR CONNECT TO ANY INSTANCE ###
TST_D00.WORLD =
(DESCRIPTION =
(ADDRESS_LIST =
(LOAD_BALANCE=ON)
(ADDRESS = (PROTOCOL = TCP)(HOST = racnode1-vip)(PORT = 1527))
(ADDRESS = (PROTOCOL = TCP)(HOST = racnode2-vip)(PORT = 1527))
)
(CONNECT_DATA =
(SERVICE_NAME = TST_D00.WORLD)
(GLOBAL_NAME = TST.WORLD)
(FAILOVER_MODE =(TYPE = SELECT)(METHOD = BASIC))
)
)
EXTPROC_CONNECTION_DATA =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0)))(CONNECT_DATA =(SID = PLSExtProc)(PRESENTATION = RO)))
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi, my *.ora files are as follows:
tnsnames.ora
===========
##############################
LOCAL LISTENER ENTRIES ###
##############################
only a single address is allowed here
LISTENER_TST_RACNODE1.WORLD =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = racnode1-vip)(PORT = 1527))
)
)
only a single address is allowed here
LISTENER_TST_RACNODE2.WORLD =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = racnode2-vip)(PORT = 1527))
)
)
###############################
REMOTE LISTENER ENTRIES ###
###############################
add more address entries for remote listeners if necessary
REMOTE_LISTENER_TST_RACNODE1.WORLD =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = racnode2-vip)(PORT = 1527))
)
# (CONNECT_DATA =(SERVICE_NAME = REMOTE_LISTENER_TST_RACNODE1.WORLD))
)
REMOTE_LISTENER_TST_RACNODE2.WORLD =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = racnode1-vip)(PORT = 1527))
)
# (CONNECT_DATA =(SERVICE_NAME = REMOTE_LISTENER_TST_RACNODE2.WORLD))
)
########################################
SERVICE ENTRY FOR GENERAL SAP CI ###
########################################
TST.WORLD =
(DESCRIPTION =
(ADDRESS_LIST =
(LOAD_BALANCE=ON)
(ADDRESS = (PROTOCOL = TCP)(HOST = racnode1-vip)(PORT = 1527))
(ADDRESS = (PROTOCOL = TCP)(HOST = racnode2-vip)(PORT = 1527))
)
(CONNECT_DATA =
(SERVICE_NAME = TST.WORLD)
(GLOBAL_NAME = TST.WORLD)
(FAILOVER_MODE =(TYPE = SELECT)(METHOD = BASIC))
)
)
SERVICE ENTRY FOR CONNECT TO INSTANCE TST1 ###
TST1.WORLD =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = racnode1-vip)(PORT = 1527))
)
(CONNECT_DATA =
(SID = TST1)(GLOBAL_NAME = TST.WORLD)
)
)
SERVICE ENTRY FOR CONNECT TO INSTANCE TST2 ###
TST2.WORLD =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = racnode2-vip)(PORT = 1527))
)
(CONNECT_DATA =
(SID = TST2)(GLOBAL_NAME = TST.WORLD)
)
)
DEFAULT SERVICE ENTRY FOR CONNECT TO ANY INSTANCE ###
TST_D00.WORLD =
(DESCRIPTION =
(ADDRESS_LIST =
(LOAD_BALANCE=ON)
(ADDRESS = (PROTOCOL = TCP)(HOST = racnode1-vip)(PORT = 1527))
(ADDRESS = (PROTOCOL = TCP)(HOST = racnode2-vip)(PORT = 1527))
)
(CONNECT_DATA =
(SERVICE_NAME = TST_D00.WORLD)
(GLOBAL_NAME = TST.WORLD)
(FAILOVER_MODE =(TYPE = SELECT)(METHOD = BASIC))
)
)
EXTPROC_CONNECTION_DATA =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0)))(CONNECT_DATA =(SID = PLSExtProc)(PRESENTATION = RO)))
listener.ora
=========
listener.ora Network Configuration File: F:\oracle\TST\102\network\admin\listener.ora
Generated by Oracle configuration tools.
LISTENER_TST_RACNODE2 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = racnode2-vip)(PORT = 1527)(IP = FIRST))
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.11.0.126)(PORT = 1527)(IP = FIRST))
)
)
LISTENER_TST_RACNODE1 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = racnode1-vip)(PORT = 1527)(IP = FIRST))
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.11.0.125)(PORT = 1527)(IP = FIRST))
)
)
################
Filename......: listener.ora
Created.......: created by SAP AG, R/3 Rel. >= 6.10
Name..........:
Date..........:
@(#) $Id: //bc/640-2/src/ins/SAPINST/impl/tpls/ora/ind/LISTENER.ORA#4 $
################
CONNECT_TIMEOUT_LISTENER = 10
SID_LIST_LISTENER_TST_RACNODE2 =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = F:\oracle\TST\102)
(PROGRAM = extproc)
)
(SID_DESC =
(SID_NAME = TST2)
(ORACLE_HOME = F:\oracle\TST\102)
)
)
SID_LIST_LISTENER_TST_RACNODE1 =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = F:\oracle\TST\102)
(PROGRAM = extproc)
)
(SID_DESC =
(SID_NAME = TST1)
(ORACLE_HOME = F:\oracle\TST\102)
)
)
STARTUP_WAIT_TIME_LISTENER = 0
ADMIN_RESTRICTIONS_LISTENER = on
TRACE_LEVEL_LISTENER = OFF
sqlnet.ora
========
AUTOMATIC_IPC = ON
TRACE_LEVEL_CLIENT = OFF
NAMES.DEFAULT_DOMAIN = WORLD
NAME.DEFAULT_ZONE = WORLD
SQLNET.EXPIRE_TIME = 1
SQLNET.AUTHENTICATION_SERVICES = (NTS)
TCP.NODELAY=YES
SQLNET.INBOUND_CONNECT_TIMEOUT=120
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
88 | |
23 | |
11 | |
9 | |
8 | |
5 | |
5 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.