When I try to start the command line interface of lsnrctl, it says:
"Message 850 not found; No message file for product=network, facility=NL"
It's a Linux (Fedora Core 2) system, and listener control was working as
usual until I added an entry in /etc/ld.so.conf.
I added a /usr/lib/oracle/.... path (not $ORACLE_HOME/lib), because
otherwise apache with php & oracle support wouldn't start. That
/usr/lib/ora... directory has some file copies of the standard
$ORACLE_HOME/lib directory which were created automatically during a php
installation.
Well, now that Apache/PHP starts up, the listener control won't work
anymore.
Any advice would be greatly appreciated.
Thanks in advance,
Can Özdemir
Are the environment variables ORACLE_HOME and ORACLE_SID set correctly
in the .profile?
--
Daniel Morgan
http://www.outreach.washington.edu/ext/certificates/oad/oad_crs.asp
http://www.outreach.washington.edu/ext/certificates/aoa/aoa_crs.asp
damo...@x.washington.edu
(replace 'x' with a 'u' to reply)
Yes, the home directory of the linux user being set up for oracle, contains
a .bash_profile file, which has entries for
ORACLE_BASE
ORACLE_HOME
ORACLE_SID
ORACLE_TERM
DISABLE_HUGETLBFS
LD_LIBRARY_PATH
LD_ASSUME_KERNEL
Are you sure, you didn't messed up your Oracle enviromnent variables?
Errors like this occur usually when Oracle is not able to find the
placement of error messages.
--
Dusan Bolek
http://www.db-support.com
Email: spa...@seznam.cz
Pls add "Not Guilty" to the subject, otherwise your email will face an
unpleasant end as SPAM.
My etc/ld.so.conf looked like this in its original form:
include ld.so.conf.d/*.conf
/usr/lib/mysql
/usr/X11R6/lib
All I did, was adding a path (/usr/lib/oracle/10.1.0.2/client/lib). This
path has been created by a php installation script.
Then I deleted /etc/ld.so.cache and executed ldconfig.
After this step, apache would start (with the warning: [warn] module
php4_module is already loaded, skipping) - before this step it didn't start
at all.
But the lsnrctl utility doesn't work anymore. If I undo my changes (delete
last line in ld.so.conf, delete ld.so.cache and execute ldconfig), lsnrctl
utility is working again. But then apache won't start - "Syntax error on
line 198 of ...../httpd.conf:
Cannot load /usr/lib/httpd/modules/libphp4.so into server:
libclntsh.so.10.1: cannot open shared object file: No such file or
directory"
Alas I don't have deep insight into this ld stuff, but obviously it has
something to do with that...
A solution could be to have two different users, one which starts the
listnere and the other for apache. In this case keep ld.so.config
without the line you added and have two different LD_LIBRARY_PATH for user.
Another way is to modify listener.ora adding something like:
(ENVS="LD_LIBRARY_PATH=/u01/app/oracle/product/9.2/lib:/u01/app/oracle/product/9.2/ctx/lib"))
but in this case you could have problems with others oracle binaries who
have been compiled dynamically.
(By the way: what's the PATH for your oracle user? Which bynary are you
using as lsnrctl? Try with the command "which lsnrctl").
Hopying it will help you
Fabrizio Magni
--
Fabrizio Magni
replace mycontinent with europe
If I keep ld.so.config without the additional line, and write path names in
the LD_LIBRARY_PATH env variable, apache refuses to start. The only way
until now, to get apache to start was the ld.so.config file.
I just tried it as root: I set the env variable with the command:
LD_LIBRARY_PATH=/usr/lib/oracle/10.1.0.2/client/lib; export LD_LIBRARY_PATH
but still apache wouldn't start.
Only if I write the same path in ld.so.config...
> Another way is to modify listener.ora adding something like:
>
>
(ENVS="LD_LIBRARY_PATH=/u01/app/oracle/product/9.2/lib:/u01/app/oracle/produ
ct/9.2/ctx/lib"))
>
> but in this case you could have problems with others oracle binaries who
> have been compiled dynamically.
I've tried this right now. Embedded in the SID_DESC entries, I added the
right library path, but oracle lsnrctl gave the same error message. These
env. variables are only taken into consideration if the listener control
utilty tries to start a specific listener. If it just tries to start the
binary, they don't seem to influence anything. :-(
> (By the way: what's the PATH for your oracle user? Which bynary are you
> using as lsnrctl? Try with the command "which lsnrctl").
which lsnrctl says:
/usr/local/oracle/product/10.1.0/bin/lsnrctl
(It's an Oracle 10g Database)
The PATH env. variable for the oracle user is set to:
PATH=/usr/local/oracle/product/10.1.0/bin:/usr/sbin:/usr/kerberos/bin:/usr/l
ocal/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/oracle/bin
Thanks for your suggestions ;)
kind regards,
Can Oezdemir
Ok... from your answers I have a couple of doubts.
What's the user who starts apache? the command? Once the process is
running what's is owned user?
A ls -l of the executable and a ps whould be useful.
If you run it as oracle but then it is a root process than the command
has the suitid bit set so LD_LIBRARY_PATH is useless.
May you post the value of the following variables
LD_LIBRARY_PATH
PATH
ORACLE_HOME
of all the users involved?
Can wrote:
> "FM" <fabrizi...@mycontinent.com> schrieb im Newsbeitrag
> news:ZVFAc.493326$rM4.20...@news4.tin.it...
>
>
> If I keep ld.so.config without the additional line, and write path names in
> the LD_LIBRARY_PATH env variable, apache refuses to start. The only way
> until now, to get apache to start was the ld.so.config file.
> I just tried it as root: I set the env variable with the command:
>
> LD_LIBRARY_PATH=/usr/lib/oracle/10.1.0.2/client/lib; export LD_LIBRARY_PATH
>
> but still apache wouldn't start.
> Only if I write the same path in ld.so.config...
>
LD_LIBRARY_PATH has to be set for the oracle user (if it has to be
evaluated by the listener).
>
>
>>Another way is to modify listener.ora adding something like:
>>
>>
>
> (ENVS="LD_LIBRARY_PATH=/u01/app/oracle/product/9.2/lib:/u01/app/oracle/produ
> ct/9.2/ctx/lib"))
>
>>but in this case you could have problems with others oracle binaries who
>>have been compiled dynamically.
>
>
> I've tried this right now. Embedded in the SID_DESC entries, I added the
> right library path, but oracle lsnrctl gave the same error message. These
> env. variables are only taken into consideration if the listener control
> utilty tries to start a specific listener. If it just tries to start the
> binary, they don't seem to influence anything. :-(
>
>
This was a stupi suggest from me. That parameters works only for child
processes.
>
>>(By the way: what's the PATH for your oracle user? Which bynary are you
>>using as lsnrctl? Try with the command "which lsnrctl").
>
>
> which lsnrctl says:
> /usr/local/oracle/product/10.1.0/bin/lsnrctl
> (It's an Oracle 10g Database)
>
> The PATH env. variable for the oracle user is set to:
>
> PATH=/usr/local/oracle/product/10.1.0/bin:/usr/sbin:/usr/kerberos/bin:/usr/l
> ocal/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/oracle/bin
>
>
It seems your ORACLE_HOME _is_ /usr/local/oracle/product/10.1.0
Are you sure you are not confusing users or variables?
>
> Thanks for your suggestions ;)
>
> kind regards,
> Can Oezdemir
>
>
I have some time to spare before my friends are taking me at some
elektro-house party...
(if you are still online)
Fabrizio
FM wrote:
>
> It seems your ORACLE_HOME _is_ /usr/local/oracle/product/10.1.0
> Are you sure you are not confusing users or variables?
>
Forget about this.
From a poster on OTN I found somebody who messed with php and two
installation of oracle. He compiled PHP with the OCI header but it could
be useful for your issue as well.
He copied libclntsh.so.10.1, libnnz10.so and libociei.so form the second
installation to the first one (so from your client installation to
$ORACLE_HOME/lib).
Set LD_LIBRARY_PATH of the oracle user to $ORACLE_HOME/lib and delete
the usual entry in ld.so.conf (and run ldconfig).
Then try again.
Instead of a copy I believe you can simply create three soft links.
Unfortunately I can't test anything from here. I'll have to connect to
the office... I'll try everything tomorrow.
And here another quotation:
"For PHP you only need libociei.so, libnnz10.so and libclnts.so.10.1
from the Instant Client package. If re-compiling won't be needed, you
can copy these libs to a directory of your choice and deinstall Oracle
to save disk space."
Bet libclnts.so.10.1 was libclntsh.so.10.1
Let me know if it helps...
If I untertake these steps, neither apache nor lsnrctl works. The
interesting thing is:
Even if I *only* copy libociei.so to the $ORACLE_HOME/lib directory, lsnrctl
can't start. Initially there was no libociei.so in the $ORACLE_HOME/lib
directory. So I didn't even overwrite anything. I just copied one file, and
lsnrctl stopped to work.
If I copy all of the 3 files, it still doesn't work. (2 files have been
overwritten during this process).
I just restored the 2 files from a backup, and deleted libociei.so from
$ORACLE_HOME/lib - now lsnrctl is able to start again. (But apache still
isn't *gg* because of ld.so.conf)
> And here another quotation:
>
> "For PHP you only need libociei.so, libnnz10.so and libclnts.so.10.1
> from the Instant Client package. If re-compiling won't be needed, you
> can copy these libs to a directory of your choice and deinstall Oracle
> to save disk space."
> Bet libclnts.so.10.1 was libclntsh.so.10.1
>
Yeah, I read that too...and I believe it's true. But the problem is how to
tell apache where to find those files. ;)
kind regards,
Can
I'm starting apache2, logged in as root, by typing:
service httpd start
ls -l /usr/sbin/httpd gave me, after starting apache2:
.... 1 root root 263640 6. Mai 13:17 /usr/sbin/httpd
ps -A printed, after a bunch of other stuff:
3560 ? 00:00:00 httpd
3563 ? 00:00:00 httpd
3564 ? 00:00:00 httpd
3565 ? 00:00:00 httpd
3566 ? 00:00:00 httpd
3567 ? 00:00:00 httpd
3568 ? 00:00:00 httpd
3569 ? 00:00:00 httpd
3570 ? 00:00:00 httpd
> If you run it as oracle but then it is a root process than the command
> has the suitid bit set so LD_LIBRARY_PATH is useless.
>
I only run oracle processes as user oracle (listener, emca, database,
sqlplus...)
> May you post the value of the following variables
> LD_LIBRARY_PATH
> PATH
> ORACLE_HOME
>
> of all the users involved?
>
user root:
LD_LIBRARY_PATH=/usr/lib/oracle/10.1.0.2/client/lib
PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sb
in:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin
no ORACLE_HOME (but even if I set it, apache doesn't start)
user oracle:
LD_LIBRARY_PATH=/usr/local/oracle/product/10.1.0/lib:/lib:/usr/lib
PATH=/usr/local/oracle/product/10.1.0/bin:/usr/sbin:/usr/kerberos/bin:/usr/l
ocal/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/oracle/bin
ORACLE_HOME=/usr/local/oracle/product/10.1.0
ld.so.conf does right now not contain /usr/lib/oracle/10.1.0.2/client/lib,
so apache does not start. If I change it, lsnrctl (run as user oracle)
doesn't start, although all variables are always set.
I even tried to set LD_CONFIG_PATH for user root...with no success. But I
don't know the difference between LD_CONFIG_PATH an ...library_path
anyway...
>
> I have some time to spare before my friends are taking me at some
> elektro-house party...
> (if you are still online)
>
Your name sounds italian...so you did not watch the football game? *g*
greetings from Vienna,
Can
Hi again,
I posted the apache-specific part of the problem in an apache newsgroup and
the problem is solved now ;o)))
Solution:
"Davide Bianchi" <davidey...@onlyforfun.net> schrieb im Newsbeitrag
news:2jhl2fF...@uni-berlin.de...
> Can <n...@spam.net> wrote:
> > I tried setting the path with "LD_LIBRARY_PATH=...." but that couldn't
get
> > apache to start...
>
> You have to set that into the script that start Apache itself
> (apachectl).
And it really works: I just added the library path in apachectl, and in
/etc/rc.d/init.d/httpd. Now I don't need the line in ld.so.conf anymore, and
both oracle's listener and apache2 are working.
Thank you for your help and your time, too!
kind regards,
Can Oezdemir
I think this is because you are using your own apache (the one in the
fedora distribution).
Yesterday I got the CDs. Maybe today I'll have fun installing it and
trying what you did.
By the way: Davide Bianchi? Probably he was watching the football match,
as well, from NL...
Fabrizio
--
Right, I'm using the apache distribution (2.0.49) supplied with Fedora.
By the way: I couldn't even find where the Oracle 10g apache server is
located *g*.
greets,
Can Oezdemir