cancel
Showing results for 
Search instead for 
Did you mean: 

SMP 3.0 - database failover

former_member220966
Participant
0 Kudos

Hi experts,

We have the following set up in our production SMP landscape.

We have 2 application nodes(active-active), requests are routed to these nodes via a Cisco load balancer. We have 2 database nodes(active-standby), only one of the DB nodes is active at a given time. In case the primary DB node goes down, requests are routed to the other node(which was on standby earlier).

I have the following questions:

- In case the primary DB node fails, do we need to restart SMP to make it point/failover to the other DB node? Or is there a way this can be

   automated?

- I want to try this on my local SMP installation. Is there a way for me to switch off the Derby database on my local machine(I went ahead with the

   developer installation not the production installation)? I want to see how the application behaves when the DB is shut down.

Thank you for your help.

Cheers,

Abhinav

Tas edited by: Jitendra Kansal (Moderator)

Accepted Solutions (1)

Accepted Solutions (1)

former_member220966
Participant
0 Kudos

Bill,

Thank you for your reply. One of the members from my client's BASIS team was awesome enough to try this and share the learning with me, I am posting it here so that all can benefit.

Following behavior was seen:

When a database failover happens, SMP stops and restarts itself.  Then it keeps checking for successful database connection.  When a successful connection is made, it initializes the bundles again.

Here are some logs:

SMPServerStatusManager: The SMP server has initialized and is ready.

Exception in thread "Thread-20" Local Exception Stack:

Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.4.1.v20121003-ad44345): org.eclipse.persistence.exceptions

.DatabaseException

Internal Exception: java.sql.SQLRecoverableException: IO Error: The Network Adapter could not establish the connection

Error Code: 17002

… …

… …

        at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:370)

        ... 111 more

Persistence bundle stopping...

Persistence bundle stopped.

SMPServerStatusManager: The SMP server stopped.

SMPServerStatusManager: The SMP server is restarting...

RESTARTING

Checking DB...

Failed to verify database status on startup:java.sql.SQLRecoverableException: IO Error: The Network Adapter could not est

ablish the connection

Checking DB...

Failed to verify database status on startup:java.sql.SQLRecoverableException: IO Error: The Network Adapter could not est

ablish the connection

Checking DB...

… …

(SMP keeps checking for DB connection)

… …

Checking DB...

DB connection successful.

Succeeded Version Check.

Cheers,

Abhinav

bill_froelich
Product and Topic Expert
0 Kudos

Great!


If your question has been answered, please mark this Discussion with a Correct Answer and Helpful Answer where appropriate.  See http://scn.sap.com/community/support/blog/2013/04/03/how-to-close-a-discussion-and-why   Even if you discovered the solution without any outside contributions, it helps others to understand what the solution turned out to be.


--Bill

Answers (2)

Answers (2)

bill_froelich
Product and Topic Expert
Product and Topic Expert
0 Kudos

Abhinav,

You will need to reinstall SMP in production mode on your local machine and point to the Oracle instance (along with the necessary DB setup).  I think this will be more of a function of how Oracle handles the request than SMP.   If the Oracle connection seamlessly switches normally I would expect the same behavior with SMP. 

All that being said, your plan to test and confirm is the right path as you don't want to assume here without testing.

Let us know how it goes!

--Bill

0 Kudos

Moving from to as more resources to assist there.

Regards, Mike (Moderator)