Mike Hedlund
Fri, 28 Nov 2003 11:13:21 -0800
I've attached a little script which replicates the problem on my machine as well as
the build session log for DBD::Oracle 1.14.
I've tested it using DBI 1.38 and DBI 1.28 with both DBD::Oracle 1.12 and 1.14.
Regardless of the DBI version, DBD::Oracle 1.14 leaks on my system and DBD::Oracle
1.12 does not. I've noticed the leak when calling connect_cached(), do() (or
prepare()/execute()/commit/finish).
-mike
-------------------- script ---------------
#!/usr/bin/perl
use strict;
use DBI;
my($dbp) = "dbi:Oracle:host=weirdo.com;port=1521;sid=SID";
my($dbu) = "username";
my($dbpass) = "password";
while (1) {
my($sth);
my(@row);
my($dbh) = DBI->connect_cached($dbp,$dbu,$dbpass) || die "Couldn't connect to
oracle db: $DBI::errstr\n";
##
## uncomment these and it just leaks faster.
##
# $sth = $dbh->prepare("SELECT * from FROM_STATS");
# $sth->execute;
# while(@row = $sth->fetchrow_array) {
##print "row: @row\n";
# }
# $sth->finish;
}
exit;
------------------------ end script --------------------
------------ log ---------------------------------------
Script started on Fri 28 Nov 2003 09:11:15 AM PST
[EMAIL PROTECTED] DBD-Oracle-1.14]$ setenv ORACLE_HOME /home/orahome
[EMAIL PROTECTED] DBD-Oracle-1.14]$ make realclean
rm -f blib/script/ora_explain
rm -rf Oracle.c Oracle.xsi dll.base dll.exp sqlnet.log libOracle.def ora_explain mk.pm
./blib Makefile.aperl blib/arch/auto/DBD/Oracle/extralibs.all perlmain.c tmon.out
mon.out so_locations pm_to_blib *.o *.a perl.exe perl perl Oracle.bs Oracle.bso
Oracle.def libOracle.def Oracle.exp Oracle.x core core.*perl.*.? *perl.core
mv Makefile Makefile.old > /dev/null 2>&1
rm -rf blib/lib/auto/DBD/Oracle blib/arch/auto/DBD/Oracle
rm -rf DBD-Oracle-1.14
rm -f blib/arch/auto/DBD/Oracle/Oracle.so blib/arch/auto/DBD/Oracle/Oracle.bs
rm -f blib/arch/auto/DBD/Oracle/Oracle.a
rm -f blib/lib/DBD/Oracle.pm blib/arch/auto/DBD/Oracle/dbdimp.h blib/lib/oraperl.ph
rm -f blib/arch/auto/DBD/Oracle/ocitrace.h blib/lib/Oraperl.pm
rm -f blib/arch/auto/DBD/Oracle/Oracle.h blib/arch/auto/DBD/Oracle/mk.pm
rm -f blib/lib/DBD/Oracle/GetInfo.pm
rm -rf Makefile Makefile.old
[EMAIL PROTECTED] DBD-Oracle-1.14]$ perl Makefile.PL -v
Using DBI 1.38 installed in
/usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/auto/DBI
Configuring DBD::Oracle ...
>>> Remember to actually *READ* the README file!
Especially if you have any problems.
Using Oracle in /home/orahome
WARNING: could not decode oracle version from
/home/orahome/orainst/inspdver, or /home/orahome/install/unix.rgs
or from ORACLE_HOME path /home/orahome.
Oracle version based logic in Makefile.PL may produce erroneous results.
Found header files in rdbms/public rdbms/demo.
Found /home/orahome/rdbms/demo/demo_rdbms.mk
Found /home/orahome/otrace/demo/atmoci.mk
Found /home/orahome/precomp/demo/proc/demo_proc.mk
Using /home/orahome/rdbms/demo/demo_rdbms.mk
Reading /home/orahome/rdbms/demo/demo_rdbms.mk
Reading /home/orahome/rdbms/lib/env_rdbms.mk
Read a total of 2202 lines from /home/orahome/rdbms/lib/env_rdbms.mk (including
inclusions)
Read a total of 2493 lines from /home/orahome/rdbms/demo/demo_rdbms.mk (including
inclusions)
Deleted SHELL definition: SHELL=/bin/sh
Deleted LIB_EXT definition: LIB_EXT=a
Deleted OBJ_EXT definition: OBJ_EXT=o
Deleted AR definition: AR=ar
Deleted AS definition: AS=as
Deleted CC definition: CC=cc
Deleted CHMOD definition: CHMOD=chmod
Deleted CPP definition: CPP=cpp
Deleted ECHO definition: ECHO=echo
Deleted LD definition: LD=ld
Deleted PERL definition: PERL=perl
Deleted CFLAGS definition: CFLAGS=$(GFLAG) $(OPTIMIZE) $(CDEBUG) $(CCFLAGS) $(PFLAGS)\
$(SHARED_CFLAG) $(USRFLAGS)
Deleted LDFLAGS definition: LDFLAGS=-o $@ $(LDPATHFLAG)$(PRODLIBHOME)
$(LDPATHFLAG)$(LIBHOME)
Deleted LDFLAGS definition: LDFLAGS=-o $@ $(LDPATHFLAG)$(PRODLIBHOME)
$(LDPATHFLAG)$(LIBHOME) $(LDPATHFLAG)$(LIBHOME)stubs/
Deleted OPTIMIZE definition: OPTIMIZE=$(OPTIMIZE3)
Deleted AR definition: AR=/usr/bin/ar
Deleted AS definition: AS=/usr/bin/as
Deleted LD definition: LD=/usr/bin/ld
Deleted CPP definition: CPP=/lib/cpp
Deleted CHMOD definition: CHMOD=/bin/chmod
Deleted ASFLAGS definition: ASFLAGS=
Deleting ORA_NLS = $(ORACLE_HOME)/ocommon/nls/admin/data/
because it is not already set in the environment
and it can cause ORA-01019 errors.
Deleted ORA_NLS definition: ORA_NLS = $(ORACLE_HOME)/ocommon/nls/admin/data/
Deleting ORA_NLS33 = $(ORACLE_HOME)/ocommon/nls/admin/data/
because it is not already set in the environment
and it can cause ORA-01019 errors.
Deleted ORA_NLS33 definition: ORA_NLS33 = $(ORACLE_HOME)/ocommon/nls/admin/data/
Appending '/home/orahome/rdbms/lib/libskgxpd.a /home/orahome/rdbms/lib/libskgxpu.a
/home/orahome/rdbms/lib/libskgxpt.a' to EXTRALIBS
Appending '$(LIBHOME)libskgxp9.so' to SHLIBS
Appending '/home/orahome/rdbms/lib/libskgxp9.a' to LIBS
Appending '/home/orahome/rdbms/lib/libskgxns.a /home/orahome/rdbms/lib/libskgxnd.a
/home/orahome/rdbms/lib/libskgxnr.a' to EXTRALIBS
Appending '$(LIBHOME)libskgxn9.so' to SHLIBS
Appending '/home/orahome/rdbms/lib/libskgxn9.a' to LIBS
Evaluating `cat $(LIBHOME)sysliblist`
expanded `cat /home/orahome/lib/sysliblist`
returned '-ldl -lm -lpthread -lnsl '
Attempting to discover Oracle OCI build rules
gcc -c -o DBD_ORA_OBJ.o DBD_ORA_OBJ.c
by executing: (make -f /home/orahome/rdbms/demo/demo_rdbms.mk build ECHODO=echo
ECHO=echo GENCLNTSH='echo genclntsh' CC=echo OPTIMIZE= CCFLAGS= EXE=DBD_ORA_EXE
OBJS=DBD_ORA_OBJ.o)
returned:
[echo -L/home/orahome/lib/ -L/home/orahome/rdbms/lib/ -o DBD_ORA_EXE DBD_ORA_OBJ.o
-lclntsh `cat /home/orahome/lib/sysliblist` -ldl -lm
[-L/home/orahome/lib/ -L/home/orahome/rdbms/lib/ -o DBD_ORA_EXE DBD_ORA_OBJ.o -lclntsh
-ldl -lm -lpthread -lnsl -ldl -lm
]
reduced to:
[-L/home/orahome/lib/ -L/home/orahome/rdbms/lib/ -o DBD_ORA_EXE DBD_ORA_OBJ.o -lclntsh
-ldl -lm -lpthread -lnsl -ldl -lm
]
Oracle oci build command:
+ -L/home/orahome/lib/ -L/home/orahome/rdbms/lib/ -o DBD_ORA_EXE DBD_ORA_OBJ.o
-lclntsh -ldl -lm -lpthread -lnsl -ldl -lm
System: perl5.008 linux stripples.devel.redhat.com 2.4.21-1.1931.2.382.entsmp #1 smp
wed aug 6 17:18:52 edt 2003 i686 i686 i386 gnulinux
Compiler: gcc -O2 -g -pipe -march=i386 -mcpu=i686 -D_REENTRANT -D_GNU_SOURCE
-DTHREADS_HAVE_PIDS -DDEBUGGING -fno-strict-aliasing -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm
Linker: /usr/bin/ld
Sysliblist: -ldl -lm -lpthread -lnsl
Oracle makefiles would have used these definitions but we override them:
CC: cc
CFLAGS: $(GFLAG) $(OPTIMIZE) $(CDEBUG) $(CCFLAGS) $(PFLAGS)\
$(SHARED_CFLAG) $(USRFLAGS)
[$(GFLAG) -O3 $(CDEBUG) $(CCFLAGS) -I/home/orahome/rdbms/demo
-I/home/orahome/rdbms/public -I/home/orahome/plsql/public
-I/home/orahome/network/public -DLINUX -D_GNU_SOURCE -D_LARGEFILE64_SOURCE=1
-D_LARGEFILE_SOURCE=1 -DSLTS_ENABLE -DSLMXMX_ENABLE -D_REENTRANT -DNS_THREADS
$(LPFLAGS) $(USRFLAGS)]
LDFLAGS: -o $@ $(LDPATHFLAG)$(PRODLIBHOME) $(LDPATHFLAG)$(LIBHOME)
$(LDPATHFLAG)$(LIBHOME)stubs/
[-o $@ -L/home/orahome/rdbms/lib/ -L$(LIBHOME) -L$(LIBHOME)stubs/]
Linking with OTHERLDFLAGS = -L/home/orahome/lib/ -L/home/orahome/rdbms/lib/ -lclntsh
-ldl -lm -lpthread -lnsl -ldl -lm
[from 'build' rule]
MakeMaker (v6.03)
Checking if your kit is complete...
Looks good
ABSTRACT_FROM => q[Oracle.pm]
AUTHOR => q[Tim Bunce ([EMAIL PROTECTED])]
DEFINE => q[ -DUTF8_SUPPORT]
DIR => []
EXE_FILES => [q[ora_explain]]
INC => q[-I/home/orahome/rdbms/demo -I/home/orahome/rdbms/public
-I/home/orahome/plsql/public -I/home/orahome/network/public -I/home/orahome/rdbms/demo
-I/home/orahome/rdbms/public -I/home/orahome/rdbms/demo
-I/usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/auto/DBI]
NAME => q[DBD::Oracle]
OBJECT => q[$(O_FILES)]
PREREQ_PM => { DBI=>q[0] }
VERSION_FROM => q[Oracle.pm]
clean => { FILES=>q[Oracle.xsi dll.base dll.exp sqlnet.log libOracle.def ora_explain
mk.pm] }
dist => { DIST_DEFAULT=>q[clean distcheck disttest ci tardist], COMPRESS=>q[gzip
-v9], PREOP=>q[$(MAKE) -f Makefile.old distdir], SUFFIX=>q[gz] }
dynamic_lib => { OTHERLDFLAGS=>q[ -L/home/orahome/lib/ -L/home/orahome/rdbms/lib/
-lclntsh -ldl -lm -lpthread -lnsl -ldl -lm
] }
Using PERL=/usr/bin/perl
LD_RUN_PATH=/home/orahome/lib:/home/orahome/rdbms/lib
Using DBD::Oracle 1.14.
Using DBD::Oracle 1.14.
Using DBI 1.38 installed in
/usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/auto/DBI
Writing Makefile for DBD::Oracle
*** If you have problems...
read all the log printed above, and the README and README.help files.
(Of course, you have read README by now anyway, haven't you?)
[EMAIL PROTECTED] DBD-Oracle-1.14]$ make
cp Oracle.pm blib/lib/DBD/Oracle.pm
cp Oracle.h blib/arch/auto/DBD/Oracle/Oracle.h
cp dbdimp.h blib/arch/auto/DBD/Oracle/dbdimp.h
cp oraperl.ph blib/lib/oraperl.ph
cp ocitrace.h blib/arch/auto/DBD/Oracle/ocitrace.h
cp Oraperl.pm blib/lib/Oraperl.pm
cp mk.pm blib/arch/auto/DBD/Oracle/mk.pm
cp lib/DBD/Oracle/GetInfo.pm blib/lib/DBD/Oracle/GetInfo.pm
/usr/bin/perl -p -e "s/~DRIVER~/Oracle/g"
/usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/auto/DBI/Driver.xst > Oracle.xsi
/usr/bin/perl /usr/lib/perl5/5.8.0/ExtUtils/xsubpp -typemap
/usr/lib/perl5/5.8.0/ExtUtils/typemap Oracle.xs > Oracle.xsc && mv Oracle.xsc Oracle.c
gcc -c -I/home/orahome/rdbms/demo -I/home/orahome/rdbms/public
-I/home/orahome/plsql/public -I/home/orahome/network/public -I/home/orahome/rdbms/demo
-I/home/orahome/rdbms/public -I/home/orahome/rdbms/demo
-I/usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/auto/DBI -D_REENTRANT
-D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING -fno-strict-aliasing
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm
-O2 -g -pipe -march=i386 -mcpu=i686 -DVERSION=\"1.14\" -DXS_VERSION=\"1.14\" -fPIC
"-I/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE" -DUTF8_SUPPORT Oracle.c
gcc -c -I/home/orahome/rdbms/demo -I/home/orahome/rdbms/public
-I/home/orahome/plsql/public -I/home/orahome/network/public -I/home/orahome/rdbms/demo
-I/home/orahome/rdbms/public -I/home/orahome/rdbms/demo
-I/usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/auto/DBI -D_REENTRANT
-D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING -fno-strict-aliasing
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm
-O2 -g -pipe -march=i386 -mcpu=i686 -DVERSION=\"1.14\" -DXS_VERSION=\"1.14\" -fPIC
"-I/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE" -DUTF8_SUPPORT dbdimp.c
gcc -c -I/home/orahome/rdbms/demo -I/home/orahome/rdbms/public
-I/home/orahome/plsql/public -I/home/orahome/network/public -I/home/orahome/rdbms/demo
-I/home/orahome/rdbms/public -I/home/orahome/rdbms/demo
-I/usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/auto/DBI -D_REENTRANT
-D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING -fno-strict-aliasing
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm
-O2 -g -pipe -march=i386 -mcpu=i686 -DVERSION=\"1.14\" -DXS_VERSION=\"1.14\" -fPIC
"-I/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE" -DUTF8_SUPPORT oci7.c
gcc -c -I/home/orahome/rdbms/demo -I/home/orahome/rdbms/public
-I/home/orahome/plsql/public -I/home/orahome/network/public -I/home/orahome/rdbms/demo
-I/home/orahome/rdbms/public -I/home/orahome/rdbms/demo
-I/usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/auto/DBI -D_REENTRANT
-D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING -fno-strict-aliasing
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm
-O2 -g -pipe -march=i386 -mcpu=i686 -DVERSION=\"1.14\" -DXS_VERSION=\"1.14\" -fPIC
"-I/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE" -DUTF8_SUPPORT oci8.c
Running Mkbootstrap for DBD::Oracle ()
chmod 644 Oracle.bs
rm -f blib/arch/auto/DBD/Oracle/Oracle.so
LD_RUN_PATH="/home/orahome/lib:/home/orahome/rdbms/lib" gcc -shared -L/usr/local/lib
Oracle.o dbdimp.o oci7.o oci8.o -L/home/orahome/lib/ -L/home/orahome/rdbms/lib/
-lclntsh -ldl -lm -lpthread -lnsl -ldl -lm -o blib/arch/auto/DBD/Oracle/Oracle.so
chmod 755 blib/arch/auto/DBD/Oracle/Oracle.so
cp Oracle.bs blib/arch/auto/DBD/Oracle/Oracle.bs
chmod 644 blib/arch/auto/DBD/Oracle/Oracle.bs
/usr/bin/perl "-Iblib/arch" "-Iblib/lib" ora_explain.PL ora_explain
Extracted ora_explain from ora_explain.PL with variable substitutions.
cp ora_explain blib/script/ora_explain
/usr/bin/perl "-MExtUtils::MY" -e "MY->fixin(shift)" blib/script/ora_explain
Manifying blib/man3/DBD::Oracle.3pm
Manifying blib/man1/ora_explain.1
Manifying blib/man3/DBD::Oraperl.3pm
[EMAIL PROTECTED] DBD-Oracle-1.14]$ make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0,
'blib/lib', 'blib/arch')" t/*.t
t/base.......
t/base.......ok 1/5
t/base.......ok 2/5
t/base.......ok 3/5
t/base.......ok 4/5
t/base.......ok 5/5
t/base.......ok
t/cursor.....oracle: error while loading shared libraries: libodm9.so: cannot open
shared object file: No such file or directory
Unable to connect to Oracle as scott/tiger (ORA-12547: TNS:lost contact (DBD ERROR:
OCIServerAttach))
Tests skipped.
skipped
all skipped: no reason given
t/general....oracle: error while loading shared libraries: libodm9.so: cannot open
shared object file: No such file or directory
DBI connect('','scott/tiger',...) failed: ORA-12547: TNS:lost contact (DBD ERROR:
OCIServerAttach) at t/general.t line 20
Unable to connect to Oracle (ORA-12547: TNS:lost contact (DBD ERROR: OCIServerAttach))
Tests skiped.
skipped
all skipped: no reason given
t/long.......oracle: error while loading shared libraries: libodm9.so: cannot open
shared object file: No such file or directory
Unable to connect to Oracle (ORA-12547: TNS:lost contact (DBD ERROR: OCIServerAttach))
Tests skiped.
skipped
all skipped: no reason given
t/meta.......oracle: error while loading shared libraries: libodm9.so: cannot open
shared object file: No such file or directory
Unable to connect to Oracle as scott/tiger (ORA-12547: TNS:lost contact (DBD ERROR:
OCIServerAttach))
Tests skipped.
skipped
all skipped: no reason given
t/ph_type....oracle: error while loading shared libraries: libodm9.so: cannot open
shared object file: No such file or directory
DBI connect('','scott/tiger',...) failed: ORA-12547: TNS:lost contact (DBD ERROR:
OCIServerAttach) at t/ph_type.t line 26
Unable to connect to Oracle (ORA-12547: TNS:lost contact (DBD ERROR: OCIServerAttach))
Tests skipped.
skipped
all skipped: no reason given
t/plsql......oracle: error while loading shared libraries: libodm9.so: cannot open
shared object file: No such file or directory
Unable to connect to Oracle (ORA-12547: TNS:lost contact (DBD ERROR: OCIServerAttach))
Tests skiped.
skipped
all skipped: no reason given
t/reauth.....skipped
all skipped: no reason given
t/select.....oracle: error while loading shared libraries: libodm9.so: cannot open
shared object file: No such file or directory
Unable to connect to Oracle (ORA-12547: TNS:lost contact (DBD ERROR: OCIServerAttach))
Tests skiped.
skipped
all skipped: no reason given
All tests successful, 8 tests skipped.
Files=9, Tests=5, 7 wallclock secs ( 3.82 cusr + 0.33 csys = 4.15 CPU)
PERL_DL_NONLAZY=1 /usr/bin/perl "-Iblib/lib" "-Iblib/arch" test.pl
Oraperl test application $Revision: 1.7 $
Extra tests. These are less formal and you need to read the output
to see if it looks reasonable and matches what the tests says is expected.
Oraperl emulation interface version 1.43
DBD::Oracle 1.14 using OCI8 by Tim Bunce
DBI 1.38 by Tim Bunce
Data sources:
Connecting
to '' (from command line, else uses ORACLE_SID or TWO_TASK - recommended)
as 'scott/tiger' (via ORACLE_USERID env var or default - recommend name/[EMAIL
PROTECTED])
(ORACLE_SID='', TWO_TASK='')
oracle: error while loading shared libraries: libodm9.so: cannot open shared object
file: No such file or directory
DBI connect('','scott/tiger',...) failed: ORA-12547: TNS:lost contact (DBD ERROR:
OCIServerAttach) at /home/mike/tmp/DBD-Oracle-1.14/blib/lib/Oraperl.pm line 104
ora_login: 12547: ORA-12547: TNS:lost contact (DBD ERROR: OCIServerAttach)
Generally set TWO_TASK or ORACLE_SID but not both at the same time.
Try to connect to the database using an oracle tool like sqlplus
only if that works should you suspect problems with DBD::Oracle.
Try leaving dbname value empty and set dbuser to name/[EMAIL PROTECTED]
Test aborted.
make: *** [test_dynamic] Error 255
[EMAIL PROTECTED] DBD-Oracle-1.14]$ make test TEST_VERBOSE=1
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(1,
'blib/lib', 'blib/arch')" t/*.t
t/base.......1..5
ok 1
ok 2
ok 3
ok 4
ok 5
ok
t/cursor.....oracle: error while loading shared libraries: libodm9.so: cannot open
shared object file: No such file or directory
Unable to connect to Oracle as scott/tiger (ORA-12547: TNS:lost contact (DBD ERROR:
OCIServerAttach))
Tests skipped.
1..0
skipped
all skipped: no reason given
t/general....oracle: error while loading shared libraries: libodm9.so: cannot open
shared object file: No such file or directory
DBI connect('','scott/tiger',...) failed: ORA-12547: TNS:lost contact (DBD ERROR:
OCIServerAttach) at t/general.t line 20
Unable to connect to Oracle (ORA-12547: TNS:lost contact (DBD ERROR: OCIServerAttach))
Tests skiped.
1..0
skipped
all skipped: no reason given
t/long.......oracle: error while loading shared libraries: libodm9.so: cannot open
shared object file: No such file or directory
Unable to connect to Oracle (ORA-12547: TNS:lost contact (DBD ERROR: OCIServerAttach))
Tests skiped.
1..0
skipped
all skipped: no reason given
t/meta.......oracle: error while loading shared libraries: libodm9.so: cannot open
shared object file: No such file or directory
Unable to connect to Oracle as scott/tiger (ORA-12547: TNS:lost contact (DBD ERROR:
OCIServerAttach))
Tests skipped.
1..0
skipped
all skipped: no reason given
t/ph_type....oracle: error while loading shared libraries: libodm9.so: cannot open
shared object file: No such file or directory
DBI connect('','scott/tiger',...) failed: ORA-12547: TNS:lost contact (DBD ERROR:
OCIServerAttach) at t/ph_type.t line 26
Unable to connect to Oracle (ORA-12547: TNS:lost contact (DBD ERROR: OCIServerAttach))
Tests skipped.
1..0
skipped
all skipped: no reason given
t/plsql......oracle: error while loading shared libraries: libodm9.so: cannot open
shared object file: No such file or directory
Unable to connect to Oracle (ORA-12547: TNS:lost contact (DBD ERROR: OCIServerAttach))
Tests skiped.
1..0
skipped
all skipped: no reason given
t/reauth.....ORACLE_USERID_2 not defined.
Tests skiped.
1..0
skipped
all skipped: no reason given
t/select.....oracle: error while loading shared libraries: libodm9.so: cannot open
shared object file: No such file or directory
Unable to connect to Oracle (ORA-12547: TNS:lost contact (DBD ERROR: OCIServerAttach))
Tests skiped.
1..0
skipped
all skipped: no reason given
All tests successful, 8 tests skipped.
Files=9, Tests=5, 7 wallclock secs ( 3.85 cusr + 0.32 csys = 4.17 CPU)
PERL_DL_NONLAZY=1 /usr/bin/perl "-Iblib/lib" "-Iblib/arch" test.pl
Oraperl test application $Revision: 1.7 $
Extra tests. These are less formal and you need to read the output
to see if it looks reasonable and matches what the tests says is expected.
Oraperl emulation interface version 1.43
DBD::Oracle 1.14 using OCI8 by Tim Bunce
DBI 1.38 by Tim Bunce
Data sources:
Connecting
to '' (from command line, else uses ORACLE_SID or TWO_TASK - recommended)
as 'scott/tiger' (via ORACLE_USERID env var or default - recommend name/[EMAIL
PROTECTED])
(ORACLE_SID='', TWO_TASK='')
oracle: error while loading shared libraries: libodm9.so: cannot open shared object
file: No such file or directory
DBI connect('','scott/tiger',...) failed: ORA-12547: TNS:lost contact (DBD ERROR:
OCIServerAttach) at /home/mike/tmp/DBD-Oracle-1.14/blib/lib/Oraperl.pm line 104
ora_login: 12547: ORA-12547: TNS:lost contact (DBD ERROR: OCIServerAttach)
Generally set TWO_TASK or ORACLE_SID but not both at the same time.
Try to connect to the database using an oracle tool like sqlplus
only if that works should you suspect problems with DBD::Oracle.
Try leaving dbname value empty and set dbuser to name/[EMAIL PROTECTED]
Test aborted.
make: *** [test_dynamic] Error 255
[EMAIL PROTECTED] DBD-Oracle-1.14]$ perl _V[K[K-V
Summary of my perl5 (revision 5.0 version 8 subversion 0) configuration:
Platform:
osname=linux, osvers=2.4.21-1.1931.2.382.entsmp, archname=i386-linux-thread-multi
uname='linux str'
config_args='-des -Doptimize=-O2 -g -pipe -march=i386 -mcpu=i686
-Dmyhostname=localhost [EMAIL PROTECTED] -Dcc=gcc -Dcf_by=Red Hat, Inc.
-Dinstallprefix=/usr -Dprefix=/usr -Darchname=i386-linux -Dvendorprefix=/usr
-Dsiteprefix=/usr -Dotherlibdirs=/usr/lib/perl5/5.8.0 -Duseshrplib -Dusethreads
-Duseithreads -Duselargefiles -Dd_dosuid -Dd_semctl_semun -Di_db -Ui_ndbm -Di_gdbm
-Di_shadow -Di_syslog -Dman3ext=3pm -Duseperlio -Dinstallusrbinperl -Ubincompat5005
-Uversiononly -Dpager=/usr/bin/less -isr'
hint=recommended, useposix=true, d_sigaction=define
usethreads=define use5005threads=undef'
useithreads=define usemultiplicity=
useperlio= d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=un uselongdouble=
usemymalloc=, bincompat5005=undef
Compiler:
cc='gcc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING
-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
-I/usr/include/gdbm',
optimize='',
cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING
-fno-strict-aliasing -I/usr/local/include -I/usr/include/gdbm'
ccversion='', gccversion='3.2.2 20030222 (Red Hat Linux 3.2.2-5)', gccosandvers=''
gccversion='3.2.2 200302'
intsize=r, longsize=r, ptrsize=5, doublesize=8, byteorder=1234
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
ivtype='long'
k', ivsize=4'
ivtype='l, nvtype='double'
o_nonbl', nvsize=, Off_t='', lseeksize=8
alignbytes=4, prototype=define
Linker and Libraries:
ld='gcc'
l', ldflags =' -L/u'
libpth=/usr/local/lib /lib /usr/lib
libs=-lnsl -lgdbm -ldb -ldl -lm -lpthread -lc -lcrypt -lutil
perllibs=
libc=/lib/libc-2.3.2.so, so=so, useshrplib=true, libperl=libper
gnulibc_version='2.3.2'
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so', d_dlsymun=undef, ccdlflags='-rdynamic
-Wl,-rpath,/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE'
cccdlflags='-fPIC'
ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5', lddlflags='s Unicode/Normalize XS/A'
Characteristics of this binary (from libperl):
Compile-time options: DEBUGGING MULTIPLICITY USE_ITHREADS USE_LARGE_FILES
PERL_IMPLICIT_CONTEXT
Locally applied patches:
MAINT18379
Built under linux
Compiled at Aug 13 2003 11:47:58
@INC:
/usr/lib/perl5/5.8.0/i386-linux-thread-multi
/usr/lib/perl5/5.8.0
/usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.0
/usr/lib/perl5/site_perl
/usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.0
/usr/lib/perl5/vendor_perl
/usr/lib/perl5/5.8.0/i386-linux-thread-multi
/usr/lib/perl5/5.8.0
.
[EMAIL PROTECTED] DBD-Oracle-1.14]$ ^D
Script done on Fri 28 Nov 2003 09:16:43 AM PST
------------ end log -----------------------------------