Hello every one,
I will bring you a issue in to your notice while we
performing EBS RPC5 Patch (Recommended patch collections) recently in to one of
our test instance. The Patch had been stopped with below error while calling
FNDLOAD function observed in patch log file.
ATTENTION: All workers either have failed or are
waiting:
FAILED: file
pqpzzcncprg00025.ldt on worker 10.
FAILED: file
jg12acp.ldt on worker 10.
Hence, we'd reviewed failed worker log file 10 and therefore
found below error in LDT logs.
cd $APPL_TOP/admin/<TWO_TASK>/logs
A database error occurred:
ORA-24816:
Expanded non LONG bind data supplied after actual LONG or LOB column
It is because The value for environment variable
NLS_LANG is different than the database character set parameter
(NLS_CHARACTERSET) when invoking FNDLOAD.
Verified and found the parameter NLS_CHARACTERSET at DB side has set to AL32UTF8 and value on application side for this variable set to $NLS_LANG=American_America.UTF8 (echo $NLS_LANG)
Solution
=====
1) Shutdown all workers using adctrl use 3rd option.
a. adctrl
b. Select
option 3 "Tell worker to shutdown/quit"
Ensure no worker processes are running.
ps -a | grep
adworker
2) Export environment variable NLS_LANG to a proper value on where patch yet
to applied as per value in DB side.
In our case
NLS_LANG parameter set to below value .
SQL> SELECT VALUE FROM V$NLS_PARAMETERS WHERE
PARAMETER = 'NLS_CHARACTERSET';
VALUE
--------------------------------------------------------------------------------
AL32UTF8
As previously NLS_LANG set to American_America.UTF8 . we need to change below as per above DB parameter.
3) Export NLS_LANG=American_America.AL32UTF8
4) To fix it permanently make changes in Autoconfig
TEXT file ( Context File) where NLS_LANG parameters have different values than expected. If
yes, please correct it and run autoconfig.
grep -i NLS_LANG $CONTEXT_FILE
<NLS_LANG
oa_var="s_tools_nlslang">American_America.AL32UTF8</NLS_LANG>
<NLS_LANG
oa_var="s_weboh_nlslang">American_America.AL32UTF8</NLS_LANG>
<NLS_LANG
oa_var="s_nlslang">American_America.AL32UTF8</NLS_LANG>
5) Test if changes to NLS_LANG were successful.
echo $NLS_LANG.
6) Start Patching activity. It will complete
successfully.
Thanks,
Regards,
Sreeharsha
Sreeharsha
No comments:
Post a Comment