Transformer: C Stage PlugIn function "Put" require

Post questions here relative to DataStage Server Edition for such areas as Server job design, DS Basic, Routines, Job Sequences, etc.

Moderators: chulett, rschirm, roy

mfranke
Participant
Posts: 50
Joined: Wed Nov 30, 2005 1:40 am
Contact:

Transformer: C Stage PlugIn function "Put" require

Post by mfranke »

Hello,
we upgraded our datastage 7.5.2 to 7.5.3 including patch JR 35216 on hp ux itanium. in server jobs there is a problem when writing data to oracle 10.2 database via oracle oci9 stage. this issue appears only for server jobs, not for parallel.

Maybe there is something wrong with the libraries, dll's or a path.
Although when reading from oracle oci9 came errors: ds_loadlibrary: error in dlopen.

Has someone an idea what the problem could be.
Thanks,
Mario
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

... then off we go to the Server forum.

Sounds like the install overwrote your dsenv file. Make sure your Oracle environment variables are set back to what they were before the upgrade - ORACLE_HOME and especially your "shared library" variable.
-craig

"You can never have too many knives" -- Logan Nine Fingers
mfranke
Participant
Posts: 50
Joined: Wed Nov 30, 2005 1:40 am
Contact:

Re: Transformer: C Stage PlugIn function "Put" req

Post by mfranke »

thank you craig, but after comparing the old dsenv to the new one I cannot see any differences in it
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

Did you change anything else when you upgraded, say like your version of Oracle as well? You wouldn't be getting the error you posted if everything in the dsenv file was correct and matched where your Oracle client lives...

For grins, please post your complete unedited error message.
-craig

"You can never have too many knives" -- Logan Nine Fingers
mfranke
Participant
Posts: 50
Joined: Wed Nov 30, 2005 1:40 am
Contact:

Post by mfranke »

how I said, the entries are the same in old and new one:
here is the complete message, appearing with every line of data proceeding:

dsjob_plz_update_d_city_txt_01..Transformer_103: C Stage PlugIn function "Put" required
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

You didn't answer my question... and I meant the "error in dlopen" message.
-craig

"You can never have too many knives" -- Logan Nine Fingers
mfranke
Participant
Posts: 50
Joined: Wed Nov 30, 2005 1:40 am
Contact:

Post by mfranke »

oracle version or clients were not changed, the only thing we did is making the upgrade while using type UPDATE during installation.
The installation made a new directory PXEngine.753. There is a link named PXEngine referencing this directory.
mfranke
Participant
Posts: 50
Joined: Wed Nov 30, 2005 1:40 am
Contact:

Post by mfranke »

sorry, the error with dlopen comes wehen I click on "view data" in oracle stage or in the log as control type other= 21:
message is: ds_loadlibrary: error in dlopen - Dynamic Error
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

Bottom line, this is either a dsenv issue with the Oracle related entries or some incompatability with the "bitness" of things, mixing 32 & 64 bit executables, for example. Since we're assuming that none of that changed during your upgrade, I'm still focusing on your dsenv file because your error is showing that it can't find (or doesn't like something about) your Oracle client and that is all controlled there.

Where did you have your "old" version of the dsenv file? Did you specifically back it up prior to your upgrade to preserve any custom changes or did you leave that to the upgrader? It is notorious for blowing away your changes, hence the question. If you are certain that your new version matches your old version and that all of the Oracle pieces match exactly to your client installation, then perhaps it is best to contact your official support provider and see what they think is going on. We've seen the need for Oracle specific patches in the past, perhaps one is needed here.

If you want another set of eyes to take a look at your dsenv file, you could always post it here and see if anyone notes any potential issues with it.
-craig

"You can never have too many knives" -- Logan Nine Fingers
mfranke
Participant
Posts: 50
Joined: Wed Nov 30, 2005 1:40 am
Contact:

Post by mfranke »

thanks, IBM support is working on it since a week, but there is no really result.

I haved backuped the dsadm directory with all Datastage file including dsenv:

here is the old one:

#!/bin/sh
####################################################################
#
# dsenv - DataStage environment file
#
#
Copyright (c) 1997 - 2004 Ascential Software Corporation. All Rights Reserved
# This is unpublished proprietary source code of Ascential Software Corporation
#
The copyright notice above does not evidence any actual or

