iseries datasource lock timeout - websphere

we're having an issue with lock timeouts connecting from a was 6 server to an iseries v6r1 db.
We have the default table and record lock wait times on the relevant tables, however these seem to be overridden by the transaction (http://publib.boulder.ibm.com/infocenter/iseries/v6r1m0/index.jsp?topic=/rzakj/rzakjrecords.htm) suggests this is what's happening.
We're using the XA toolbox driver (com.ibm.as400.access.AS400JDBCXADataSource); does anyone know where we can configure the default lock wait time on this driver? I can't find any documentation anywhere.
Thanks in advance.

If you are having problems finding answers trying posting your message to WEB400 at midrange.com. There are several people who use WebSphere App Server on there.

Related

Datasource changes to secondary on run time if primary is offline

I have to deal with the following scenario for spring application with Oracle database:
Spring application uses the primary database. In the meantime the secondary database stores data for disaster recovery (from primary).
The first step is currently provided. At this moment I have to implement:
When the primary database gets offline application should change the connection to the secondary database).
The implementation should be programmatically. How can I achieve that without changing the code that currently exists? Is there any working solution (library)?
I think about AbstractRoutingDataSource and ping databases (e.g. every 5 seconds) but I'm not sure about this solution.
So, let's to summarize the issue. I was unable to use Oracle RAC (Real Application Cluster). If the implementation should be programmatically you can try AbstractRoutingDataSource approche.
I have implemented timer that pings current database every 1 second (you can use validation query and check if you can read from database... if no we assume there is no connection and we can switch a datasource).
Thanks to that I was able to change datasource on runtime when current datasource is offline. What is more important it was automatic.
On the other hand, there are disadvantages:
For short time user can see the errors if the database is not
switched yet.
Some part of application may stop working if it is not properly
secured against the lack of connection to the database.

Tibco process gets stuck at JDBC query activity intermittently, How to indentify what is the issue?

Tibco process instance is getting hung/Stuck at particular JDBC query activity every now and then, After restart of Tibco interface from admin,it works fine.
This is an intermittent issue.
anyone has idea, what could be the problem?
==> Tried connecting DB directly from SQL developer while the process was stuck in Tibco, it worked fine from SQL developer. So assuming it should not be a connection issue.
==> The process is not even getting timeout, sometime it gets stuck till few days before we realize.
Please let me know if you need more details on this issue
Thanks in advance

What should be approach?

Try to be more clear, I'm in lack of ideas in this problem, even it sounds like a classic.
My application is running on weblogic 10.3.3 application server, and for database I am using Oracle database 11g. My problem is that there is table in db, let's say "user.", there is column, let's say "columnA", in this table. This table is updating by some module of application.
What I want if when value of column is "abc.", then I have to show alert to console(IP). {IP can be retrieved from DB as it is configured in DB. this ip will be other linux system other than linux machine where oracle database is installed.} Updating is continuously done on my table from module of application. Please tell me from where should I start?, what should I read. I am not able to understand what should be approach. Any help is much appreciated.
A trigger on the table can call UTL_HTTP to communicate with another machine (eg call a RESTful API).
The architectural questions are :
This will happen PRIOR to the commit so you may get false alerts if a change is rolled back
If you wait for a response, it will slow the system down.
What do you do if you get an non-standard response (eg the other server isn't available)

Java Hibernate Oracle sessions never get closed

I'm opening some Oracle sessions from a java-hibernate app. When I shutdown my java-hibernate application, the oracle sessions remain opened, even if the java process is not seen as running with ps -fea | grep java.
The problem is that this oracle sessions never die, they remain there and the only way to kill them is either manually kill oracle process, restart the oracle instance or restart the unix box where oracle resides.
My java/hibernate app always closes the session with a final statement in the source code, no matter what.
Thanks in advance.
Is difficult to help you without more information, but I thing I can guess. When you open or close sessions using hibernate you probably dont open real oracle sessions. Hibernate may use a pool or control when open or not a real session. So, your problem is not close your java session after each statement but to correctly close and finish hibernate's pool or whatever before kill your app.
Please post more information so i dont have to guess :)

Connect to Oracle database without using TNS Listener

Just out of curiosity, a few days ago we had a discussion about whether there is a way to connect to the DB without using TNS Listener, the connection must be made by any program SQLPlus. Net, ODBC, and so on.
Basically only local connections can avoid the listener (ie you have to be already logged on to the machine that the database instance is running on).
Rather than relying on a listener to fork out a process to act on behalf of the connection, this is done by the local process. Generally it means that the local user needs to be run as 'oracle' as well. Sort of equivalent to a console logic.
It appears there isn't one magic bullet, but there are several ways.
For ODBC, have a look at this SO question.
There's a lot of good info at Connectionstrings.com/oracle as well.
You connect to Oracle via a client, such as sqplplus, or a java program (or tool) utilizing a protocol such as SQL*NET or JDBC (as examples) through the listener. The listener in turn forks a process on the target database (or assigns the connection to an existing process if you use shared servers).

Resources