Skip to content
Home » Oracle » NLS_DATABASE_PARAMETERS, How and Why

NLS_DATABASE_PARAMETERS, How and Why

What is NLS_DATABASE_PARAMETERS ?

NLS_DATABASE_PARAMETERS is a dictionary view which shows default NLS parameters of a database. Let's see their values.

SQL> set pagesize 1000;
SQL> column parameter format a30;
SQL> column value format a30;
SQL> select * from NLS_DATABASE_PARAMETERS order by 1;

PARAMETER                      VALUE
------------------------------ ------------------------------
NLS_CALENDAR                   GREGORIAN
NLS_CHARACTERSET               AL32UTF8
NLS_COMP                       BINARY
NLS_CURRENCY                   $
NLS_DATE_FORMAT                DD-MON-RR
NLS_DATE_LANGUAGE              AMERICAN
NLS_DUAL_CURRENCY              $
NLS_ISO_CURRENCY               AMERICA
NLS_LANGUAGE                   AMERICAN
NLS_LENGTH_SEMANTICS           BYTE
NLS_NCHAR_CHARACTERSET         AL16UTF16
NLS_NCHAR_CONV_EXCP            FALSE
NLS_NUMERIC_CHARACTERS         .,
NLS_RDBMS_VERSION              21.0.0.0.0
NLS_SORT                       BINARY
NLS_TERRITORY                  AMERICA
NLS_TIMESTAMP_FORMAT           DD-MON-RR HH.MI.SSXFF AM
NLS_TIMESTAMP_TZ_FORMAT        DD-MON-RR HH.MI.SSXFF AM TZR
NLS_TIME_FORMAT                HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT             HH.MI.SSXFF AM TZR

20 rows selected.

They look like very original.

How to Change NLS_DATABASE_PARAMETERS ?

Since all NLS parameters of a database are determined at database creation time, there's no way to change any value of them.

The purpose of NLS database parameters is to provide a default set of values for users to initiate their sessions.

Please note that, although you can use ALTER SYSTEM SET to change some NLS parameters, the changes only take effect at instance-level after a restart, not database-level.

To change the character set of a database, that's a different approach.

Leave a Reply

Your email address will not be published. Required fields are marked *