[Sqlrelay-discussion] If oracle8 username invalid will sqlrelay attempt to reconnect until username
Brought to you by:
mused
|
From: Ragnar R. <rr...@mi...> - 2006-11-07 12:45:28
|
Hi.
I run sqlrelay against a oracle9 database.
The reason is to avoid connection setup overhead and to
avoid my client app using more than one oracle session to each
database. Also it should provide fault recovery
(Compared to a client which does not have reconnect
logic when db goes down)
If an oracle8 username is invalid for the moment,
will sqlrelay retry to connect until it is valid?
If the TNSNAMES.ORA does not list the supplied oracle_sid
will sqlrelay retry to connect until it is valid?
SQLrelay should be able to recover from all types of
situations where the database it is relaying to goes temporarily
unavailable etc.
I had to set maxlisteners="10" to
avoid sqlrelay from forcing my system to its knees when a database goes
away. maxlisteners should not default to -1 in my opinion.
(should have read the docs)
Example when user not available:
----
starting sqlrelay
Starting listener:
sqlr-listener -id E2FOO -config /usr/local/firstworks/etc/sqlrelay.conf
Starting 1 connections to E2FOO :
sqlr-connection-oracle8 -id E2FOO -connectionid E2FOO -config
/usr/local/firstworks/etc/sqlrelay.conf
OCISessionBegin() failed.
error: ORA-01017: invalid username/password; logon denied
Couldn't log into database.
Now it seems that the listener does not bind to its port (9001).
Is this desired? Will the listener become available when the
username does?
Config:
<instance id="E2FOO" addresses="127.0.0.1" port="9001"
unixport="/tmp/sqlrelay.e2FOO.socket" dbase="oracle8" connections="1"
maxconnections="1" maxqueuelength="0" growby="1" maxlisteners="10"
ttl="600" endofsession="rollback" sessiontimeout="60" runasuser="batch"
runasgroup="nuucp" cursors="5" authtier="listener" handoff="reconnect"
deniedips="" allowedips="" debug="none" maxquerysize="65536"
maxstringbindvaluelength="4000" maxlobbindvaluelength="71680"
idleclienttimeout="-1">
<users>
<user user="foo" password="foo"/>
</users>
<connections>
<connection connectionid="E2FOO"
string="user=FOOtools;password=FOOtools;oracle_sid=E2FOO"
metric="1" behindloadbalancer="no"/>
</connections>
</instance>
|