on 02-07-2007 7:34 PM
Hello.
I have followed the SAP note 113747 and still no luck running brbackup from DB13 or as dd0adm on Solaris command line. The problem I see is brbackup can't find the libclntsh.so.10.1.
Our environment is Solars 5.9, Oracle 9.2, R/3 Ent 4.7, brtools 7.0 (which requires Oracle 10g client).
Problem:
litudsap6:dd0adm 14% brbackup
ld.so.1: brbackup: fatal: libclntsh.so.10.1: open failed: No such file or directory
Killed
From what I have read, Solaris ignores the LD_LIBRARY_PATH when the SUID bit is set (which 'chmod 4775 brbackup' as oradd0 did).
Here is the short of the note 113747:
(1)
ora<sid> and <sid>adm on DB server have a search path on /sapmnt/<SID>/exe. (All br* and sapdba are contained in this directory.)
ora<sid> belongs to the dba group,
<sid>adm belongs to the sapsys group,
(2)
<sid>adm on the database server has the rhosts entry: "+ <sid>adm".
(3)
The ops$<sid>adm Oracle user must be created in the DB and must have the sapdba role (not DBA!) (refer to Note 134592 for more information about the role).
(4)
brarchive, brbackup, brconnect, brtools have permission 4775:
-rwsrwxr-x ora<sid> sapsys ...
These can be started by the ora<sid> or the <sid>adm OS user.
brrestore, brrecover, brspace, and sapdba have permission 755:
-rwxr-xr-x <sid>adm sapsys ...
These can only be started by the ora<sid> OS user.
My test results as sidadm:
litudsap6:dd0adm 16% env |grep PATH
PATH=/sapmnt/DD0/exe:/oracle/DD0/920_64/bin:/export/home/dd0adm:/usr/sap/DD0/SYS/exe/run:/usr/bin:.:/usr/ccs/bin:/usr/ucb
litudsap6:dd0adm 15% groups
sapsys dba taxware
litudsap6:dd0adm 13% cat ~/.rhosts
+ dd0adm
sasedp01 dp0adm
sasedpc0 dp0adm
litudsap6:dd0adm 9% which brbackup
/sapmnt/DD0/exe/brbackup
litudsap6:dd0adm 10% ls -l /sapmnt/DD0/exe/brbackup
-rwsrwxr-x 1 oradd0 sapsys 5665896 Dec 7 14:12 /sapmnt/DD0/exe/brbackup
litudsap6:dd0adm 11% env |grep LD_LIBRARY_PATH
LD_LIBRARY_PATH=/oracle/client/10x_64/instantclient_10202:/usr/sap/DD0/SYS/exe/run:/oracle/DD0/920_64/lib
litudsap6:dd0adm 14% brbackup
ld.so.1: brbackup: fatal: libclntsh.so.10.1: open failed: No such file or directory
Killed
With chmod 4775 brbackup Oracle client not found:
litudsap6:dd0adm 18% ldd -v /sapmnt/DD0/exe/brbackup |grep clntsh
find object=libclntsh.so.10.1; required by /sapmnt/DD0/exe/brbackup
libclntsh.so.10.1 => (file not found)
With chmod 775 brbackup Oracle client is found:
litudsap6:dd0adm 19% ldd -v /sapmnt/DD0/exe/brbackup |grep clntsh
find object=libclntsh.so.10.1; required by /sapmnt/DD0/exe/brbackup
libclntsh.so.10.1 => /oracle/client/10x_64/instantclient_10202/libclntsh.so.10.1
1) ldd /usr/sap/DD0/SYS/exe/run/brbackup
libdl.so.1 => /usr/lib/64/libdl.so.1
libnsl.so.1 => /usr/lib/64/libnsl.so.1
libsocket.so.1 => /usr/lib/64/libsocket.so.1
libm.so.1 => /usr/lib/64/libm.so.1
libclntsh.so.10.1 => /oracle/client/10x_64/instantclient/libclntsh.so.10.1
libnnz10.so => /oracle/client/10x_64/instantclient/libnnz10.so
libCstd.so.1 => /usr/lib/64/libCstd.so.1
libCrun.so.1 => /usr/lib/64/libCrun.so.1
libw.so.1 => /usr/lib/64/libw.so.1
libc.so.1 => /usr/lib/64/libc.so.1
libmp.so.2 => /usr/lib/64/libmp.so.2
libkstat.so.1 => /usr/lib/64/libkstat.so.1
libgen.so.1 => /usr/lib/64/libgen.so.1
libsched.so.1 => /usr/lib/64/libsched.so.1
libaio.so.1 => /usr/lib/64/libaio.so.1
librt.so.1 => /usr/lib/64/librt.so.1
libmd5.so.1 => /usr/lib/64/libmd5.so.1
/usr/platform/SUNW,Sun-Fire-V490/lib/sparcv9/libc_psr.so.1
/usr/platform/SUNW,Sun-Fire-V490/lib/sparcv9/libmd5_psr.so.1
2) ldd /oracle/client/10x_64/instantclient/libclntsh.so.10.1
libnnz10.so => /oracle/DD0/920_64/lib/libnnz10.so
libkstat.so.1 => /usr/lib/64/libkstat.so.1
libnsl.so.1 => /usr/lib/64/libnsl.so.1
libsocket.so.1 => /usr/lib/64/libsocket.so.1
libgen.so.1 => /usr/lib/64/libgen.so.1
libdl.so.1 => /usr/lib/64/libdl.so.1
libsched.so.1 => /usr/lib/64/libsched.so.1
libaio.so.1 => /usr/lib/64/libaio.so.1
librt.so.1 => /usr/lib/64/librt.so.1
libm.so.1 => /usr/lib/64/libm.so.1
libc.so.1 => /usr/lib/64/libc.so.1
libmp.so.2 => /usr/lib/64/libmp.so.2
libmd5.so.1 => /usr/lib/64/libmd5.so.1
/usr/platform/SUNW,Sun-Fire-V490/lib/sparcv9/libc_psr.so.1
/usr/platform/SUNW,Sun-Fire-V490/lib/sparcv9/libmd5_psr.so.1
3) I downloaded OCL10264.SAR, ran SAPCAR, did a cmp on each one to /oracle/client/10x_64/instantclient and there were no diffs.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Also, could the problem be that I'm pointing to 9i NLS files with ORA_NLS33 when brbackup is using 10g instantclient?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
Please, check the following for me. I'm interested in this case.
<quote>
Our environment is Solars 5.9, Oracle 9.2, R/3 Ent 4.7, brtools 7.0 (which requires Oracle 10g client).
<quote>
BRTOOLS 700 should use instant client 10g. ORA_NLS33 is no used.
if it is giving you an ORA-12705, that means that the instantclient is not finding the correct shared library.
<quote>
bash-2.05$ echo $LD_LIBRARY_PATH
/usr/sap/DD0/SYS/exe/run:/oracle/DD0/920_64/lib:/oracle/client/10x_64/instantclient:/oracle/client/10x_64/instantclient
<quote>
This seem to be OK.
Do this 3 things and post the result
1) ldd /usr/sap/DD0/SYS/exe/run/brbackup
-> this output should indicate that it is reading
/oracle/client/10x_64/instantclient/libclntsh.so.10.1
2) ldd /oracle/client/10x_64/instantclient/libclntsh.so.10.1
3) Check the files on /oracle/client/10x_64/instantclient/instantclient_10202 against the ones on the OCL1064.SAR file. Specially libociei.so, size should be the same.
Hi <br>
Check whether this is applicable ( From note 592657 )
<br><b>10. If several Oracle 9.2 (or higher) databases are installed on a host and if they use a different patch set, the CROCLLNK links should always display the installation with the lowest patch. If any of the errors nevertheless persist, set the following environment variables:
BR_ORA_NLS33 = /oracle/client/92x_<bits>/ocommon/nls/admin/data
This will mean that the BR tools will definitely use the NLS files of the client software and not the NLS files from an Oracle home (which may not be compatible with the client software).
Note that this environment variable can only be used as of BR tools 6.20 Support Package level 113 </b>
echo $ORA_NLS33
/oracle/DD0/920_64/ocommon/nls/admin/data
export BR_ORA_NLS33=/oracle/DD0/920_64/ocommon/nls/admin/data
This does not help the problem.
bash-2.05$ brbackup -u /
BR0051I BRBACKUP 7.00 (20)
BR0055I Start of database backup: bduolnrk.anf 2007-02-08 16.51.28
BR0484I BRBACKUP log file: /oracle/DD0/sapbackup/bduolnrk.anf
BR0280I BRBACKUP time stamp: 2007-02-08 16.51.28
BR0301E SQL error -12705 at location BrDbConnect-2, SQL statement:
'CONNECT /'
ORA-12705: invalid or unknown NLS parameter value specified
It has something to do with NLS because if I change NLS_LANG to AMERICAN_AMERICA.US7ASCII it works.
Hello,
You are correct, the issue is about the NLS, but nothing to do with ORA_NLS33 ( this variable is for oracle 9i and here the issue is about 10g )
The issue seem to be the one you mentioned at the beginning, it ignores LD_LIBRARY_PATH and it is not able to find "libclntsh.so.10.1"
Unfortunatelly I do not have a solaris system.
do you get the error if you eliminate the "suid"? ( probably you could get other errors related to authorizations, but you can check by running it as ora<sid> )
I'd suggest at this stage that you open a message at SAP
If I change NLS_LANG from WE8DEC to US7ASCII then the brbackup works. But, I cannot set NLS_LANG to US7ASCII in .dbenv.csh because the database is using WE8DEC and sap will not start.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Fidel/Prince, this confirms my hypothesis about the hard coded path. I have added the path to LD_LIBRARY_PATH.
bash-2.05$ echo $LD_LIBRARY_PATH
/usr/sap/DD0/SYS/exe/run:/oracle/DD0/920_64/lib:/oracle/client/10x_64/instantclient:/oracle/client/10x_64/instantclient
Now I get a new error.
bash-2.05$ brbackup
BR0051I BRBACKUP 7.00 (20)
BR0055I Start of database backup: bduoknkv.anf 2007-02-08 11.55.41
BR0484I BRBACKUP log file: /oracle/DD0/sapbackup/bduoknkv.anf
BR0280I BRBACKUP time stamp: 2007-02-08 11.55.41
BR0301E SQL error -12705 at location BrDbConnect-2, SQL statement:
'CONNECT system/*******'
ORA-12705: invalid or unknown NLS parameter value specified
BR0310E Connect to database instance DD0 failed
BR0280I BRBACKUP time stamp: 2007-02-08 11.55.41
BR0301E SQL error -12705 at location BrDbConnect-2, SQL statement:
'CONNECT system/*******'
ORA-12705: invalid or unknown NLS parameter value specified
BR0310E Connect to database instance DD0 failed
I have read notes about this. I have verified my ORA_NLS33 is good although it points to 9i home -- not sure if that matters.
bash-2.05$ echo $ORA_NLS33
/oracle/DD0/920_64/ocommon/nls/admin/data
Any ideas?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Prince,
It works fine under orasid. The reason I'm using sidadm is because my DB13 jobs are failing. According to SAP Note 437648, "You can use Transaction DB13 to schedule database tools such as BRCONNECT or BRBACKUP regularly. These are then started at the determined time at operating system level. The user used for this is <sid>adm (UNIX)..."
On my machine, the 10g client is under /oracle/client/10x_64/instantclient_10202. This is what I put in LD_LIBRARY_PATH. Remember it finds the client .so if I remove the SUID from brbackup.
You mean R3trans not retrans.
bash-2.05$ id
uid=8001(dd0adm) gid=8001(sapsys)
bash-2.05$ R3trans -d
This is R3trans version 6.13 (release 640 - 28.11.06 - 18:05:00).
R3trans finished (0000).
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Do you have a directory called instantclient under oracle/client/10x_64 ? If not create it , it is a softlink to instantclient_10202 , create that link and try .. this directory shld owned by <sid>adm and insapsys group.
This is what I have here
> ls -l
total 4
-rwxrwxr-x 1 ora<sid> dba 100 Mar 27 2006 dbclient.lst
lrwxr-x--- 1 <sid>adm sapsys 41 Oct 19 12:28 instantclient -> /oracle/client/10x_64/instantclient_10202
drwxrwxr-x 2 ora<sid> dba 1024 Oct 16 15:26 instantclient_10202
Hello Rob,
BR* connect and the dbslib have hardcoded the path of the library.
You should create the link mentioned by Prince Jose
/oracle/client/10x_64/instantclient --> /oracle/client/10x_64/instantclient_10202
and then add /oracle/client/10x_64/instantclient to the LD_LIBRARY_PATH. the last is more for the libclntsh.so.10.1 finding the client data library than for BRBACKUP finding the libclntsh.so.10.1 ( as the path is hardcoded )
Regards
Fidel
I think you need to set variable LD_LIBRARY_PATH to
/usr/sap/<SID>/SYS/exe/run:/oracle/client/10x_64/instantclient . You can set this variable temporarily and run brbackup and see whether its working or not ..
Thanks
Prince
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Prince,
That does not fix it.
bash-2.05$ export LD_LIBRARY_PATH=/usr/sap/DD0/SYS/exe/run:/oracle/client/10x_64/instantclient_10202
bash-2.05$
bash-2.05$ echo $LD_LIBRARY_PATH
/usr/sap/DD0/SYS/exe/run:/oracle/client/10x_64/instantclient_10202
bash-2.05$ brbackup
ld.so.1: brbackup: fatal: libclntsh.so.10.1: open failed: No such file or directory
Killed
It is my understanding that Solaris ignores LD_LIBRARY_PATH when SUID is set (chmod 4775). If I 'chmod 775 brbackup' it finds the Oracle client but then I run into permissions problems because it is not running as orasid.
User | Count |
---|---|
101 | |
13 | |
13 | |
11 | |
11 | |
7 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.