I have an EAR app running on WAS and connecting to a oracle db to run a stored proc.
Now the stored proc takes a long time to run. So the firewall between the WAS and the oracle server closes down after 30 min. Is there an oracle configuration that will allow the firewall to remain open? Increasing the timeout is not an option here.
If the firewall is closing the connection because of inactivity, you can set the sqlnet.ora parameter sqlnet.expire_time
on the server to ping the client every N minutes. Normally, this is used for dead connection detection so that the server can determine that a client application died with an open connection. But that may work to prevent the firewall from deciding that the connection has been inactive too long. If, on the other hand, the firewall simply disallows connections that last longer than 30 minutes regardless of inactivity, this setting won't have any impact.
Architecturally, do you really want your application making a 30 minute stored procedure call, though? It would seem more appropriate for the application to make a call that submits a job that runs the stored procedure asynchronously. The web application can then periodically poll the database to see whether the job is still running if you want to display some sort of progress bar to the user.