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在客户端不能确定,字符集转变将造成不可预期的后果 ?...看到ULS_LANG这行是空的。 确实,如果查询,表中的中文注释就是问号。 怎么没加载呢? ? 我系统注册表有NLS_LANG键值。 看来得添加环境变量了,如下图: ?...如果你通过本地plsql developer操作远程数据库,提示是英文的话,就得看看远程系统nls_lang变量是什么的了: ?...关于nls_lang,涉及到了几个表: v$nls_parameters,v$nls_valid_values,nls_database_parameters,nls_instance_parameters...v$nls_parameters就表示的是本地nls_lang设置了: ?
断开、连接 disconn ; conn ww/ww; 关于字符集 操作系统环境变量针对语言项设置有几个,我经常设置的是这两个LANG和NLS_LANG。...LANG是针对Linux系统的语言、地区、字符集的设置,对linux下的应用程序有效,如date; NLS_LANG是针对Oracle语言、地区、字符集的设置,对oracle中的工具有效。...NLS_LANG的格式如下: NLS_LANG = language_territory.charset Language:指定服务器消息的语言, 影响提示信息是中文还是英文 Territory:指定服务器的日期和数字格式...可以不关注下俩个 (3)nls_instance_parameters 其来源于v$parameter,表示客户端的字符集的设置,可能是参数文件,环境变量或者是注册表 (4)nls_session_parameters...来源于v$nls_parameters,表示会话自己的设置,可能是会话的环境变量或者是alter session完成,如果会话没有特殊的设置,将与nls_instance_parameters一致。
客户端字符集是通过设置NLS_LANG参数来设定的。 1、NLS_LANG参数组成 NLS_LANG参数由以下部分组成: NLS_LANG=_....应用设置为UTF8 从NLS_LANG的组成可以看出,真正影响数据库字符集的其实是第三部分。...C:\Users\lhr>echo %NLS_LANG% AMERICAN_CHINA.ZHS16GBK 当然,若Windows上安装了Cygwin软件的话,也可以像Linux那样查询: C:\Users...Oracle的NLS_LANG参数 在Windows上常用set命令,而在Linux系统上常用export命令来设置NLS_LANG参数。...NLS_LANG="AMERICAN_AMERICA.ZHS16GBK" NLS_LANG="AMERICAN_AMERICA.AL32UTF8" Linux上设置示例如下所示: [ZFLHRZHDB1
结果为936 set NLS_LANG=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-8 正确设置: export NLS_LANG=american_america.utf8 select dump('靖宇',1016) from dual; insert...into t2 values (1,'靖宇'); commit; 错误设置: export NLS_LANG=american_america.zhs16gbk select dump('靖宇',1016...*plus的NLS_LANG设置来辨别。
而设置数据库locale最简单的方法就是设置NLS_LANG这个环境参数。在linux中NLS_LANG是一个环境变量,在windows中NLS_LANG是写在注册表中的。...NLS_LANG这个参数由三个组成部分,分别是语言(language), 区域(territory)和字符集(character set),格式如下: NLS_LANG = language_territory.charset...它还设置了客户端的字符集,这是客户端程序用于数据输入或者显示的字符集。也就是说如果客户端字符集和NLS_LANG中的charset不同,则会乱码。...:oracle服务器和客户端字符集的查看和修改 4、检查Oracle Client字符集 windows查看nls_lang set NLS_LANG linux查看nls_lang echo $NLS_LANG...,表示会话自己的设置,可能是会话的环境变量或者是alter session完成,如果会话没有特殊的设置,将与nls_instance_parameters一致。
大家都知道 NLS_DATE_FORMAT这个参数,也知道有LANG这个环境变量 也知道session>instance>database; 但是是否有想过session中这个 NLS_DATE_FORMAT...一般来说能够修改NLS_DATE_FORMAT的方式有以下几种 第一种是通过系统变量NLS_DATE_FORMAT,这个变量也是依赖于NLS_LANG的设置的。...第二种是通过sqlplus的glogin.sql来设置NLS_DATE_FORMAT,alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss...最后他们经过很多的分析,原本的设置是英文,发现修改客户端的LANG参数配置为日文就不需要触发器了,这个问题就引刃而解了。...~]$ date Wed Apr 1 11:15:23 CST 2015 LANG是针对Linux系统的语言、地区、字符集的设置,对linux下的应用程序有效,如date;NLS_LANG是针对Oracle
需要注意的是,在不同平台,以上命令的输出可能有所不同,比如在Linux平台: [oracle@jumper oracle]$ cat a.dmp |od -x |head -2 0000000 0303...,Solaris是Big-Endians,Linux是Little-Endians,所以Linux上的输出通过交换可以得到: 0303 5445 58504f52 …....修改完成之后,可以导入修改后的DMP文件: E:\nls2>set NLS_LANG=AMERICAN_AMERICA.ZHS16GBK E:\nls2>imp eygle/eygle file=Sus7ascii-Cus7ascii-exp817...然后可以导入数据: E:\nls2>set nls_lang=AMERICAN_AMERICA.US7ASCII E:\nls2>imp eygle/eygle file=Sus7ascii-Cus7ascii.dmp...character set us7ascii;”命令时,数据库v$nls_parameters中的字符集设置随之更改,该参数影响导入进程,更改后可以正确导入数据,重起数据库后,该设置恢复。
Linux操作系统。...=$ORACLE_HOME/nls/data export NLS_LANG=American_america.ZHS16GBK 第2个节点grid用户: export GRID_HOME=/opt/app...=$ORACLE_HOME/nls/data export NLS_LANG=American_america.ZHS16GBK 第1个节点oracle用户: export ORACLE_HOME=/opt...export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/lib32 export ORACLE_BASE=/opt/app/oracle export NLS_LANG...export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/lib32 export ORACLE_BASE=/opt/app/oracle export NLS_LANG
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...下Oracle设置定时任务备份数据库,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。
在使用EXP工具进行导出操作时,非常重要的是客户端的字符集设置,也就是客户端的NLS_LANG设置。...客户端的NLS_LANG设置不仅影响数据转储,还会影响到查询显示,是极其重要的参数。...查看客户端NLS_LANG设置可以使用以下方法: · Windows客户端的NLS_LANG设置受注册表参数影响,所以可从注册表中找到当前的参数设置,具体键值位于HKEY_LOCAL_MACHINE\SOFTWARE...,导出使用的字符集将会记录在导出的DMP文件中,当文件导入时,将会检查导出时使用的字符集设置,如果这个字符集不同于导入客户端的NLS_LANG设置,字符集将根据导入客户端NLS_LANG设置进行转换,如果必要...· 如果NLS_LANG的设置和数据库不同,那么数据需要转换后才能插入数据库中。
查询数据库字符集: select * from nls_database_parameters t where t.parameter in ('NLS_CHARACTERSET','NLS_NCHAR_CHARACTERSET...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 以上为常用客户端字符集
如无特殊说明数据库版本为11.2.0.4 ---- NLS_LANGUAGE ?...此参数指定数据库的默认语言 参数类型:字符串 语法: 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...--- 参考连接 https://docs.oracle.com/cd/E11882_01/server.112/e10729/ch3globenv.htm#NLSPG200 ---- 下期参数 NLS_TERRITORY
见前一个帖子,后果就是plsql启动时读的环境变量位置是五花八门,可能是注册表中oraclehone下的,也可能是instantclient下的或者是电脑高级属性中环境变量,当然start.bat中的设置优先...”=”YYYY-MM-DD HH24:MI:SS:FF6” 在注册表中设置Oracle环境变量的地方(也就是设置ORACLE_HOME的地方)设置NLS_TIMESTAMP_FORMAT的格式...(也就是创建这样一个字符串项,然后设置它的值为你、转换需要的掩码,我一般设置为YYYY-MM-DD HH24:MI:SS:FF6),然后关掉PL/SQL DEVELOPER,重新登录,如果没有效果,重启电脑...帖子三: 修改ORACLE-NLS_DATE_FORMAT时间格式的四种方式 1.可以在用户环境变量中指定(LINUX)。...在用户的.bash_profile中增加两句: export NLS_LANG=AMERICAN ---要注意这一句必须指定,不然下一句不生效。
Linux 系统 Oracle 19c 安装教程 第一章:安装前准备 ① 安装包获取 ② 预安装 ③ 安装依赖包 ④ 创建必要文件夹并授权 ⑤ 配置信息 第二章:图形化界面安装过程演示 ① 选择安装还是升级...⑬ 操作系统组配置 ⑭ root 用户信息配置 ⑮ 先决条件检查 ⑯ 配置信息汇总 第一章:安装前准备 ① 安装包获取 预安装包下载: 小蓝枣的csdn资源仓库 linux64 位 oracle19c...="YYYY:MM:DDHH24:MI:SS"; export NLS_DATE_FORMAT NLS_LANG=american_america.ZHS16GBK; export NLS_LANG TNS_ADMIN...=$ORACLE_HOME/network/admin; export TNS_ADMIN ORA_NLS11=$ORACLE_HOME/nls/data; export ORA_NLS11 PATH=...⑧ 配置选项设置 我这个专门做数据库服务器用,所以内存设置到了百分之 70。 设置字符集,我选择的是 GBK。 ⑨ 数据库存储配置 文件系统。
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...客户端来源数据使用的字符集 character_set_connection:连接层字符集 character_set_results:查询结果字符集 可以用set names ** 统一设置
springboot linux启动报java.lang.IllegalArgumentException 启动报错提示 SLF4J: Class path contains multiple SLF4J...sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke...org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909) ... 21 more Caused by: java.lang.IllegalArgumentException...org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5132) 报错描述 本地开发环境idea启动项目正常,部署在linux...logback-classic 包,通过idea maven项目管理可以看到jar包依赖关系 点击之后可看到: 我们在这里排除掉slf4j-log4j12的jar包 排除之后重新打包放在linux
在导出操作时,非常重要的是客户端的字符集设置,也就是客户端的NLS_LANG设置。 NLS_LANG参数由以下部分组成: NLS_LANG=_....SQL> 查看客户端NLS_LANG设置可以使用以下方法: Windows使用: echo %NLS_LANG% 如: E:/>echo %NLS_LANG% AMERICAN_AMERICA.ZHS16GBK...导出使用的字符集将会记录在导出文件中,当文件导入时,将会检查导出时使用的字符集设置,如果这个字符集不同于导入客户端的NLS_LANG 设置,字符集将根据导入客户端NLS_LANG设置进行转换,如果必要,...我们看一个测试: E:/nls2>set NLS_LANG=AMERICAN_AMERICA.US7ASCII 设置导入session NLS_LANG为US7ASCII E:/nls2>e:/oracle...2.如果NLS_LANG的设置和数据库不同,那么数据需要转换后才能插入数据库中。
如无特殊说明数据库版本为11.2.0.4 ---- NLS_TERRITORY ?...此参数指定数据库的默认区域 参数类型:字符串 语法: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参数...为小数分隔符 可通过如下参数修改 NLS_NUMERIC_CHARACTERS = ", " 逗号为小数分隔符,空格为群组分隔符 注意:这2个符号必须是单字节的,不能为数字,也不能为 + -
NLS_LANG,如下 [oracle@java_1 ~]$ export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8" [oracle@java_1 ~]$...###下面将其设置为繁体字符集,报ORA-12705,如下: [oracle@java_2 ~]$ export NLS_LANG="CHINESE_TAIWAN.ZHT16MSWIN950" [oracle...AL32UTF8的情形 [oracle@java_1 ~]$ unset NLS_LANG ###不设置环境变量NLS_LANG [oracle@java_1 ~]$ env|grep LANG LANG...设置 Commonly Used Values for NLS_LANG Table C-1 lists commonly used NLS_LANG values for various operating...与NLS_LANG,前者是设置操作系统级别环境语言及字符集变量,后者是针对数据库级别 2、在未设置NLS_LANG的情形下,导致被存储的字符数量尺寸过大 3、NLS_CHARACTERSET
领取专属 10元无门槛券
手把手带您无忧上云