nls_instance_parameter 中NLS_LANG是否受OS环境变量影响测试

简介: nls_instance_parameters取值与v$system_parameter一致,下面让我们看一下v$system_parameter 在官方文档的定义:V$SYSTEM_PARAMETER displays information about th...

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的取值

1
2
3
4
5
sys> select parameter,value from nls_instance_parameters where parameter= 'NLS_LANGUAGE'
       
PARAMETER              VALUE 
------------------------------ ------------------------------ 
NLS_LANGUAGE               SIMPLIFIED CHINESE

关闭数据库,然后修改环境变量NLS_LANG:

1
2
3
4
5
6
7
8
9
10
11
12
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[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

1
2
3
4
5
SQL> select parameter,value from nls_session_parameters where parameter= 'NLS_LANGUAGE'
       
PARAMETER              VALUE 
------------------------------ ------------------------------ 
NLS_LANGUAGE               AMERICAN

当环境变量NLS_LANG='SIMPLIFIED CHINESE_CHINA.AL32UTF8'

1
2
3
4
5
SQL> select parameter,value from nls_session_parameters where parameter= 'NLS_LANGUAGE'
       
PARAMETER              VALUE 
------------------------------ ------------------------------ 
NLS_LANGUAGE               SIMPLIFIED CHINESE
相关文章
|
8月前
|
Java
Java测试环境变量是否安装成功
Java测试环境变量是否安装成功
75 0
|
分布式计算 资源调度 Hadoop
Hadoop运行环境搭建(开发重点四)在hadoop102安装hadoop、配置hadoop环境变量、测试Hadoop是否安装成功、hadoop重要目录
Hadoop运行环境搭建(开发重点四)在hadoop102安装hadoop、配置hadoop环境变量、测试Hadoop是否安装成功、hadoop重要目录
Hadoop运行环境搭建(开发重点四)在hadoop102安装hadoop、配置hadoop环境变量、测试Hadoop是否安装成功、hadoop重要目录
|
分布式计算 Java Hadoop
Hadoop运行环境搭建(开发重点三)、在hadoop102安装JDK、配置JDK环境变量、测试JDK是否安装成功
为什么只在hadoop102上安装JDK,因为在hadoop102中安装后将JDK拷贝到hadoop103和hadoop104中,同样后面安装Hadoop的时候也是这样的操作、解压JDK到/opt/module目录下、配置好后需要source一下,重新加载一下内容、在Linux系统下的opt目录中查看软件包是否导入成功、用Xftp传输工具将JDK导入到opt目录下面的software文件夹下面、系统启动的时候就会加载/etc/profile.d这里面的文件.........
Hadoop运行环境搭建(开发重点三)、在hadoop102安装JDK、配置JDK环境变量、测试JDK是否安装成功
|
测试技术 数据格式
实用PostMan测试进阶操作 token校验 参数传递 存为环境变量 避免重复copy
实用PostMan测试进阶操作 token校验 参数传递 存为环境变量 避免重复copy
152 0
实用PostMan测试进阶操作 token校验 参数传递 存为环境变量 避免重复copy
dva
|
Web App开发 前端开发 Java
mac os 设置环境变量
找到~/.bash_profile 文件: 写入一下内容,开发中用到的所有环境比那里(包含java环境变量,android环境变量,gradle环境变量,NDK环境变量,cocos2dx环境变量,ant环境变量) ...
dva
1124 0
|
关系型数据库 iOS开发 MacOS
|
XML 测试技术 数据安全/隐私保护
《软件功能测试自动化实战教程》—第6章6.5节使用环境变量的参数化
除了前面所讲的几种参数化测试的方式外,还可以使用环境变量来进行测试的参数化。下面介绍如何使用环境变量来参数化测试步骤。
1542 0
|
Java
Center os 用户环境变量
vi ~/.bash_profile进入用户环境变量设置 export JAVA_HOME=/usr/java/jdk1.7.0_76export JAVA_BIN=$JAVA_HOME/binexport PATH=$PATH:$JAVA_HOME/binexport CLASSPATH=.
924 0
|
Java Docker 容器
使用junit&spring修改系统的环境变量,解决docker程序测试问题
1,修改系统环境变量 首先环境变量在java运行的时候是修改不了的。 已经设置成只读了虽然方法都能调用。 这个有啥用呢?因为docker开放的应用程序的环境变量都是这样设置的。 docker在启动的时候设置了环境变量,然后应用程序就可以直接调用了。 调用的方法java就是通过 System.getenv()获得的。 有spring的程序,直接使用${jdbc.u
1436 0
|
Java iOS开发 MacOS
mac OS X下配置jdk环境变量
1、下载安装jdk              jdk下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.
979 0