Re: dynamic lib ignored even after "found" in "install_driver(Oracle) failed: Can't load..." cgi problem



On 2007-09-03 19:42:10 +0200, Ralph Wecks wrote:
It looks like permission issue - but I think it is not.

For validation purposes I installed 2 SUN Enterprises (called C- and
D-System), both with
- Solaris 10
- Oracle 10.2.0 (Admin Client)
- DBI 1.58
- DBD Oracle 1.19
- our application

[C works, D doesn't. Probably irrelevant differences in installed software snipped]

Trying to logon to our form management's database the message "Cant't load
Oracle.so ... libclntsh.so.10.1 not found ..." appears. But all permissions
seemed to be sufficient. So I enabled webserver daemon's profile and logged
in as webservd. Walking through oracle's directories I made a cat
libclntsh.so.10.1 at .../lib32. Yery interesting content but no permission
problem.

At this point, it seems that the error message would be correct:
- After running a chmod -R 777 on the /oracle directory the logon procedure
works fine
- Revoking permission with a chmod -R 755 /oracle didn't had any effect,
logon goes on
- After chmod -R 644 on .../lib32 logon works fine furthermore
- Logon failed again with "libclntsh.so.10.1 not found" after running a
chmod -R 644 on /oracle

Some functions, procedures or what ever in the oracle dbm tree obviously
needs executable rights.

You haven't written where your libraries are installed, but from /oracle
and .../lib32 I conclude that the path to libclntsh.so.10.1 is something
like /oracle/.../lib32/libclntsh.so.10.1 (probably
/oracle/app/oracle/product/client/lib32/libclntsh.so.10.1, but it
doesn't matter much what's between oracle and lib32). To access files in
a directory, a process needs execute permissions on that directory.

So by changing the permissions on /oracle to 644, you were preventing
all root processes from accessing everything below that directory. If
that works on your "C" system, then either your application is running
as root or it is really using a different oracle client installation.

Basically the same is true for .../lib32. If that directory has
permissions 644, no non-root process can access the files in it, which
means that libclntsh.so.10.1 cannot be loaded. However, if your
application was already running at the time you did the chmod, it was
already loaded and continued to work as long as it could access other
files below /oracle which it needed to open at runtime (e.g.,
tnsnames.ora).

hp

--
_ | Peter J. Holzer | If I wanted to be "academically correct",
|_|_) | Sysadmin WSR | I'd be programming in Java.
| | | hjp@xxxxxxxxx | I don't, and I'm not.
__/ | http://www.hjp.at/ | -- Jesse Erlbaum on dbi-users

Attachment: pgpDbP5KCSdLY.pgp
Description: PGP signature



Relevant Pages

  • RE: install_driver(Oracle) failed while connecting to oracle 10.2.0.2
    ... oracle version was 9i) in ... The permissions on your Oracle installation are not letting Perl ... Tech Mahindra, formerly Mahindra-British Telecom. ...
    (perl.dbi.users)
  • Compiling and running DBD for Oracle 10g without installing Oracle
    ... I recently had to compile the DBD modules for Oracle 10g on machines, ... perl, DBI etc. of recent enough version ... Oracle 10g installation disk for your architecture (available at ...
    (perl.dbi.users)
  • Compiling and running DBD for Oracle 10g without installing Oracle
    ... I recently had to compile the DBD modules for Oracle 10g on machines, ... perl, DBI etc. of recent enough version ... Oracle 10g installation disk for your architecture (available at ...
    (perl.dbi.users)
  • Asp.net/vb and Oracle
    ... setup on other machines where I have installed the Oracle 9i client, ... Oracle 9.0 odbc drivers will connect to my oracle database when debugging. ... Oracle client and networking components were not found. ... later client software installation. ...
    (microsoft.public.dotnet.framework.aspnet)
  • RE: Asp.net/vb and Oracle
    ... Oracle Provider for OLE DB components, as well as the orcle Data Provider for ... setup on other machines where I have installed the Oracle 9i client, ... Oracle client and networking components were not found. ... later client software installation. ...
    (microsoft.public.dotnet.framework.aspnet)