Hi
Running some redhat servers and created some scripts that use DBI and
DBD::Oracle to access our 10.2.0.3 databases.
The script was built and tested and has been used successfully on dual core
64bit Xeon CPU servers and with as best as we can tell an identical
installation on some new quad core servers the script fails with the above
error.
We have tried a later version of DBI we were using the 1.40 version installed
as a RPM and have installed 1.59 using perl and make.
DBD::Oracle is 1.19
I have some strace output from where it fails running a simple piece of code
that simply connects the the system as / and runs select * from dual as well as
then would do a couple of log switches
open("/usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi/CORE/libclntsh.so.10.1",
O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/oracle/product/10g/srs/lib/libclntsh.so.10.1", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\311"..., 832) = 832
fstat(3, {st_dev=makedev(104, 2), st_ino=1583105, st_mode=S_IFREG|0750,
st_nlink=1, st_uid=500, st_gid=501, st_blksize=4096, st_blocks=40792,
st_size=20859839, st_atime=2007/10/04-08:23:43, st_mtime=2007/08/23-15:57:23,
st_ctime=2007/08/23-16:05:28}) = 0
mmap(NULL, 20553416, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
0x2a98723000
mprotect(0x2a99907000, 1793736, PROT_NONE) = 0
mmap(0x2a99a07000, 667648, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x11e4000) = 0x2a99a07000
mmap(0x2a99aaa000, 77512, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2a99aaa000
close(3) = 0
open("/usr/local/oracle/product/10g/srs/lib/libnnz10.so", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0000\245\f"..., 832) = 832
fstat(3, {st_dev=makedev(104, 2), st_ino=1583103, st_mode=S_IFREG|0644,
st_nlink=1, st_uid=500, st_gid=501, st_blksize=4096, st_blocks=7448,
st_size=3808761, st_atime=2007/10/04-08:23:43, st_mtime=2006/11/03-04:46:42,
st_ctime=2007/08/23-16:05:28}) = 0
mmap(NULL, 4860216, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
0x2a99abd000
mprotect(0x2a99daf000, 1771832, PROT_NONE) = 0
mmap(0x2a99eae000, 724992, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2f1000) = 0x2a99eae000
mmap(0x2a99f5f000, 2360, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2a99f5f000
close(3) = 0
mprotect(0x2a99abd000, 3088384, PROT_READ|PROT_WRITE) = 0
mprotect(0x2a99abd000, 3088384, PROT_READ|PROT_EXEC) = 0
mprotect(0x2a98723000, 18759680, PROT_READ|PROT_WRITE) = 0
mprotect(0x2a98723000, 18759680, PROT_READ|PROT_EXEC) = 0
mprotect(0x2a985f6000, 176128, PROT_READ|PROT_WRITE) = 0
mprotect(0x2a985f6000, 176128, PROT_READ|PROT_EXEC) = 0
write(2, "Had to create DBD::Oracle::dr::i"..., 140) = 140
write(2, "Use of uninitialized value in su"..., 129) = 129
brk(0x925000) = 0x925000
write(2, "Had to create DBD::Oracle::db::i"..., 140) = 140
write(2, "Use of uninitialized value in su"..., 129) = 129
write(2, "Undefined subroutine &DBD::Oracl"..., 139) = 139
open("/usr/share/locale/locale.alias", O_RDONLY) = 3
fstat(3, {st_dev=makedev(104, 1), st_ino=19664, st_mode=S_IFREG|0644,
st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=16, st_size=2528,
st_atime=2007/10/04-08:23:40, st_mtime=2006/02/09-09:02:24,
st_ctime=2007/08/14-03:33:24}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x2a99f60000
read(3, "# Locale name alias data base.\n#"..., 4096) = 2528
read(3, "", 4096) = 0
close(3) = 0
munmap(0x2a99f60000, 4096) = 0
open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT
(No such file or directory)
open("/usr/share/locale/en_US.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT
(No such file or directory)
open("/usr/share/locale/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No
such file or directory)
open("/usr/share/locale/en.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT
(No such file or directory)
open("/usr/share/locale/en.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No
such file or directory)
open("/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such
file or directory)
stat("/usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi/auto/DBI/DESTROY.al",
0x504140) = -1 ENOENT (No such file or directory)
open("/usr/local/oracle/admin/scripts/auto/DBI/DESTROY.al", O_RDONLY) = -1
ENOENT (No such file or directory)
open("/usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi/auto/DBI/DESTROY.al",
O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/perl5/5.8.5/auto/DBI/DESTROY.al", O_RDONLY) = -1 ENOENT (No such
file or directory)
open("/usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi/auto/DBI/DESTROY.al",
O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib64/perl5/site_perl/5.8.4/x86_64-linux-thread-multi/auto/DBI/DESTROY.al",
O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib64/perl5/site_perl/5.8.3/x86_64-linux-thread-multi/auto/DBI/DESTROY.al",
O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib64/perl5/site_perl/5.8.2/x86_64-linux-thread-multi/auto/DBI/DESTROY.al",
O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib64/perl5/site_perl/5.8.1/x86_64-linux-thread-multi/auto/DBI/DESTROY.al",
O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib64/perl5/site_perl/5.8.0/x86_64-linux-thread-multi/auto/DBI/DESTROY.al",
O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/perl5/site_perl/5.8.5/auto/DBI/DESTROY.al", O_RDONLY) = -1
ENOENT (No such file or directory)
open("/usr/lib/perl5/site_perl/5.8.4/auto/DBI/DESTROY.al", O_RDONLY) = -1
ENOENT (No such file or directory)
open("/usr/lib/perl5/site_perl/5.8.3/auto/DBI/DESTROY.al", O_RDONLY) = -1
ENOENT (No such file or directory)
open("/usr/lib/perl5/site_perl/5.8.2/auto/DBI/DESTROY.al", O_RDONLY) = -1
ENOENT (No such file or directory)
open("/usr/lib/perl5/site_perl/5.8.1/auto/DBI/DESTROY.al", O_RDONLY) = -1
ENOENT (No such file or directory)
open("/usr/lib/perl5/site_perl/5.8.0/auto/DBI/DESTROY.al", O_RDONLY) = -1
ENOENT (No such file or directory)
open("/usr/lib/perl5/site_perl/auto/DBI/DESTROY.al", O_RDONLY) = -1 ENOENT (No
such file or directory)
open("/usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi/auto/DBI/DESTROY.al",
O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib64/perl5/vendor_perl/5.8.4/x86_64-linux-thread-multi/auto/DBI/DESTROY.al",
O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib64/perl5/vendor_perl/5.8.3/x86_64-linux-thread-multi/auto/DBI/DESTROY.al",
O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib64/perl5/vendor_perl/5.8.2/x86_64-linux-thread-multi/auto/DBI/DESTROY.al",
O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib64/perl5/vendor_perl/5.8.1/x86_64-linux-thread-multi/auto/DBI/DESTROY.al",
O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib64/perl5/vendor_perl/5.8.0/x86_64-linux-thread-multi/auto/DBI/DESTROY.al",
O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/perl5/vendor_perl/5.8.5/auto/DBI/DESTROY.al", O_RDONLY) = -1
ENOENT (No such file or directory)
open("/usr/lib/perl5/vendor_perl/5.8.4/auto/DBI/DESTROY.al", O_RDONLY) = -1
ENOENT (No such file or directory)
open("/usr/lib/perl5/vendor_perl/5.8.3/auto/DBI/DESTROY.al", O_RDONLY) = -1
ENOENT (No such file or directory)
open("/usr/lib/perl5/vendor_perl/5.8.2/auto/DBI/DESTROY.al", O_RDONLY) = -1
ENOENT (No such file or directory)
open("/usr/lib/perl5/vendor_perl/5.8.1/auto/DBI/DESTROY.al", O_RDONLY) = -1
ENOENT (No such file or directory)
open("/usr/lib/perl5/vendor_perl/5.8.0/auto/DBI/DESTROY.al", O_RDONLY) = -1
ENOENT (No such file or directory)
open("/usr/lib/perl5/vendor_perl/auto/DBI/DESTROY.al", O_RDONLY) = -1 ENOENT
(No such file or directory)
open("./auto/DBI/DESTROY.al", O_RDONLY) = -1 ENOENT (No such file or directory)
exit_group(2)
And here is what is happening around the same place when it runs on the dual
core systems
open("/usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi/CORE/libclntsh.so.10.1",
O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/oracle/product/10g/db1/lib/libclntsh.so.10.1", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\311"..., 832) = 832
fstat(3, {st_dev=makedev(104, 2), st_ino=2173986, st_mode=S_IFREG|0750,
st_nlink=1, st_uid=500, st_gid=501, st_blksize=4096, st_blocks=40800,
st_size=20859839, st_atime=2007/10/04-08:24:15, st_mtime=2007/01/13-11:50:14,
st_ctime=2007/09/01-02:00:47}) = 0
mmap(NULL, 20553416, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
0x2a98729000
mprotect(0x2a9990d000, 1793736, PROT_NONE) = 0
mmap(0x2a99a0d000, 667648, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x11e4000) = 0x2a99a0d000
mmap(0x2a99ab0000, 77512, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2a99ab0000
close(3) = 0
open("/usr/local/oracle/product/10g/db1/lib/libnnz10.so", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0000\245\f"..., 832) = 832
fstat(3, {st_dev=makedev(104, 2), st_ino=2174113, st_mode=S_IFREG|0644,
st_nlink=1, st_uid=500, st_gid=501, st_blksize=4096, st_blocks=7456,
st_size=3808761, st_atime=2007/10/04-08:24:15, st_mtime=2006/11/03-04:46:42,
st_ctime=2007/09/01-02:01:27}) = 0
mmap(NULL, 4860216, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
0x2a99ac3000
mprotect(0x2a99db5000, 1771832, PROT_NONE) = 0
mmap(0x2a99eb4000, 724992, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2f1000) = 0x2a99eb4000
mmap(0x2a99f65000, 2360, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2a99f65000
close(3) = 0
mprotect(0x2a99ac3000, 3088384, PROT_READ|PROT_WRITE) = 0
mprotect(0x2a99ac3000, 3088384, PROT_READ|PROT_EXEC) = 0
mprotect(0x2a98729000, 18759680, PROT_READ|PROT_WRITE) = 0
mprotect(0x2a98729000, 18759680, PROT_READ|PROT_EXEC) = 0
mprotect(0x2a985f6000, 200704, PROT_READ|PROT_WRITE) = 0
mprotect(0x2a985f6000, 200704, PROT_READ|PROT_EXEC) = 0
brk(0x925000) = 0x925000
mmap(NULL, 143360, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x2a99f66000
open("/usr/local/oracle/product/10g/db1/lib/libociei.so", O_RDONLY) = -1 ENOENT
(No such file or directory)
open("/usr/local/oracle/product/10g/db1/lib/libociicus.so", O_RDONLY) = -1
ENOENT (No such file or directory)
open("/usr/local/oracle/product/10g/db1/nls/data/lx1boot.nlb", O_RDONLY) = 3
read(3, "\0\0\0\3\0\3 \n\20W\0\0(\307\215\0\0\0\0\0\1\0C\0\273\0"..., 48) = 48
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 22240) =
22240
close(3)
If someone can point me in the direction of where to even look to verifiying
this as a bug in these servers (highly likely) or what is missing or wrong it
would be appreciated
uname -a
2.6.9-34.ELsmp #1 SMP Fri Feb 24 16:56:28 EST 2006 x86_64 x86_64 x86_64
GNU/Linux
]# perl -v
This is perl, v5.8.5 built for x86_64-linux-thread-multi
Perl modules have been installed as root and this is being run nunder the
oracle user which installed the Oracle executables
Cheers
--
Peter McLarty
Database Administrator
Student System Upgrade Project
Central Queensland University
Email: [EMAIL PROTECTED]
Phone: 07 4923 2876
Fax: 07 4923 2721
Mobile: 04 0209 4238