# intended publication of such source code.
#
# This script is sourced by the DataStage dsrpcd daemon to establish
#
proper environment settings for DataStage client connections.
#
#
This script may also be sourced by bourne shells to establish
# proper environment settings for local DataStage use.
#


####################################################################

#
PLATFORM SPECIFIC SECTION

set +u

if [ -z "$DSHOME" ] && [ -f "/.dshome" ]
then
DSHOME=`cat /.dshome`

export DSHOME
fi

if [ -z "$DSHOME" ]
then
DSHOME=/opt/app/dsadm/Ascential/DataStage/DSEngine; export DSHOME
fi

if [ -z "$APT_ORCHHOME" ]

then

APT_ORCHHOME=/opt/app/dsadm/Ascential/DataStage/PXEngine; export APT_ORCHHOME
fi

if [ -z "$UDTHOME" ]
then

UDTHOME=/opt/app/dsadm/Ascential/DataStage/ud41; export UDTHOME
UDTBIN=/opt/app/dsadm/Ascential/DataStage/ud41/bin; export UDTBIN

fi

if [ -n "$DSHOME" ] && [ -d "$DSHOME" ]
then
ODBCINI=$DSHOME/.odbc.ini; export ODBCINI
HOME=${HOME:-/}; export HOME


#LANG="<langdef>";export LANG

#LC_ALL="<langdef>";export LC_ALL

#LC_CTYPE="<langdef>";export LC_CTYPE

#LC_COLLATE="<langdef>";export LC_COLLATE

#LC_MONETARY="<langdef>";export LC_MONETARY

#LC_NUMERIC="<langdef>";export LC_NUMERIC

#LC_TIME="<langdef>";export LC_TIME

#LC_MESSAGES="<langdef>"; export LC_MESSAGES


#LD_LIBRARY_PATH=`dirname $DSHOME`/branded_odbc/lib:$DSHOME/lib:$DSHOME/uvdlls:$DSHOME/java/jre/lib/IA64W/hotspot:$DSHOME/java/jre/lib/IA64W:$LD_LIBRARY_PATH

# new LIB-Path ' PBU 13.12.2007

LD_LIBRARY_PATH=$DSHOME/branded_odbc/lib:$DSHOME/lib:/opt/app/oracle/product/10g/lib:$DSHOME/uvdlls:$DSHOME/java/jre/lib/IA64W/hotspot:$DSHOME/java/jre/lib/IA64W:$LD_LIBRARY_PATH

export LD_LIBRARY_PATH


LD_PRELOAD=$DSHOME/java/jre/lib/IA64W/hotspot/libjvm.so
export LD_PRELOAD
fi



###################################################################
######Oracle Konfiguration

ORACLE_HOME=/opt/app/oracle/product/10g
export ORACLE_HOME


NLS_LANG=AMERICAN_AMERICA.UTF8
export NLS_LANG

ORA_NLS10=$ORACLE_HOME/nls/data
export ORA_NLS10


LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
export LD_LIBRARY_PATH

PATH=/usr/bin:$PATH:$ORACLE_HOME/bin:$DSHOME/bin
export PATH



DSSAPHOME=/opt/app/dsadm/Ascential/DataStage
export DSSAPHOME
mfranke
Participant
Posts: 50
Joined: Wed Nov 30, 2005 1:40 am
Contact:

Post by mfranke »

and now the new one

#!/bin/sh
####################################################################
#
# dsenv - DataStage environment file
#
# Copyright (c) 1997 - 2004 Ascential Software Corporation. All Rights Reserved
# This is unpublished proprietary source code of Ascential Software Corporation
# The copyright notice above does not evidence any actual or
# intended publication of such source code.
#
# This script is sourced by the DataStage dsrpcd daemon to establish
# proper environment settings for DataStage client connections.
#
# This script may also be sourced by bourne shells to establish
# proper environment settings for local DataStage use.
#
####################################################################

# PLATFORM SPECIFIC SECTION

set +u

if [ -z "$DSHOME" ] && [ -f "/.dshome" ]
then
DSHOME=`cat /.dshome`
export DSHOME
fi

if [ -z "$DSHOME" ]
then
DSHOME=/opt/app/dsadm/Ascential/DataStage/DSEngine; export DSHOME
fi

if [ -z "$APT_ORCHHOME" ]
then
APT_ORCHHOME=/opt/app/dsadm/Ascential/DataStage/PXEngine.753; export APT_ORCHHOME
fi

