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



Meanwihle I see something clearer.

Seeing that my "database related errors" based on a misconfigured
application and not on Oracle or DBD problems, I recognized that our error
message doesn't mean what it says. And this could be a good finding relate
to the libclntsh.so.10.1 issue.

The behaviour of my test environment lets draw a possible conclusion: The
error message "Can't load libclntsh.so.10.1 ... permission denied" causes
not only in libclntsh.so.10.1 itself but in files, libclntsh.so.10.1 has
access to. "Can't load libclntsh.so.10.1 ... permission denied" possibly
means "Can't initialize or execute libclntsh.so.10.1 properly, whatever
needed file has less permission rights".

To validate my assumption, I installed on C-System the Perl-Interpreter
including DBI/DBD I tested with on D-System. But on C-System I had no chance
to replicate permission problems. All works fine.

What could it be? A forgotten execution of root.sh or something else during
installation of oracle's admin client?

Ralph Wecks

________________________________

B-I-T GmbH
Beratung fuer Informationsmanagement und Telekommunikation
Essener Straße 1 D-30173 Hannover
Telefon: +49(0)511 80 71 90-0 Telefax: +49(0)511 80 71 90-25
________________________________


-----Ursprüngliche Nachricht-----
Von: Peter J. Holzer [mailto:hjp@xxxxxxxxx]
Gesendet: Dienstag, 4. September 2007 10:06
An: dbi-users@xxxxxxxx
Betreff: 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

.



Relevant Pages

  • Re: How my other Unix account can access oracle binaries?
    ... Other than change file permission by chmod or add dba group in my ... make sure the suid bit of the Oracle executable is set. ... Your installation is incorrect, otherwise you wouldn't have faced this ...
    (comp.databases.oracle.server)
  • Re: How my other Unix account can access oracle binaries?
    ... I have a question after I installed Oracle 10g. ... permission in the binary files, such as, sqlplus. ... Other than change file permission by chmod or add dba group in my ... Your installation is incorrect, otherwise you wouldn't have faced this ...
    (comp.databases.oracle.server)
  • 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)