tyronetse
asked on
Expected Outcome of Testing Failover on Oracle RAC 10G R 2 database
I installed Oracle 10g RAC On Windows 2003 Using VMware Server, in order to test to see if my companies Websphere J2EE application would run on Oracle RAC database. I had to change the JDBC URL format from "jdbc:oracle:thin:@<hostna me>:1521:O RCL"
to
"jdbc:oracle:thin:@(DESCRI PTION=(ADD RESS_LIST= (ADDRESS=( PROTOCOL=T CP)(HOST=r ac1-vip)(P ORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HO ST=rac2-vi p)(PORT=15 21))
(LOAD_BALANCE=yes))(CONNEC T_DATA=(SE RVICE_NAME =RAC.WORLD )))"
Once I did that, the J2EE application was able to connect to the Oracle RAC database and application ran fine.
I then decided to test Oracle failure, by simply disconnecting the rac1-vip Node from the network, I expected that my J2EE application would still work, as the second Oracle RAC Node rac2-vip is still connected to the network.
This did not happen, and my J2EE application lost its connection to the database.
I was also connected to the database via my TOAD client, and this also lost its connection to the database.
What should of been the expected outcome of disabling one of the clustered nodes in an Oracle RAC'd database? Should the database connection of been lost or not?
Could it be the Websphere server or could it be the version of the Oracle Thin JDBC drivers that my J2EE application is using?
to
"jdbc:oracle:thin:@(DESCRI
(ADDRESS=(PROTOCOL=TCP)(HO
(LOAD_BALANCE=yes))(CONNEC
Once I did that, the J2EE application was able to connect to the Oracle RAC database and application ran fine.
I then decided to test Oracle failure, by simply disconnecting the rac1-vip Node from the network, I expected that my J2EE application would still work, as the second Oracle RAC Node rac2-vip is still connected to the network.
This did not happen, and my J2EE application lost its connection to the database.
I was also connected to the database via my TOAD client, and this also lost its connection to the database.
What should of been the expected outcome of disabling one of the clustered nodes in an Oracle RAC'd database? Should the database connection of been lost or not?
Could it be the Websphere server or could it be the version of the Oracle Thin JDBC drivers that my J2EE application is using?
Try like this : jdbc:oracle:thin:@(DESCRIP TION=(ADDR ESS=(PROTO COL=TCP)(H OST=vip-db 01-lisqa.c tn)(PORT=1 529))(ADDR ESS=(PROTO COL=TCP)(H OST=vip-db 02-lisqa.c tn)(PORT=1 529))
(LOAD_BALANCE=yes)(CONNECT _DATA=(SER VER=DEDICA TED)
(SERVICE_NAME=QADB)(FAILOV ER_MODE=(T YPE=SELECT )(METHOD=B ASIC)
(RETRIES=180)(DELAY=5))))
Also present the output :
sql > show parameter remote_listener
LSNRCTL > start remote_listener vaule
Present the output of the above two syntax and try with the above jdbc connect string alter is as per your requ.
(LOAD_BALANCE=yes)(CONNECT
(SERVICE_NAME=QADB)(FAILOV
(RETRIES=180)(DELAY=5))))
Also present the output :
sql > show parameter remote_listener
LSNRCTL > start remote_listener vaule
Present the output of the above two syntax and try with the above jdbc connect string alter is as per your requ.
ASKER
I logged into sqlplus as sys and did the command
sql > show parameter remote_listener
Which returned
LISTENERS_WRAC
I then opended another windows cmd window and did the command
LSNRCTL > start remote_listener LISTENERS_WRAC
TNS-01151: Missing listener name, remote_listener, in LISTENER.ORA
Here are the contents of the database servers LISTENER.ORA file
SID_LIST_LISTENER_WRAC1 =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\oracle\product\10.2.0\d b_1)
(PROGRAM = extproc)
)
)
LISTENER_WRAC1 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = wrac1-vip.localdomain)(POR T = 1521)(IP = FIRST))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.241)(PORT = 1521)(IP = FIRST))
)
)
sql > show parameter remote_listener
Which returned
LISTENERS_WRAC
I then opended another windows cmd window and did the command
LSNRCTL > start remote_listener LISTENERS_WRAC
TNS-01151: Missing listener name, remote_listener, in LISTENER.ORA
Here are the contents of the database servers LISTENER.ORA file
SID_LIST_LISTENER_WRAC1 =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\oracle\product\10.2.0\d
(PROGRAM = extproc)
)
)
LISTENER_WRAC1 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = wrac1-vip.localdomain)(POR
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.241)(PORT = 1521)(IP = FIRST))
)
)
did you change your connect string to include the failover_mode?
also...
change your remote_listener to "LISTENER_WRAC1" instead of "LISTENER_WRAC"
also...
change your remote_listener to "LISTENER_WRAC1" instead of "LISTENER_WRAC"
ASKER
When you say set failover_mode do you mean like this in my JDBC url string
jdbc:oracle:thin:@(DESCRIP TION=(ADDR ESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HO ST=dbhost1 )(PORT=152 1))
(ADDRESS=(PROTOCOL=TCP)(HO ST=dbhost2 )(PORT=152 1))
(LOAD_BALANCE=yes)(FAILOVE R=yes))
(CONNECT_DATA=(SERVICE_NAM E=MYDBNAME .WORLD)))
jdbc:oracle:thin:@(DESCRIP
(ADDRESS=(PROTOCOL=TCP)(HO
(ADDRESS=(PROTOCOL=TCP)(HO
(LOAD_BALANCE=yes)(FAILOVE
(CONNECT_DATA=(SERVICE_NAM
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Can the FAILOVER_MODE option be used with the Oracle Thin JDBC driver.
The TAF documentation says it is an OCI protocal which I think can only be used with the thick OCI JDBC driver and I've read under chapter Fast Connection Failover is supported under the Oracle Thin driver.
The TAF documentation says it is an OCI protocal which I think can only be used with the thick OCI JDBC driver and I've read under chapter Fast Connection Failover is supported under the Oracle Thin driver.
Hey ,
I m sorry instead of asking you for the status of remote listener,i mistakenly typed it as start.
Lnsrctl > status LISTENERS_WRAC
The above will show us the status of the registered service names. This will be more helpful for us to check the status of Load balance.
I m sorry instead of asking you for the status of remote listener,i mistakenly typed it as start.
Lnsrctl > status LISTENERS_WRAC
The above will show us the status of the registered service names. This will be more helpful for us to check the status of Load balance.
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Thanks for your help guys
also check your LISTENER configuration.
Read chapter 13 of the Net Services Admin guide about Transparent Failover