ORA-12705: Cannot access NLS data files or invalid environment specified

Some times we get this error in Oracle Applications R12 while running autoconfig for the first time on database side. This might be the case when we are cloning an environment or upgrading the database to new version. For example from 10g to 11g.

The cause for the error is that Oracle is not able to for NLS files in the environment. While running autoconfig, it checks for parameter s_db_oranls in context file on DB tier. This variable should point to correct NLS directory. Example of error is shown below.

=============================================================

afdbprf.sh started at Sun Jan 13 09:06:42 EST 2008
The environment settings are as follows …

ORACLE_HOME : /oracle/PROD/db/tech_st/10.2.0
ORACLE_SID : PROD
PATH : /oracle/PROD/db/tech_st/10.2.0/perl/bin:/oracle/PROD/db/tech_st/10.2.0/bin:/usr/bin:/usr/sbin:/oracle/PROD/db/tech_st/10.2.0/appsutil/jre/bin:/usr/ccs/bin:/bin:/usr/bin/X11:/usr/local/bin:/oracle/PROD/db/tech_st/10.2.0/perl/bin:/oracle/PROD/db/tech_st/10.2.0/perl/bin:/oracle/PROD/db/tech_st/10.2.0/bin:/usr/bin:/usr/sbin:/oracle/PROD/db/tech_st/10.2.0/appsutil/jre/bin:/usr/ccs/bin:/bin:/usr/bin/X11:/usr/local/bin:/oracle/PROD/db/tech_st/10.2.0/perl/bin:/oracle/PROD/db/tech_st/10.2.0/bin:/usr/bin:/usr/sbin:/oracle/PROD/db/tech_st/10.2.0/appsutil/jre/bin:/usr/ccs/bin:/bin:/usr/bin/X11:/usr/local/bin:/oracle/PROD/apps/tech_st/10.1.3/perl/bin:/oracle/PROD/apps/tech_st/10.1.2/bin:/oracle/PROD/apps/apps_st/appl/fnd/12.0.0/bin:/oracle/PROD/apps/apps_st/appl/ad/12.0.0/bin:/oracle/PROD/apps/tech_st/10.1.3/appsutil/jdk/jre/bin:/oracle/PROD/apps/apps_st/comn/util/unzip/unzip/unzip-5.50::/oracle/PROD/apps/tech_st/10.1.2/bin:/usr/bin:/usr/ccs/bin:/usr/sbin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/java/jre1.3.1_13/bin:/oracle/PROD/apps/tech_st/10.1.3/appsutil/jdk/bin
Library Path : /oracle/PROD/db/tech_st/10.2.0/lib:/usr/X11R6/lib:/usr/openwin/lib:/oracle/PROD/db/tech_st/10.2.0/lib:/usr/dt/lib:/oracle/PROD/db/tech_st/10.2.0/ctx/lib

Executable : /oracle/PROD/db/tech_st/10.2.0/bin/sqlplus

SQL*Plus: Release 10.2.0.2.0 – Production on Sun Jan 13 09:06:42 2008

Copyright (c) 1982, 2005, Oracle. All Rights Reserved.

Enter value for 1: Enter value for 2: Enter value for 3: ERROR:
ORA-12705: Cannot access NLS data files or invalid environment specified

ERRORCODE = 1 ERRORCODE_END

ERROR
[AutoConfig Error Report]
The following report lists errors AutoConfig encountered during each
phase of its execution. Errors are grouped by directory and phase.
The report format is:
<filename> <phase> <return code where appropriate>

[PROFILE PHASE]
AutoConfig could not successfully execute the following scripts:
Directory: /oracle/PROD/db/tech_st/10.2.0/appsutil/install/PROD_orcl-lma-01
afdbprf.sh INSTE8_PRF 1

[APPLY PHASE]
AutoConfig could not successfully execute the following scripts:
Directory: /oracle/PROD/db/tech_st/10.2.0/appsutil/install/PROD_orcl-lma-01
adcrobj.sh INSTE8_APPLY 1

AutoConfig is exiting with status 2

The log file for this session is located at:
/oracle/PROD/db/tech_st/10.2.0/appsutil/log/PROD_orcl-lma-01/01130906/adconfig.log

=============================================================

To fix this error change the context file to point the variable s_db_oranls to correct NLS directory. This variable should point to ORACLE_HOME/nls/data/9idata

Edit the database context file and change the following:
FROM
<ORA_NLS oa_var=”s_db_oranls”
osd=”unix”>/oracle/PROD/db/tech_st/10.2.0/ocommon/nls/admin/data</ORA_NLS>

TO
<ORA_NLS oa_var=”s_db_oranls”
osd=”unix”>/oracle/PROD/db/tech_st/10.2.0/nls/data/9idata</ORA_NLS>

Run Autoconfig.

Hope this helps !!

Advertisement

ORA-12705: Cannot access NLS data files or invalid environment specified

While running autoconfig in oracle apps on database side, you might encounter this error. Also you can see this when you do sqlplus from command prompt.

Cause: 

Either your NLS_LANG parameter is not set correctly or NLS_ORA10 parameter is not set correctly.

Solution :

check $ORA_NLS10 path. This should point to ORACLE_HOME/nls/data/9idata

if this is not set correct, then you need to set the same manually using export command. Also if this is an oracle application database ( either 11i or R12), then make sure to change the variable s_db_oranls in CONTEXT_FILE and then run autoconfig.

If  ORACLE_HOME/nls/data/9idata path is not present then you can create the same using $ORACLE_HOME/nls/data/old/cr9idata.pl script. Run this script and it will create the desired directories and after that set ORA_NLS10 parameter.

If this doesn’t resolve the issue then you need to check NLS_LANG parameter setting. This should be (Language)_(Territory).(character set). Example American_America.UTF8.

Hope this helps !!