testing TDPO setup

jaybird

Newcomer
Joined
Nov 30, 2010
Messages
4
Reaction score
0
Points
0
I have set up the TDPO on an AIX 5.3 server for Oracle 10g database.
I created and configured my tdpo.opt file, dsm.sys file, dsm.opt file.
I created the following link in the $ORACLE_HOME :
ln -s /usr/lib/libobk64.a libobk.a
I generated the TDPO password file
When I try to test the client using the sbttest test utility as the oracle unix account I get the following results:
The sbt function pointers are loaded from libobk.a(shr.o) library.
Return code -1 from sbtinit, bsercoer = 7011, bsercerrno = 106
sbtopen: System error - eg. malloc, fork errors

When I run the same as root I get this:
The sbt function pointers are loaded from libobk.a(shr.o) library.
-- sbtinit succeeded
Return code -1 from sbtinit, bsercoer = 0, bsercerrno = 0
Message 0 not found; product=RDBMS; facility=SBT

the results returned as root is what I am looking for as the oracle account. I set this up on a test server and as the oracle account I get the correct results. I have compared the set up on both servers, look at the contents of the files, the security of the files and everything is the same. I don't understand why it works as root and not oracle. I di a ulimit -a for the oracle account on both the test and production server and they are equal or the production server has higher values. I tried recreating the link in the oracle home thinking it could be a broken link, and that didn't fix it.
I have asked the UNIX admins for assistance but they couldn't come up with anything.
any help would be greatly appreciated.
 
I have set up the TDPO on an AIX 5.3 server for Oracle 10g database.
I created and configured my tdpo.opt file, dsm.sys file, dsm.opt file.
I created the following link in the $ORACLE_HOME :
ln -s /usr/lib/libobk64.a libobk.a
I generated the TDPO password file
When I try to test the client using the sbttest test utility as the oracle unix account I get the following results:
The sbt function pointers are loaded from libobk.a(shr.o) library.
Return code -1 from sbtinit, bsercoer = 7011, bsercerrno = 106
sbtopen: System error - eg. malloc, fork errors

When I run the same as root I get this:
The sbt function pointers are loaded from libobk.a(shr.o) library.
-- sbtinit succeeded
Return code -1 from sbtinit, bsercoer = 0, bsercerrno = 0
Message 0 not found; product=RDBMS; facility=SBT

the results returned as root is what I am looking for as the oracle account. I set this up on a test server and as the oracle account I get the correct results. I have compared the set up on both servers, look at the contents of the files, the security of the files and everything is the same. I don't understand why it works as root and not oracle. I di a ulimit -a for the oracle account on both the test and production server and they are equal or the production server has higher values. I tried recreating the link in the oracle home thinking it could be a broken link, and that didn't fix it.
I have asked the UNIX admins for assistance but they couldn't come up with anything.
any help would be greatly appreciated.
Can you post your dsm.sys files in the api bin...also the config files in tivoli/oracle/bin
 
in the oracle/bin4
tdpo.opt:
DSMI_ORC_CONFIG /usr/tivoli/tsm/client/oracle/bin64/dsm.opt
DSMI_LOG /usr/tivoli/tsm/client/oracle/bin64
*TDPO_FS orc9_db
TDPO_NODE axium
*TDPO_OWNER <username>
TDPO_PSWDPATH /usr/tivoli/tsm/client/oracle/bin64
*TDPO_DATE_FMT 1
*TDPO_NUM_FMT 1
*TDPO_TIME_FMT 1
*TDPO_MGMT_CLASS_2 mgmtclass2
*TDPO_MGMT_CLASS_3 mgmtclass3
*TDPO_MGMT_CLASS_4 mgmtclass4
the dsm.sys
SErvername TSMSERVER_oracle
COMMMethod TCPip
TCPPort 1500
TCPServeraddress 172.31.132.213
the dsm.opt
SERVERNAME TSMSERVER_oracle
and from the api/bin
the dsm.sys
SErvername TSMSERVER-TP
COMMmethod TCPip
TCPPort 1500
TCPServeraddress 172.31.132.26
TCPClientaddress 129.49.132.122
schedlogretention 7 D
schedmode prompt
nodename dentaldb
passwordaccess generate
resourceutilization 8
managedservices schedule webclient
schedlogname /usr/tivoli/tsm/client/ba/bin/dsmsched.log
errorlogname /usr/tivoli/tsm/client/ba/bin/dsmerror.log
INCLEXCL /usr/tivoli/tsm/client/ba/bin/inclexcl.dentaldb
httpport 1681
************************************************************************
***********************************************************************
** dentaldb.sdm.sunysb.edu:/usr/tivoli/tsm/client/ba/bin/dsm.sys
**
************************************************************************
SErvername TSMSERVER-TP
COMMmethod TCPip
TCPPort 1500
TCPServeraddress 172.31.132.26
TCPClientaddress 129.49.132.122
schedlogretention 7 D
schedmode prompt
nodename dentaldb
passwordaccess generate
resourceutilization 8
managedservices schedule webclient
schedlogname /usr/tivoli/tsm/client/ba/bin/dsmsched.log
errorlogname /usr/tivoli/tsm/client/ba/bin/dsmerror.log
INCLEXCL /usr/tivoli/tsm/client/ba/bin/inclexcl.dentaldb
httpport 1681
************************************************************************

SErvername TSMSERVER
COMMmethod TCPip
TCPPort 1500
TCPServeraddress 129.49.132.110
schedlogretention 7 D
schedmode prompt
nodename dentaldb

all these match the files from the test box that work as the oracle account
 
How about the environment variables in your oracle account? They may point to another dsm.opt.
 
I checked the env variables on both servers and point to the same dsm.opt file. plus when I log in as root using the variables of the oracle acount it works. I am pretty sure it is a permission issue, I just can't find it. I put tpdo in debug mode and got this in the trace file:
12/01/10 10:48:22.638 [1364058] [1] : psutil2.cpp (1327): psDoDsmSetUp(): 'rc = 610, Unable to open message text file'
12/01/10 10:48:22.638 [1364058] [1] : psutil2.cpp (1331): psDoDsmSetUp(): Exit - DSMSETUP() failed, rc = 106
12/01/10 10:48:22.638 [1364058] [1] : utility2.cpp (1576): Exit: tdpoInit() psDoDsmSetUp() failed, dsmHandle = 0, rc = 106
I am just not sure what file it can't open
 
Hi,

tdpoerror.log - this is the default name - but as you specified the errorlogname, that one should be used ...
But you seem to have conflicting options in your dsm.sys/tdpo.opt files ... like:

dsmi_log Specify the directory that contains the Data Protection for Oracle error log file (tdpoerror.log). Note that if the Tivoli Storage Manager errorlogname option is specified in the dsm.sys file (for the stanza used by Data Protection for Oracle), the errorlogname option will override the value specified by dsmi_log. If the errorlogname option is being used, make sure that it specifies a file in a path that has write permissions. For error log files, create a directory for the error logs and have the dsmi_log option point to that directory. The user performing backups must have writable rights to this directory.

Another thing - my TDP uses dsm.sys in /usr/tivoli/tsm/client/api/bin64/ - you have it linked to ..../api/bin so it is the same one you posted above?
Harry
 
Last edited:
ok, I can't believe how stupid I am. I fixed the problem. The file tdpoerror.log was owned by root and had rw-r--r-- permisions, so the oracle account couldn't write to it. I changed the ownership on the file and now it works. I can't believe I missed that. I must have looked at that file a million times and never noticed who owned it. I feel really stupid right now. Thanks for the responses though.
 
Back
Top