NLS_LANG = KOREAN_KOREA.UTF8 Overrides NLS_DATE_FORMAT value
687860Mar 8 2009 — edited Mar 20 2009We are enhancing our application to support Korean data for that we have migrated database to UTF8 from US7ASCII.
On Oracle9i client (i.e.HP-UX Application Server), we set NLS_LANG = KOREAN_KOREA.UTF8
This overrides the NLS_DATE_FORMAT value (YYYYMMDDHH24MISS) mentioned in V$PARAMETER View in session.
But we do not want NLS_DATE_FORMAT value (YYYYMMDDHH24MISS) to change to defalut NLS_DATE_FORMAT value (RR/MM/DD) of KOREAN Territory.
Because the application understands the NLS_DATE_FORMAT of V$PARAMETER View.
Can we set ISSES_MODIFIABLE attribute of NLS_DATE_FORMAT to FALSE?
Do we need to make any settings on windows desktop from where end user initiates the request?
Please suggest what are the approaches to work around this problem.
-----------------------------------------------------------------------------
Below are the settings we have on server and client.
-----------------------------------------------------------------------------
DATABASE Setting (v10.2.0.3.0):
--------------------------------
Below queries are executed from HP-UX machine's SQLPLUS .
SQL> SELECT * FROM NLS_DATABASE_PARAMETERS;
PARAMETER VALUE
------------------------------ ------------------------------
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CHARACTERSET UTF8
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY $
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_RDBMS_VERSION 10.2.0.3.0
SELECT NAME, VALUE FROM V$PARAMETER WHERE NAME = 'nls_date_format';
NAME VALUE
------------------------------ ------------------------------
nls_date_format YYYYMMDDHH24MISS
SELECT * FROM NLS_SESSION_PARAMETERS;
PARAMETER VALUE
------------------------------ ------------------------------
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT YYYYMMDDHH24MISS
NLS_DATE_LANGUAGE AMERICAN
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY $
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
-->After exporting the NLS_LANG=KOREAN_KOREA.UTF8 and other parameters (as
shown below in Middleware Setting section)
SELECT * FROM NLS_SESSION_PARAMETERS;
PARAMETER VALUE
------------------------------ ------------------------------
NLS_LANGUAGE KOREAN
NLS_TERRITORY KOREA
NLS_CURRENCY ?
NLS_ISO_CURRENCY KOREA
NLS_NUMERIC_CHARACTERS .,
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT RR/MM/DD
NLS_DATE_LANGUAGE KOREAN
NLS_SORT BINARY
NLS_TIME_FORMAT HH24:MI:SSXFF
NLS_TIMESTAMP_FORMAT RR/MM/DD HH24:MI:SSXFF
NLS_TIME_TZ_FORMAT HH24:MI:SSXFF TZR
NLS_TIMESTAMP_TZ_FORMAT RR/MM/DD HH24:MI:SSXFF TZR
NLS_DUAL_CURRENCY ?
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Middleware Setting on HP-UX (having Oracle9i client):
---------------------------------------------------
export LC_CTYPE=ko_KR.utf8
export NLS_LANG=KOREAN_KOREA.UTF8
export LANG=ko_KR.utf8
export LC_NUMERIC="ko_KR.utf8"
export LC_TIME="ko_KR.utf8"
export LC_COLLATE=POSIX
export LC_MONETARY="ko_KR.utf8"
export LC_MESSAGES="ko_KR.utf8"
export LC_PAPER="ko_KR.utf8"
export LC_NAME="ko_KR.utf8"
export LC_ADDRESS="ko_KR.utf8"
export LC_TELEPHONE="ko_KR.utf8"
export LC_MEASUREMENT="ko_KR.utf8"
export LC_IDENTIFICATION="ko_KR.utf8"
Below are few Internationalization Features configured of our HP-UX Machine
we request to bring to notice if we are missing something in configuration
or installation:
-----------------------------------------------------------------------------
Language:
/usr/sbin/swlist -l fileset International
International.KOREAN B.11.11 KOREAN
CDE:
/usr/sbin/swlist -l bundle ‘CDE-*'
Korean CDE-Korean is not installed
Asian System Environment:
Asian-Core A.03.00 Asian Core
Asian Language Extensions :
The Korean HPUXExtns-Kor bundle is not installed on our machine,we checked
by below command.
/usr/sbin/swlist -l bundle HPUXExtns-\*
# Initializing...
# Contacting target "pslhp02"...
ERROR: Software "HPUXExtns-*" was not found on host
"pslhp02:/".
Localized Message Catalogs and Manpages
The Korean HPUXMsgs-Kor bundle is not installed on our machine,we checked
by below command.
/usr/sbin/swlist -l bundle HPUXMsgs-Kor
# Initializing...
# Contacting target "pslhp02"...
ERROR: Software "HPUXMsgs-Kor" was not found on host
"pslhp02:/".
IMS
After setting NLS_LANG through export we manually tried to start IMS using
following command
eval ‘/usr/dt/bin/dtimsstart -env‘
dtimsstart: íê²½ ë³ì 'DISPLAY'ê° ì ìëì§ ìììµëë¤.
Configuring Fonts
X11 Bitmap Fonts:
Korean /usr/lib/X11/fonts/hp_korean/75dpi
hp_korean directory is not present on given path in our hp-ux
machine.
TrueType Fonts
Korean (HYBatang HYDotum HYGulim HYGungsuh)
/usr/lib/X11/fonts/TrueType/korean.st/typefaces
We have these fonts on our hp-ux machine.