Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Oracle Database 11g.pdf
Скачиваний:
78
Добавлен:
10.06.2015
Размер:
12.69 Mб
Скачать

Lab 13.2: Setting NLS Parameters  

769

Lab 13.2: Setting NLS Parameters

In this lab, you will practice setting NLS parameters for the instance and for the session and observe how parameters are prioritized. Here are the general steps:

1.Show and modify instance NLS parameters.

2.Modify and observe the effects of setting session NLS variables.

3.Demonstrate NLS-parameter priorities.

Here’s an example:

1.Show and modify instance NLS parameters.

SQL> show parameter nls

NAME

TYPE

VALUE

------------------------------------

-----------

--------

nls_calendar

string

 

nls_comp

string

BINARY

nls_currency

string

 

nls_date_format

string

 

nls_date_language

string

 

nls_dual_currency

string

 

nls_iso_currency

string

 

nls_language

string

AMERICAN

nls_length_semantics

string

BYTE

nls_nchar_conv_excp

string

FALSE

nls_numeric_characters

string

 

nls_sort

string

 

nls_territory

string

AMERICA

nls_time_format

string

 

nls_time_tz_format

string

 

nls_timestamp_format

string

 

nls_timestamp_tz_format

string

 

SQL>

 

 

Only nls_nchar_conv_excp and nls_lenght_semantics are dynamically system modifiable or instance modifiable. You can, however, modify the parameter with scope=spfile and restart the instance to take effect.

SQL> alter system set nls_date_format=’dd-mon-yyyy hh24:mi:ss’ scope=spfile;

/

770

Appendix A  n  Lab Exercises

 

System altered.

 

 

SQL> shutdown immediate;

 

 

Database closed.

 

 

Database dismounted.

 

 

ORACLE instance shut down.

 

 

SQL> startup

 

 

ORACLE instance started.

 

 

Total System Global Area

732352512 bytes

 

Fixed Size

1335696 bytes

 

Variable Size

444599920 bytes

 

Database Buffers

281018368 bytes

 

Redo Buffers

5398528 bytes

 

Database mounted.

 

 

Database opened.

 

 

SQL> show parameter nls

 

 

NAME

 

TYPE

VALUE

------------------------------------ ----------- ----

--------------------------

 

 

nls_calendar

string

 

nls_comp

string

BINARY

nls_currency

string

 

nls_date_format

string

dd-mon-yyyy hh24:mi:ss

nls_date_language

string

 

nls_dual_currency

string

 

nls_iso_currency

string

 

nls_language

string

AMERICAN

nls_length_semantics

string

BYTE

nls_nchar_conv_excp

string

FALSE

nls_numeric_characters

string

 

nls_sort

string

 

nls_territory

string

AMERICA

nls_time_format

string

 

nls_time_tz_format

string

 

nls_timestamp_format

string

 

nls_timestamp_tz_format

string

 

SQL>

 

 

 

You can also observe the system NLS parameters by querying the NLS_INSTANCE_ PARAMETERS view.

Lab 13.2: Setting NLS Parameters  

771

2.Modify and observe the effects of setting session NLS variables. Query the NLS_SESSION_ PARAMETERS view to see your session parameter settings.

SQL> select * from nls_session_parameters SQL> /

PARAMETER

VALUE

------------------------------

----------------------------

NLS_LANGUAGE

AMERICAN

NLS_TERRITORY

AMERICA

NLS_CURRENCY

$

NLS_ISO_CURRENCY

AMERICA

NLS_NUMERIC_CHARACTERS

.,

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

17 rows selected.

 

SQL> select sysdate from dual;

 

SYSDATE

 

---------

 

23-NOV-08

 

SQL>

Modify the session NLS_DATE_FORMAT, and query.

SQL> alter session set nls_date_format=’dd-mon-yyyy hh24:mi:ss’; Session altered.

772

Appendix A  n  Lab Exercises

SQL> 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

dd-mon-yyyy hh24:mi:ss

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

17 rows selected.

SQL> select sysdate from dual;

SYSDATE

--------------------

23-nov-2008 00:11:38

SQL>

3.Demonstrate NLS-parameter priorities. Modify the session NLS_LANGUAGE, and query.

SQL> alter session set nls_language=’GERMAN’; Session altered.

SQL> select * from nls_session_parameters;

 

Lab 13.2: Setting NLS Parameters  

773

PARAMETER

VALUE

 

------------------------------

----------------------------

 

NLS_LANGUAGE

GERMAN

 

NLS_TERRITORY

AMERICA

 

NLS_CURRENCY

$

 

NLS_ISO_CURRENCY

AMERICA

 

NLS_NUMERIC_CHARACTERS

.,

 

NLS_CALENDAR

GREGORIAN

 

NLS_DATE_FORMAT

dd-mon-yyyy hh24:mi:ss

 

NLS_DATE_LANGUAGE

GERMAN

 

NLS_SORT

GERMAN

 

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

 

17 rows selected.

SQL>

Notice that when you set the NLS_LANGUAGE, the NLS_DATE_LANGUAGE and NLS_SORT also changed but the NLS_TERRITORY and NLS_ISO_CURRENCY did not. Now change the NLS_LANGUAGE back and observe.

SQL> alter session set nls_language=’AMERICAN’;

Session altered.

SQL> select * from nls_session_parameters;

PARAMETER

VALUE

------------------------------

----------------------------

NLS_LANGUAGE

AMERICAN

NLS_TERRITORY

AMERICA

NLS_CURRENCY

$

NLS_ISO_CURRENCY

AMERICA

774

Appendix A  n  Lab Exercises

NLS_NUMERIC_CHARACTERS

.,

NLS_CALENDAR

GREGORIAN

NLS_DATE_FORMAT

dd-mon-yyyy hh24:mi:ss

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

17 rows selected.

SQL>

Note the NLS_LANGUAGE sets a default for NLS_DATE_LANGUAGE and NLS_SORT; however, you can modify NLS_DATE_LANGUAGE and NLS_SORT independently.

SQL> alter session set nls_sort=’GERMAN’;

Session altered.

SQL> 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

dd-mon-yyyy hh24:mi:ss

NLS_DATE_LANGUAGE

AMERICAN

NLS_SORT

GERMAN

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

 

Lab 13.2: Setting NLS Parameters  

775

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

 

17 rows selected.

SQL>

If I now set the NLS_LANGUAGE to American, it will overlay the NLS_SORT value with

BINARY:

SQL> alter session set nls_language=’AMERICAN’;

Session altered.

SQL> 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

dd-mon-yyyy hh24:mi:ss

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

17 rows selected.

 

SQL>

 

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]