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设置了: ?
客户端字符集是通过设置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
断开、连接 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一致。
而设置数据库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一致。
结果为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设置来辨别。
大家都知道 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中的字符集设置随之更改,该参数影响导入进程,更改后可以正确导入数据,重起数据库后,该设置恢复。
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设置定时任务备份数据库,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。
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
在使用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 以上为常用客户端字符集
* from v$nls_parameters where parameter='NLS_CHARACTERSET';from v$nls_parameters where parameter='NLS_CHARACTERSET...设置笔记本的字符集, 如果用的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的组成我们可以看出,真正影响数据库字符集的其实是第三部分。所以两个数据库之间的字符集只要第三部分一样就可以相互导入导出数据,前面影响的只是提示信息是中文还是英文。...SQL> show parameter deferred_segment_creation; show parameter deferred_segment_creation; 如果为开启,可以设置该参数
如无特殊说明数据库版本为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 ---要注意这一句必须指定,不然下一句不生效。
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
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 ** 统一设置
设置NLS_LANG环境变量 2. 修改SQL*Plus字符集设置 3....设置NLS_LANG环境变量 NLS_LANG是Oracle数据库的一个环境变量,它用于指定字符集和语言环境。正确设置NLS_LANG可以解决SQL*Plus中的中文乱码问题。...您可以按照以下步骤设置NLS_LANG环境变量: 打开命令行终端。...NLS_LANG环境变量设置不正确。...请检查NLS_LANG的设置,确保它的格式正确。
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。 ⑨ 数据库存储配置 文件系统。
在导出操作时,非常重要的是客户端的字符集设置,也就是客户端的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的设置和数据库不同,那么数据需要转换后才能插入数据库中。
领取专属 10元无门槛券
手把手带您无忧上云