nls_instance_parameter 中NLS_LANG是否受OS环境变量影响测试
2017-02-07 10:14
357 查看
nls_instance_parameters取值与v$system_parameter一致,下面让我们看一下v$system_parameter 在官方文档的定义:
V$SYSTEM_PARAMETER displays information about the initialization parameters that are currently in effect for the instance.
A new session inherits parameter values from the instance-wide values.
从这里,我们可知,nls_instance_parameters的值有参数文件决定,那么会不会受到环境变量的影响哪?经验证,是不会的!过程如下:
首先,我们来看一下NLS_LANGUAGE的取值
关闭数据库,然后修改环境变量NLS_LANG:
[oracle@oadata ~]$ vi .bash_profile
[oracle@oadata ~]$ . .bash_profile
[oracle@oadata ~]$ set | grep NLS
NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'
NLS_LANG=AMERICAN_AMERICA.AL32UTF8
[oracle@oadata ~]$ sqlplus / as sysdba
可见,nls_instance_parameters只受参数文件的影响,而不受环境变量影响。
nls_session_parameters 它的查询结果默认会从nls_instance_parameters继承,但是如果,我们在环境变量或者通过ALTER SESSION 改变了nls的相关参数,则会覆盖默认值。
例如,当环境变量NLS_LANG=AMERICAN_AMERICA.AL32UTF8
当环境变量NLS_LANG='SIMPLIFIED CHINESE_CHINA.AL32UTF8'
V$SYSTEM_PARAMETER displays information about the initialization parameters that are currently in effect for the instance.
A new session inherits parameter values from the instance-wide values.
从这里,我们可知,nls_instance_parameters的值有参数文件决定,那么会不会受到环境变量的影响哪?经验证,是不会的!过程如下:
首先,我们来看一下NLS_LANGUAGE的取值
sys>select parameter,value from nls_instance_parameters where parameter='NLS_LANGUAGE'; PARAMETER VALUE ------------------------------ ------------------------------ NLS_LANGUAGE SIMPLIFIED CHINESE
关闭数据库,然后修改环境变量NLS_LANG:
sys>shutdown immediate Database closed. Database dismounted. ORACLE instance shut down. sys>exit Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options
[oracle@oadata ~]$ vi .bash_profile
[oracle@oadata ~]$ . .bash_profile
[oracle@oadata ~]$ set | grep NLS
NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'
NLS_LANG=AMERICAN_AMERICA.AL32UTF8
[oracle@oadata ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Wed Sep 18 16:01:00 2013 Copyright (c) 1982, 2011, Oracle. All rights reserved. Connected to an idle instance. SQL> startup ORACLE instance started. Total System Global Area 2137886720 bytes Fixed Size 2230072 bytes Variable Size 1342179528 bytes Database Buffers 788529152 bytes Redo Buffers 4947968 bytes Database mounted. Database opened. SQL> select parameter,value from nls_instance_parameters where parameter='NLS_LANGUAGE'; PARAMETER VALUE ------------------------------ ------------------------------ NLS_LANGUAGE SIMPLIFIED CHINESE
可见,nls_instance_parameters只受参数文件的影响,而不受环境变量影响。
nls_session_parameters 它的查询结果默认会从nls_instance_parameters继承,但是如果,我们在环境变量或者通过ALTER SESSION 改变了nls的相关参数,则会覆盖默认值。
例如,当环境变量NLS_LANG=AMERICAN_AMERICA.AL32UTF8
SQL> select parameter,value from nls_session_parameters where parameter='NLS_LANGUAGE'; PARAMETER VALUE ------------------------------ ------------------------------ NLS_LANGUAGE AMERICAN
当环境变量NLS_LANG='SIMPLIFIED CHINESE_CHINA.AL32UTF8'
SQL> select parameter,value from nls_session_parameters where parameter='NLS_LANGUAGE'; PARAMETER VALUE ------------------------------ ------------------------------ NLS_LANGUAGE SIMPLIFIED CHINESE
相关文章推荐
- nls_instance_parameter 中NLS_LANG是否受OS环境变量影响测试
- Oracle环境变量NLS_LANG
- 转载:【字符集】“客户终端字符集”、“NLS_LANG”环境变量以及“数据库字符集”
- 【转】 【字符集】“客户终端字符集”、“NLS_LANG”环境变量以及“数据库字符集”
- Oracle环境变量NLS_LANG切换字符集快捷工具
- Oracle环境变量NLS_LANG
- Oracle环境变量NLS_LANG
- mysql-installer-5.5.25.0.msi 安装结束之后测试mysql是否安装成功的方式-环境变量
- Oracle环境变量NLS_LANG
- NLS_LANG 环境变量
- Oracle 设置环境变量NLS_LANG(客户端的环境变量)
- 查看环境变量字符集(NLS_LANG
- Oracle环境变量NLS_LANG
- Oracle环境变量NLS_LANG
- oracle: NLS_LANG 环境变量
- 环境变量NLS_LANG 语言_地区.字符集的获取
- pl sql 查询显示乱码解决方法——设置环境变量NLS_LANG
- HPUNIX下设置环境变量NLS_LANG
- Oracle环境变量NLS_LANG
- shell小记-测试环境变量是否被设置