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:@<hostname>:1521:ORCL"
to
"jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=rac1-vip)(PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=rac2-vip)(PORT=1521))
(LOAD_BALANCE=yes))(CONNECT_DATA=(SERVICE_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?

tyronetseAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

sdstuberCommented:
You need to set your FAILOVER_MODE

also check your LISTENER configuration.

Read chapter 13 of the Net Services Admin guide about Transparent Failover
0
anand_2000vCommented:
Try like this : jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=vip-db01-lisqa.ctn)(PORT=1529))(ADDRESS=(PROTOCOL=TCP)(HOST=vip-db02-lisqa.ctn)(PORT=1529))
(LOAD_BALANCE=yes)(CONNECT_DATA=(SERVER=DEDICATED)
(SERVICE_NAME=QADB)(FAILOVER_MODE=(TYPE=SELECT)(METHOD=BASIC)
(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.

0
tyronetseAuthor Commented:
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\db_1)
      (PROGRAM = extproc)
    )
  )

LISTENER_WRAC1 =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = wrac1-vip.localdomain)(PORT = 1521)(IP = FIRST))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.241)(PORT = 1521)(IP = FIRST))
    )
  )



0
Big Business Goals? Which KPIs Will Help You

The most successful MSPs rely on metrics – known as key performance indicators (KPIs) – for making informed decisions that help their businesses thrive, rather than just survive. This eBook provides an overview of the most important KPIs used by top MSPs.

sdstuberCommented:
did you change your connect string to include the failover_mode?


also...

change your remote_listener to "LISTENER_WRAC1"  instead of "LISTENER_WRAC"
0
tyronetseAuthor Commented:
When you say set failover_mode do you mean like this in my JDBC url string

jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=dbhost1)(PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=dbhost2)(PORT=1521))
(LOAD_BALANCE=yes)(FAILOVER=yes))
(CONNECT_DATA=(SERVICE_NAME=MYDBNAME.WORLD)))
0
sdstuberCommented:
no

failover_mode is a more complicated subclause in the connect string.

anand2000v has an example above.

Depending on your setup and requirements there are many options as to how you might want to failover.
Chapter 13 of the Net Services Admin Guide explains each option and the available settings for each.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
tyronetseAuthor Commented:
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.

0
anand_2000vCommented:
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.
0
anand_2000vCommented:
Yes, JDBC thin driver supports TAF. Also it support FCF ( Fast Connection Failover) with JDBC thin Driver. FCF needs some alteration on the Jboss side ( You need to use XA data source to use FCF ).

We have Jboss TAF implemented in our Production and works fine for last two years. Our production works with 10g R2 RAC.

Please go thro the below metalink doucment and also

Doc id :433827.1

http://download-west.oracle.com/docs/cd/B19306_01/java.102/b14355/part6.htm

0
tyronetseAuthor Commented:
Thanks for your help guys
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Oracle Database

From novice to tech pro — start learning today.