[Sqlrelay-discussion] sqlr-listener-0.4X dies with Oracle10g x86_64
Brought to you by:
mused
|
From: Ignacio B. <ign...@gm...> - 2009-05-07 21:10:00
|
Hi guys,
I'm using sqlrelay-0.39.4 on my 64bits server:
Operative System: RHEL5U2 x86_64
GCC version: 4.1.2 20071124 (Red Hat 4.1.2-42)
Rudiments version: 0.31
Oracle Client: oracle-instantclient-basic-10.2.0.3-1.x86_64.rpm
oracle-instantclient-devel-10.2.0.3-1.x86_64.rpm
oracle-instantclient-jdbc-10.2.0.3-1.x86_64.rpm
oracle-instantclient-sqlplus-10.2.0.3-1.x86_64.rpm
This version works fine on my web server (i have installed in
/usr/local/firstworks), but sometimes, after has many visits
simultaneous and CPU load is high, i must restart apache2, and
sqlr-connection-oracle8 proccess hangs and then i can't stop sqlrelay
(sqlr-stop)
I have read the ChangeLog of new versions, i want test these news
version: I'm trying run sqlrelay-0.41, sqlrelay-0.40, and
sqlrelay-CVS_HEAD compiled with-oracle support on my server, like i
done for sqlrelay-0.39.4 and using the same programs and libraries.
I'm using "stow" command for the compilation, because i can test
diferent versions.
The Oracle Instantclient x86_64 installs the libraries at
/usr/lib/oracle/10.2.0.3/client64/lib/ and the includes at
/usr/include/oracle/10.2.0.3/client64. I have edit to "configure"
file (after tar xzvf VERSION_SQLRELAY.tgz) and apply this patch:
--------8<-- Patch_on_configure ------8<---------------
22994c22994
< if ( test -r
"/usr/lib/oracle/$version/client/lib/libclntsh.$SOSUFFIX" -a -r
"/usr/include/oracle/$version/client/oci.h" )
---
> if ( test -r "/usr/lib/oracle/$version/client64/lib/libclntsh.$SOSUFFIX" -a -r "/usr/include/oracle/$version/client64/oci.h" )
22997,22999c22997,22999
< ORACLELIBSPATH="/usr/lib/oracle/$version/client/lib"
< ORACLELIBS="-L/usr/lib/oracle/$version/client/lib -lclntsh -lnnz10"
< ORACLEINCLUDES="-I/usr/include/oracle/$version/client"
---
> ORACLELIBSPATH="/usr/lib/oracle/$version/client64/lib"
> ORACLELIBS="-L/usr/lib/oracle/$version/client64/lib -lclntsh -lnnz10"
> ORACLEINCLUDES="-I/usr/include/oracle/$version/client64"
--------8<-- Patch_on_configure ------8<---------------
Then, for compile 0.41, i executed:
--------8<---- commands for compile -------8<-------------
./configure --prefix=/usr/local/stow/sqlrelay-0.41 --disable-python
--disable-mysql --disable-postgresql --disable-sqlite
--disable-freetds --disable-sybase --disable-odbc --disable-db2
--disable-firebird --disable-mdbtools --disable-perl --disable-zope
--disable-ruby --disable-java --disable-tcl --disable-gtk
make
make install
# With these lines i can install on /usr/local/bin, /usr/local/lib,
etc, with stow.
cd /usr/local/stow
cp /usr/local/firstworks/etc/sqlrelay.conf sqlrelay-0.41/etc/
stow sqlrelay-0.41
--------8<---- commands for compile -------8<-------------
Then, execute these commands to launch SQLRelay
-------8<-------launch sqlrelay ----------8<--------------
export LD_LIBRARY_PATH=/usr/lib/oracle/10.2.0.3/client64/lib:/usr/local/lib:${LD_LIBRARY_PATH}
export TNS_ADMIN=/home
export NLS_LANG=American_America.WE8ISO8859P1
sqlr-start -id oracletest
-------8<-------launch sqlrelay ----------8<--------------
And i obtain this output....
-------8<-------output--------------------8<--------------
Starting listener:
sqlr-listener -id oracletest -config
/usr/local/stow/sqlrelay-0.41/etc/sqlrelay.conf
Starting 5 connections to oracletest :
sqlr-connection-oracle8 -id oracletest -connectionid oracletest
-config /usr/local/stow/sqlrelay-0.41/etc/sqlrelay.conf
sqlr-connection-oracle8 -id oracletest -connectionid oracletest
-config /usr/local/stow/sqlrelay-0.41/etc/sqlrelay.conf
sqlr-connection-oracle8 -id oracletest -connectionid oracletest
-config /usr/local/stow/sqlrelay-0.41/etc/sqlrelay.conf
sqlr-connection-oracle8 -id oracletest -connectionid oracletest
-config /usr/local/stow/sqlrelay-0.41/etc/sqlrelay.conf
sqlr-connection-oracle8 -id oracletest -connectionid oracletest
-config /usr/local/stow/sqlrelay-0.41/etc/sqlrelay.conf
Starting scaler:
sqlr-scaler -id oracletest -config
/usr/local/stow/sqlrelay-0.41/etc/sqlrelay.conf
sqlr-scaler error:
The file /usr/local/stow/sqlrelay-0.41/var/sqlrelay/tmp/pids/sqlr-listener-oracletest
was not found.
This usually means that the sqlr-listener is not running.
The sqlr-listener must be running for the sqlr-scaler to start.
sqlr-scaler failed to start.
Thanks to MP3.com for sponsoring:
Clustered/Replicated database support.
Perl API.
Thanks to FeedLounge for sponsoring:
Query routing and filtering.
-------8<-------output--------------------8<--------------
It seems that, when start the maximum sqlr-connection-oracle8
connections that i have configured in sqlrelay.conf (five in my case)
, the sqlr-listener proccess dies, and then sqlr-scaler startup fails,
because it can't found sqlr-listener-oracletest.
I have try some versions: sqlrelay-0.41, sqlrelay-0.40, and
sqlrelay-CVS_HEAD, and most recents Oracle Instants clients for 64bits
(10.2.0.4) and all versions upper than 0.39.4, i obtained de same
result, in the same server ...
- what am I doing wrong?
- Is a bug?
- what can I do to debug if it's a configuration problem?
thanks in advance,
Ignacio Barrancos.
|