if [ -z "$UDTHOME" ]
then
UDTHOME=/opt/app/dsadm/Ascential/DataStage/ud41; export UDTHOME
UDTBIN=/opt/app/dsadm/Ascential/DataStage/ud41/bin; export UDTBIN
fi

if [ -n "$DSHOME" ] && [ -d "$DSHOME" ]
then
ODBCINI=$DSHOME/.odbc.ini; export ODBCINI
HOME=${HOME:-/}; export HOME

#LANG="<langdef>";export LANG
#LC_ALL="<langdef>";export LC_ALL
#LC_CTYPE="<langdef>";export LC_CTYPE
#LC_COLLATE="<langdef>";export LC_COLLATE
#LC_MONETARY="<langdef>";export LC_MONETARY
#LC_NUMERIC="<langdef>";export LC_NUMERIC
#LC_TIME="<langdef>";export LC_TIME
#LC_MESSAGES="<langdef>"; export LC_MESSAGES

#LD_LIBRARY_PATH=`dirname $DSHOME`/branded_odbc/lib:$DSHOME/lib:/opt/app/oracle/product/10g/lib:$DSHOME/uvdlls:$DSHOME/java/jre/lib/IA64W/hotspot:$DSHOME/java/jre/lib/IA64W:$LD_LIBRARY_PATH
LD_LIBRARY_PATH=/opt/app/oracle/product/10g/lib:$DSHOME/branded_odbc/lib:$DSHOME/lib:$DSHOME/uvdlls:$DSHOME/java/jre/lib/IA64W/hotspot:$APT_ORCHHOME/lib:$DSHOME/java/jre/lib/IA64W:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH

LD_PRELOAD=$DSHOME/java/jre/lib/IA64W/hotspot/libjvm.so
export LD_PRELOAD
fi

###################################################################
######Oracle Konfiguration

ORACLE_HOME=/opt/app/oracle/product/10g
export ORACLE_HOME

NLS_LANG=AMERICAN_AMERICA.UTF8
export NLS_LANG

ORA_NLS10=$ORACLE_HOME/nls/data
export ORA_NLS10

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
export LD_LIBRARY_PATH

PATH=/usr/bin:$PATH:$ORACLE_HOME/bin:$DSHOME/bin
export PATH

DSSAPHOME=/opt/app/dsadm/Ascential/DataStage
JeroenDmt
Premium Member
Premium Member
Posts: 107
Joined: Wed Oct 26, 2005 7:36 am

Post by JeroenDmt »

Is DataStage still using the same user? I have seen errors like that when the datastage user did not have permissions for the Oracle client libraries.
Can the DataStage user access Oracle through client tools like sqlplus?
mfranke
Participant
Posts: 50
Joined: Wed Nov 30, 2005 1:40 am
Contact:

Post by mfranke »

it is using the same user, but I will proof this once.

when making ldd ./oraoci9.so the message appears:
unable to find library libclntsh.so.9.0

un production system which is still on 7.5.2 comes this output:
libclntsh.so => /opt/app/oracle/product/10g/lib/libcntsh.so

is it possible, that the oraoci9 in 7.5.3 wants to have the oracle 9 client while the oraoci9 stage in 7.5.2 can deal with oracle 10?
mfranke
Participant
Posts: 50
Joined: Wed Nov 30, 2005 1:40 am
Contact:

Post by mfranke »

would it be a problem to put the libs for oci9 stage from 7.5.2 into 7.5.3?
which files I should copy from the old system and can this cause other problems?
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

mfranke wrote:when making ldd ./oraoci9.so the message appears:
unable to find library libclntsh.so.9.0
When you are executing this, has your user sourced your dsenv file first? And if "sourced" is a new term for you, it means doing this first:

Code: Select all

cd $DSHOME
. ./dsenv
To set up your command line environment to match the runtime environment.
mfranke also wrote:is it possible, that the oraoci9 in 7.5.3 wants to have the oracle 9 client while the oraoci9 stage in 7.5.2 can deal with oracle 10?
Perhaps. We always used a 9i client with the OCI9 stage, regardless of the actual version of the connecting database (9i, 10g or 11g) so never saw an issue in that regard. Since you have a support case open, it would be best to ask IBM that question.
-craig

"You can never have too many knives" -- Logan Nine Fingers
Post Reply