NLS (National Language Support) is used to define national date, number, currency and language settings. For example, it can be used to change the currency symbol from $ to € (Euro); the language from English to Dutch, etc.
NLS_SESSION_PARAMETERS lists NLS parameters of the user session.
NLS_INSTANCE_PARAMETERS lists NLS parameters of the instance.
NLS_DATABASE_PARAMETERS listspermanent NLS prameters of the database, equals
SELECT NAME,VALUE$ FROM props$ WHERE NAME LIKE '%NLS%';
V$NLS_PARAMETERS containscurrent values of NLS parameters.
1)Session-level parameters 使用ALTER SESSION改变:
SELECT * FROM nls_session_parameters;
SELECT * FROM V$NLS_PARAMETERS;
2)Client-side 客户端字符集NLS_LANG:
格式为NLS_LANG=LANGUAGE_TERRITORY.CHARACTERSET(语言_地区.字符集)。
在UNIX/Linux平台使用export NLS_LANG设置,在windows平台使用set NLS_LANG 或者修改注册表中NLS_LANG的值进行设置。
3)Instance parameters 实例参数,可以使用ALTER SYSTEM改变,因为是静态参数所以需要重启。如在RAC环境中,可能会为不同的实例设置不同的字符集:
SELECT * FROM nls_instance_parameters;
4)Database parameters 数据库服务器字符集和数据块大小(SYSTEM表空间和数据字典),在创建数据库时设置DB_BLOCK_SIZE 和 NLS_DATABASE_LANGUAGE,之后不可改变:
SELECT * FROM nls_database_parameters;
session parameters take precedence over client-side, instance and database parameters.即session > client-side > instance > database.