oracle的userenv和nls_lang详解 1、userenv最常见的使用 userenv函数返回当前会话(session)的相关信息。...再看下windows上NLS_LANG环境变量 ? 最后看下plsql上userenv执行的结果 ?...可以发现在windows上使用plsql的时候语言和地区使用的是plsql的环境变量NLS_LANG。...3、Linux上sqlplus使用userenv 首先看一下NLS_LANG为空的情况下userenv的返回值 ?...NLS_LANG的每一个component都是可选的,如果只想指定NLS_LANG的territory,那么需要这样指定:NLS_LANG=_JAPAN。
最近,好不容易用plsql developer连接上64位oracle了,不过有弹了一个错误: NLS_LANG在客户端不能确定,字符集转变将造成不可预期的后果 ?...我系统注册表有NLS_LANG键值。 看来得添加环境变量了,如下图: ? 添加环境变量后,经过测试,加载成功。 此时,如果操作本地oracle数据库的话,提示肯定是中文的: ? ?...如果你通过本地plsql developer操作远程数据库,提示是英文的话,就得看看远程系统nls_lang变量是什么的了: ?...远程系统nls_lang变量是AMERICAN_AMERICA.ZHS16GBK,所以提示是英文的了: ? 加载成功的结果可以在plsql developer中看到: ?...v$nls_parameters就表示的是本地nls_lang设置了: ?
客户端字符集是通过设置NLS_LANG参数来设定的。 1、NLS_LANG参数组成 NLS_LANG参数由以下部分组成: NLS_LANG=_....C:\Users\lhr>echo %NLS_LANG% AMERICAN_CHINA.ZHS16GBK 当然,若Windows上安装了Cygwin软件的话,也可以像Linux那样查询: C:\Users...参数 在Windows上常用set命令,而在Linux系统上常用export命令来设置NLS_LANG参数。...NLS_LANG="AMERICAN_AMERICA.ZHS16GBK" NLS_LANG="AMERICAN_AMERICA.AL32UTF8" Linux上设置示例如下所示: [ZFLHRZHDB1...---------------- SIMPLIFIED CHINESE_CHINA.ZHS16GBK <=====可以看到数据库字符集是ZHS16GBK,而客户端字符集是AL32UTF8 在Linux
而设置数据库locale最简单的方法就是设置NLS_LANG这个环境参数。在linux中NLS_LANG是一个环境变量,在windows中NLS_LANG是写在注册表中的。...NLS_LANG这个参数由三个组成部分,分别是语言(language), 区域(territory)和字符集(character set),格式如下: NLS_LANG = language_territory.charset...我们平时最常见的就是:AMERICAN_AMERICA.ZHS16GBK和SIMPLIFIED CHINESE_CHINA.ZHS16GBK NLS_LANG的作用官网是这样说的: It sets the...也就是说如果客户端字符集和NLS_LANG中的charset不同,则会乱码。...set NLS_LANG linux查看nls_lang echo $NLS_LANG 5、修改Oracle Client字符集 修改客户端字符集只需要修改上述检查结果中的NLS_LANG即可。
linux环境下: [root@single ~]# locale LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" …… windows环境下: C:\Users\Martin...=american_america.zhs16gbk 语言和地区为中文中国的话,set NLS_LANG=simplified chinese_china.zhs16gbk linux:一般为utf-8...,即echo $LANG 结果为en_US.UTF-8 或zh_CN.UTF-8 export NLS_LANG=american_america.utf8 测试:客户端Linux,系统字符集为zh_CN.UTF...服务器操作系统字符集(暂时忽略) ps: 1.因为sql*plus 本身没有字符集,依赖于所在操作系统的字符集,而在远端linux上的oracle也是无法直接访问到windows上的字符集,所以依靠sql...*plus的NLS_LANG设置来辨别。
断开、连接 disconn ; conn ww/ww; 关于字符集 操作系统环境变量针对语言项设置有几个,我经常设置的是这两个LANG和NLS_LANG。...LANG是针对Linux系统的语言、地区、字符集的设置,对linux下的应用程序有效,如date; NLS_LANG是针对Oracle语言、地区、字符集的设置,对oracle中的工具有效。...nls_database_parameters WHERE parameter IN ('NLS_LANGUAGE', 'NLS_TERRITORY', 'NLS_CHARACTERSET'); NLS_LANG...的格式如下: NLS_LANG = language_territory.charset Language:指定服务器消息的语言, 影响提示信息是中文还是英文 Territory:指定服务器的日期和数字格式
Windows: set NLS_LANG=american_america.AL32UTF8 set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK Linux:...export NLS_LANG=american_america.AL32UTF8 export NLS_LANG="SIMPLIFIED CHINESE_CHINA".ZHS16GBK 以上为常用客户端字符集
此参数指定数据库的默认语言 参数类型:字符串 语法: NLS_LANGUAGE = language 取值范围:所有有效的语言 默认值: NLS_LANG中得出 通过alter session修改,或者在参数文件中修改...此为基本参数 ---- 其他信息 在LInux系统中,我们一般指定NLS_LANG环境变量(区分大小写),如 NLS_LANG=american_america.al32utf8 其中american...即为默认的NLS_LANGUAGE的值,america为NLS_TERRITORY的值,al32utf8为字符集 注意:客户端NLS_LANG参数会在建立连接的时候覆盖NLS_LANGUAGE参数 NLS_LANG
此参数指定数据库的默认区域 参数类型:字符串 语法:NLS_TERRITORY = territory 取值范围:所有有效的区域名称 默认值: NLS_LANG中得出 通过alter session修改...,或者在参数文件中修改 此为基本参数 ---- 其他信息 在LInux系统中,我们一般指定NLS_LANG环境变量(区分大小写),如 NLS_LANG=american_america.al32utf8...其中american为默认的NLS_LANGUAGE的值,america为NLS_TERRITORY的值,al32utf8为字符集 注意:客户端NLS_LANG参数会覆盖NLS_TERRITORY参数
各节点检查系统依赖包安装情况 2.4 各节点配置/etc/hosts 2.5 各节点创建需要的用户和组 2.6 各节点创建安装目录 2.7 各节点系统配置文件修改 2.8 各节点设置用户的环境变量 Linux...平台 Oracle 11gR2 RAC安装指导: Part1:Linux平台 Oracle 11gR2 RAC安装Part1:准备工作 Part2:Linux平台 Oracle 11gR2 RAC安装...Part2:GI安装 Part3:Linux平台 Oracle 11gR2 RAC安装Part3:DB安装 一、实施前期准备工作 1.1 服务器安装操作系统 配置完全相同的两台服务器,安装相同版本的Linux...lib:$GRID_HOME/lib32 export ORACLE_BASE=/opt/app/grid export ORA_NLS10=$ORACLE_HOME/nls/data export NLS_LANG...lib:$GRID_HOME/lib32 export ORACLE_BASE=/opt/app/grid export ORA_NLS10=$ORACLE_HOME/nls/data export NLS_LANG
3.1Oracle 通过环境变量NLS_LANG配置客户端字符集。...Linux下会话级设置方法:export NLS_LANG =AMERICAN_AMERICA.AL32UTF8 Windows下会话级设置方法:set NLS_LANG =AMERICAN_AMERICA.AL32UTF8...特别要注意一点,用SQLPLUS执行脚本时,NLS_LANG需要跟脚本文件的字符集保持一致。...在用SQLLDR导入数据时,可以在控制文件中指定数据文件的字符集,如果不指定,那么就需要配置NLS_LANG: load datacharacterset zhs16gbkinfile ‘data/Toneinfo.txt
1、查看数据库的字符集 数据库的字符集必须和Linux下设置的环境变量一致,不然会有乱码。...dbbak/log export DELTIME=`date -d "30 days ago" +%Y%m%d` export BAKUPTIME=`date +%Y%m%d%H%M%S` export NLS_LANG...export DELTIME=`date -d "30 days ago" +%Y%m%d` 配置保留数据的时间,这里是保留30天,根据自己需要和服务器的存储空间进行相应的修改即可; export NLS_LANG...|| table_name || ';' FROM USER_TABLES ORDER BY TABLE_NAME; 然后执行查询出来的结果 执行此行,避免表字段注释乱码 : export NLS_LANG...orcl20191121113703.dmp fromuser=DISPLAY touser=DISPLAY ignore=y; // ignore=y 忽略错误,继续执行 总结 以上所述是小编给大家介绍的Linux
清风 # CreateDate : 2015/6/12 15:30:13 # Description : this script is mointoring the linux...bin/bash #echo需要-e参数 alias echo='echo -e' SHELL=/bin/bash LC_ALL=zh_CN.GB18030 JAVA_JRE=/usr/jdk6/jre NLS_LANG...ORACLE_HOME=/export/home/tmn/oracle/product/11.2.0/dbhome export SHELL NLS_LANG LC_ALL JAVA_JRE LD_LIBRARY_PATH
ORA-03113: end-of-file on communication channel 此时SQL*Plus可以执行,但是无法登录数据库,这是因为SQL*Plus执行时就需要调用字符集文件,在Linux...NLS_LANG参数由以下部分组成: NLS_LANG=_....如果导出时候使用的NLS_LANG是和源数据库相同的字符集,那么导入时就可以设置客户端NLS_LANG等于导出时使用的字符集,这样转换只发生在数据库端,而且只发生一次。...读取导出文件字符集ID,和导入进程的NLS_LANG进行比较。...来看一个测试,首先设置导入session NLS_LANG为US7ASCII: E:\nls2>set NLS_LANG=AMERICAN_AMERICA.US7ASCII 执行导入操作: E:\nls2
Real Application Tes Export done in AL32UTF8 character set and AL16UTF16 NCHAR character set<<<--当前的NLS_LANG...<<----dmp文件的导出版本号 import done in ZHS16GBK character set and AL16UTF16 NCHAR character set<<<<<<--当前的NLS_LANG...如果没有显示“export client”行,那么说明当前dmp文件的字符集和当前的NLS_LANG环境变量的值相同。...无论是使用exp还是imp工具都会显示当前的NLS_LANG环境变量的值(表现为“Export done”、“import done”)。...需要注意的是,十六进制在Linux和Windows下顺序不同。
在导出操作时,非常重要的是客户端的字符集设置,也就是客户端的NLS_LANG设置。 NLS_LANG参数由以下部分组成: NLS_LANG=_....SQL> 查看客户端NLS_LANG设置可以使用以下方法: Windows使用: echo %NLS_LANG% 如: E:/>echo %NLS_LANG% AMERICAN_AMERICA.ZHS16GBK...Unix使用: env|grep NLS_LANG 如: /opt/oracle>env|grep NLS_LANG NLS_LANG=AMERICAN_CHINA.ZHS16GBK Windows...导出使用的字符集将会记录在导出文件中,当文件导入时,将会检查导出时使用的字符集设置,如果这个字符集不同于导入客户端的NLS_LANG 设置,字符集将根据导入客户端NLS_LANG设置进行转换,如果必要,...2.源数据库和目标数据库字符集不同 如果我们导出时候使用的NLS_LANG是和源数据库相同的字符集,那么导入时就可以设置客户端NLS_LANG等于导出时使用的字符集,这 样转换只发生在数据库端,而且只发生一次
设置NLS_LANG环境变量 2. 修改SQL*Plus字符集设置 3....设置NLS_LANG环境变量 NLS_LANG是Oracle数据库的一个环境变量,它用于指定字符集和语言环境。正确设置NLS_LANG可以解决SQL*Plus中的中文乱码问题。...您可以按照以下步骤设置NLS_LANG环境变量: 打开命令行终端。...使用以下命令设置NLS_LANG环境变量(请根据您的字符集和语言环境进行相应更改): export NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK 在上述示例中,“...请检查NLS_LANG的设置,确保它的格式正确。
LANG NLS_LANG=SIMPLIFIED CHINESE_CHINA.AL32UTF8 LANG=zh_CN.UTF-8 SQL> select dump('云') from dual;...,字符集使用ZHS16GBK [oracle@java_1 ~]$ export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK" [oracle@java_1...~]$ env |grep LANG NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK LANG=zh_CN.UTF-8 SQL> select dump('云')...设置 Commonly Used Values for NLS_LANG Table C-1 lists commonly used NLS_LANG values for various operating...system locales: Table C-1 NLS_LANG Parameter Values Operating System Locale NLS_LANG Value
而另外在Linux下安装Oracle的客户端时,设置了1个NLS_LANG的环境变量,详情可以参考Ubuntu14.04安装Oracle Instant Client这篇文章,当然这篇文章有一些细节的东西没有介绍...一般情况下,我们在cmd中进行如下的设置: setenv NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK 我们指定Oracle消息使用的语言为简体中文,而客户端的字符集为...而正常的情况应该指定其编码为GBK: >>> a.decode('gbk') '中国' 而设定NLS_LANG就是相当于修改上述的编码为GBK。
设置笔记本的字符集, 如果用的Linux环境, export NLS_LANG=SIMPLIFIED CHINESE_CHINA.AL32UTF8 如果用的Windows环境, set NLS_LANG...这个不影响导出,导出完成再设置字符集为, set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK 补充下字符集的知识, NLS_LANG = language_territory.charset...从NLS_LANG的组成我们可以看出,真正影响数据库字符集的其实是第三部分。所以两个数据库之间的字符集只要第三部分一样就可以相互导入导出数据,前面影响的只是提示信息是中文还是英文。
领取专属 10元无门槛券
手把手带您无忧上云