Mis-set ORA_NLS10 env,
$env|grep NLS
NLS_LANG=AMERICAN_AMERICA.zhs16gbk
ORA_NLS10=/oracle/app/11.2.0.3/grid/nls/data
or
$ORACLE_HOME/lib/libclntsh.so linked to wrong libclntsh.so.11.1
SOLUTION:
1. unset $ORA_NLS10
rerun ora_setup
2 Go to prod dir/.app-modules and run launcher ldd ora_setup if you are on version 8.0.x or below
./launcher ldd ora_setup
check to see if libclntsh.so returns correctly or not.
If you are on 8.6.x or later, then check $ORACLE_HOME/lib
ls -lt libclntsh*
make sure libclntsh.so is linked to libclntsh.so.11.1 under the same directory.
check $PATH and remove any old oracle home references
or shutdown Oracle DB and relink all on oracle libraries
Note: On Solaris before you relink all, you need to make sure
1. Correct the PATH environment variable
csh
-----
% setenv PATH /usr/ccs/bin:${PATH}
sh, ksh or bash
-----------
% PATH=/usr/ccs/bin:$PATH
% export PATH
2. Ensure the PATH is set correctly.
% which ld
/usr/ccs/bin/ld <== This should be returned if the the PATH is
correct.
3. Shutdown oracle DB and Relink all