在部署重构版测试环境时,需要创建Oracle数据库,使用dbca创建数据库之后没有注意数据库本身的字符集,导致后续所有的数据库脚本执行后中文乱码。最后的解决办法是清掉全库数据,再修改字符集,重启数据库。
第一期就从基本的初始化参数讲起,一篇一个参数,会尽可能的具体. 如无特殊说明数据库版本为11.2.0.4
操作系统环境变量针对语言项设置有几个,我经常设置的是这两个LANG和NLS_LANG。
很多刚接触的朋友经常会搞混这两个字符集,数据库字符集是在创建数据库时进行指定的,不建议更改!而客户端字符集是可以随时更改的!
在工作中总是会碰到各种和date相关的问题,一般这种问题都是让人很纠结的。 比如前几天一个朋友和我分享了他关于时间问题的两个案例。 第一个是他在做impdp导入数据的时候,发现导入很顺利完成了,但是原本的timestamp数据类型的数据都变成了sysdate值了,这样数据就完全不对应了。timestamp的数据类型精度要高得多,可以精确到小数秒(默认是6位,算是微妙了,可以最高到9位),可能在有些系统中精确到秒已经足够了,但是据我所知,还没有这种数据类型的强制转换。我们聊了会,基本的共识就是数据库层面不会自
编辑手记:很多人在进行数据库导入导出操作的时候会遇到字符集的问题,今日拣选了 《循序渐进Oracle》一书中的相关章节,希望对初学Oracle的朋友有所帮助。 在传统的EXP导出文件中,记录着导出使用
创建备份数据的目录 mkdir -p /home/oracle/dbbak/data
NLS(National Language Support,国家语言支持)是数据库的一个非常强大的特性,控制着数据的许多方面,最重要的两个方面包括:1、文本数据采用何种编码存储在磁盘上。2、透明地将数据从一个字符集转换到另一个字符集。Oracle字符集可以分为数据库字符集和客户端字符集。客户端字符集定义了客户端字符数据的编码方式,任何发自或发往客户端的字符数据均使用客户端定义的字符集编码,客户端可以看作是能与数据库直接连接的各种应用,例如SQL*Plus、exp/imp等。客户端字符集是通过设置NLS_LANG参数来设定的。
1.数据库字符集:数据库需要存储多国语言选择AL32UTF8,只有中英文选择ZHS16GBK
在开发中常常碰到,需要导入dmp文件到现有数据库。这里的dmp文件可能来自于其它系统,所以,一般情况下是不知道导出程序(exp)的版本、导出时间或者导出模式等信息的。那么如何从现有的dmp文件中获取到这些信息呢?下面作者将一一讲解。
userenv函数返回当前会话(session)的相关信息。以下sql语句可以查询当前会话连接的数据库字符集
Oracle创建数据库时指定字符集,一般不能修改,整个数据库都是一个字符集。虽然还支持指定国家字符集,用于nvarchar2类型,不过很少用到。常用的字符集:AL32UTF8和ZHS16GBK,其中AL32UTF8与UTF8几乎是等价的。一个汉字在AL32UTF8中占三个字节,而在ZHS16GBK中占用两个字节。
Linux平台 Oracle 11gR2 RAC安装指导: Part1:Linux平台 Oracle 11gR2 RAC安装Part1:准备工作 Part2:Linux平台 Oracle 11gR2 RAC安装Part2:GI安装 Part3:Linux平台 Oracle 11gR2 RAC安装Part3:DB安装
Oracle数据库是广泛使用的关系型数据库管理系统,而SQLPlus是Oracle提供的一种交互式命令行工具,用于执行SQL语句。然而,当在SQLPlus中执行SQL语句时,如果SQL语句中包含中文字符,可能会出现乱码问题,甚至导致错误。本文将介绍如何解决在Oracle SQL*Plus中执行SQL语句时出现中文乱码和报错的问题。
之前装 win7 + oracle 11 R2 (64) + instantclient_11_2 (32) + PLSQL(32) 费了很大力气,见前一个帖子,后果就是plsql启动时读的环境变量位置是五花八门,可能是注册表中oraclehone下的,也可能是instantclient下的或者是电脑高级属性中环境变量,当然start.bat中的设置优先。
近期在项目中,要对1张100多万条记录的表进行查询,然后进行一些数据的统计,但是在这个过程中,发现只查询出来几条数据就出现了UnicodeDecodeError了。 在这里,我们使用sqlalchemy库进行查询,其内部还是Cx_Oracle来进行对应的操作,使用的Python版本为3.5.0,宿主系统为Windows 2008 Server,然后进行类似如下的操作: from sqlalchemy import create_engine engine = create_engine('oracl
在本地的虚拟机环境一直凑合着用英文,今天想看看中文的东西都显示乱码,下定决心要把问题解决了。 如果直接打印文本内容,通过putty也会显示乱码。 [ora11g@rac1 ~]$ cat aa.sh
数据库的全球化特性是数据库发展的必然结果,位于不同地区、不同国家、不用语言而使用同一数据库越来越普遍。对于不同国家或地区数据库通常会使用不同的字符集,而全球性企业也会选择使用统一编码的数据库字符集。Oracle数据库统一字符集为AL32UTF8,可以参考:Oracle 全球化特性与字符集。对于不同的字符集容易出现转换乱码,同时不同字符集也影响存储空间的占用。 如本文下面的描述。 一、字符集环境变量对数据库的影响 [oracle@java_1 ~]$ env |grep LANG LANG=zh_CN.
导读:本文来自『墨天轮』专栏“循序渐进Oralcle”(https://www.modb.pro/topic/6289,复制到浏览器中打开或者点击“阅读原文”),介绍《循序渐进Oracle》第三章的3.1-3.4节:字符集的基本知识、数据库的字符集、字符集文件及字符支持、NLS_LANG的设置与影响、导入导出及字符转换。
设置为UTF8,需要新增变量NLS_LANG,赋值为:SIMPLIFIED CHINESE_CHINA.AL32UTF8
有时我们使用SecureCRT软件连接到我们的Oracle目标主机,会发现有些回显信息显示为乱码,非常不方便操作。 本文将介绍最常见的两种乱码情况解决方法。
今天在客户服务器上遇到了oracle中文乱码问题,第一个想到的是:要想避免oracle字符乱码的问题,需要注意oracle客户端的字符编码和服务端的字符编码保持一致。
阅读不方便,此时可以通过设置NLS_DATE_FORMAT来让日期显示更人性化,可以有如下几种方式:
数据库的全球化特性是数据库发展的必然结果,位于不同地区、不同国家、不用语言而使用同一数据库越来越普遍。Oracle数据库提供
本文是《centos7下静默安装oracle11G图解配置》中第二篇。因linux下安装Oracle太过繁琐,如果写在一篇文章中,太长了。本文主要讲解安装前环境配置。
大家好,又见面了,我是你们的朋友全栈君。SecureCRT 连接 Linux 时经常会看到乱码。 发生乱码的原因主要是有三个地方 1.Linux 的 etc 的系统默认配置的编码 2.用户环境变量里面设置的 LANG 变量 3.SecureCRT 会话变量里面的字符集的设置 只要保持这三个地方的字条集编码保持一致就可以了。 解决步骤如下: 1.设置用户的环境变量 查询当前用户的 Local 信息: # export |grep LANG declare -x LANG=”zh_CN.GB18030″ 设置用户的 Local 为 UTF-8 # env lang=zh_CN.utf8 HOSTNAME=devdbserver TERM=vt100 SHELL=/bin/bash HISTSIZE=1000 NLS_LANG=AMERICAN SSH_CLIENT=::ffff:192.168.14.12 51137 22 SSH_TTY=/dev/pts/2 JRE_HOME=/usr/java/jdk1.5.0/jre …….. lang=zh_CN.utf8 # 可以看到现在用户的环境变量将语言设置成为了 lang=zh_CN.utf8。 2.设置 SecureCRT。 设置步骤如下图所示: 需要说明的是: 设置字符编码跟用户变量一样后,可能还会出现中文乱码。 原因是字体引起的。 因为有些字体无法显示中文,所以中文就会出现乱码。 所以在选择字体时,应该选择那支持中文的字体
在使用exp/imp导出导入,经常会碰见各种的问题,前两天某公众号发了篇《IMP-00009:异常结束导出文件解决方案》,介绍了导入出现IMP-00009错误的解决方案,讲了各种场景,可以参考。
何剑敏 Oracle ACS华南区售后团队,首席技术工程师 曾供职于中国联通信息计费部、卓望数码,系统支撑部首席DBA,负责中国移动全网梦网业务和移动应用商城数据库维护。后供职于IBM,负责米其林项目和澳洲电信(Telstra)项目数据库管理。现供职于Oracle ACS华南区售后团队,首席技术工程师。多年从事第一线的数据库运维工作,有丰富项目经验、维护经验和调优经验,专注于数据库的整体运维。 编辑手记:字符集是数据库中很复杂的一个问题,通常设定后不做改变,但因生产的需要,也提供通过导入导出或命令修改的
http://www.eygle.com/special/NLS_CHARACTER_SET_06.htm
oracle 如果server与client端的编码不一致,asp.net读取db记录显示时,就可能出现乱码 查看oracle服务端编码:select * from sys.nls_database_parameters; 查看client编码:select * from sys.nls_session_parameters; 如果二端编码不一致,可以修改客户端的编码: regedit打开注册表: HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/KEY_OraDb10g_home1 修
RedHat Linux AS3.0上安装OracleDB一直比较麻烦,多方寻找,终于找到一个测试可以成功的安装手册。
编辑手记:很多人在数据库各种操作中遭遇过乱码的问题,今天我们分析一下乱码产生的原因。本文节选于《循序渐进Oracle》 通常在现实环境中,存在3个字符集设置: 客户端应用字符集(Client ApplicationCharacter Set); 客户端NLS_LANG参数设置; 服务器端,数据库字符集(Character Set)设置。 由于一个字符在客户端应用(如SQLPLUS、CMD、NOTEPAD等)中以怎样的字符显示取决于客户端操作系统,客户端能够显示怎样的字符,我们就可以在应用中录入这些字符。至
http://www.eygle.com/special/NLS_CHARACTER_SET_04.htm
linux64 位 oracle19c 安装包获取: 小蓝枣的资源仓库,提取码:qde5
instantclient-basic-nt-11.2.0.3.0.zip客户端压缩包为例
最近,好不容易用plsql developer连接上64位oracle了,不过有弹了一个错误:
前面介绍了Oracle的基本参数,从这节开始讲其他的参数,参数从v$parameter中提取
本文下载的是以下两个包 oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm
http://www.eygle.com/special/NLS_CHARACTER_SET_05.htm
3. 修改变量 现在需要将AMERICAN_AMERICA.ZHS16GBK 改为 SIMPLIFIED CHINESE_CHINA.ZH16GBK oracle用户编辑家目录的 .bash_profile 添加
作者 杨禹航 出品 沃趣技术 Oracle 12.1发布至今已有多年,但国内Oracle 12C的用户并不多,随着12.2在去年的发布,选择安装Oracle 12c的客户量明显增加,在接下来的几年中,Oracle 12c将逐步得到普及。 目前关于12C新特性的文章很多,但大多都不成体系,本次的文章是一个非常完整、连贯的系列,将带你全面的从基础到深入全方位的理解Oracle 12C。 本篇为Oracle 12c系列的开篇文章《Oracle 12c系列(1)Multitenant Container》。
Oracle 12.1发布至今已有多年,但国内Oracle 12C的用户并不多,随着12.2在去年的发布,选择安装Oracle 12c的客户量明显增加,在接下来的一两年中,Oracle 12c将逐步得到普及。
领取专属 10元无门槛券
手把手带您无忧上云