易截截图软件、单文件、免安装、纯绿色、仅160KB

Oracle字符集问题总结

  一、什么是oracle字符集
  Oracle字符集是一个字节数据的解释的符号集合,有大小之分,有相互的包容关系。ORACLE 支持国家语言的体系结构允许你使用本地化语言来存储,处理,检索数据。它使数据库工具,错误消息,排序次序,日期,时间,货币,数字,和日历自动适应本地化语言和平台。
  影响oracle数据库字符集最重要的参数是NLS_LANG参数。它的格式如下:
  NLS_LANG = language_territory.charset
  它有三个组成部分(语言、地域和字符集),每个成分控制了NLS子集的特性。其中:
  Language 指定服务器消息的语言,territory 指定服务器的日期和数字格式,charset 指定字符集。如:AMERICAN _ AMERICA. ZHS16GBK
  从NLS_LANG的组成我们可以看出,真正影响数据库字符集的其实是第三部分。所以两个数据库之间的字符集只要第三部分一样就可以相互导入导出数据,前面影响的只是提示信息是中文还是英文。
  二、如何查询Oracle的字符集
  很多人都碰到过因为字符集不同而使数据导入失败的情况。这涉及三方面的字符集,一是oracel server端的字符集,二是oracle client端的字符集;三是dmp文件的字符集。在做数据导入的时候,需要这三个字符集都一致才能正确导入。
  1、查询oracle server端的字符集
  有很多种方法可以查出oracle server端的字符集,比较直观的查询方法是以下这种:SQL>select userenv(‘language’) from dual;
  结果类似如下:AMERICAN _ AMERICA. ZHS16GBK
  2、如何查询dmp文件的字符集
  用oracle的exp工具导出的dmp文件也包含了字符集信息,dmp文件的第2和第3个字节记录了dmp文件的字符集。如果dmp文件不大,比如只有几M或几十M,可以用UltraEdit打开(16进制方式),看第2第3个字节的内容,如0354,然后用以下SQL查出它对应的字符集:
  SQL> select nls_charset_name(to_number('0354','xxxx')) from dual;
  ZHS16GBK
  如果dmp文件很大,比如有2G以上(这也是最常见的情况),用文本编辑器打开很慢或者完全打不开,可以用以下命令(在unix主机上):
  cat exp.dmp |od -x|head -1|awk '{print $2 $3}'|cut -c 3-6
  然后用上述SQL也可以得到它对应的字符集。
  3、查询oracle client端的字符集
  这个比较简单。在windows平台下,就是注册表里面相应OracleHome的NLS_LANG。还可以在dos窗口里面自己设置,比如:
  set nls_lang=AMERICAN_AMERICA.ZHS16


相关文档:

Oracle 表连接方式介绍(SML + NL + HJ)

Join是一种试图将两个表结合在一起的谓词,一次只能连接2个表,表连接也可以被称为表关联。在后面的叙述中,我们将会使用”row source”来代替”表”,因为使用row source更严谨一些,并且将参与连接的2个row source分别称为row source1和row source 2。Join过程的各个步骤经常是串行操作,即使相关的r ......

Oracle SQL与ANSI SQL区别


Oracle SQL与ANSI SQL区别
相信大家都使用过SQL SERVER。今天给大家简单介绍一下Oracle SQL与ANSI SQL区别。其实,SQL SERVER与与ANSI SQL也有区别。
1、首先大家要明白什么是ANSI
ANSI:美国国家标准学会(American National Standards Institute)。当时,美国的许多企业和专业技术团体,已开始了标准化工作,但因彼 ......

Oracle EXP/IMP 导出导入工具的使用


一. 导出工具 exp
1. 它是操作系统下一个可执行的文件 存放目录/ORACLE_HOME/bin
   exp导出工具将数据库中数据备份压缩成一个二进制系统文件.可以在不同OS间迁移
   
   它有三种模式:
       a. 用户模式: 导出用户所有对象以及对象中的 ......

[oracle 10g]命令行启动ORACLE服务及顺序

案例说明
为了节约系统资源,我们在练习oracle的电脑中经常会将oracle的各种服务设为手动的启动模式,有时为了方便期间不愿意打开服务管理窗口,因此特在此记录一下命令行启动方法。
我有两个例程:orcl--做目标数据库;test--做恢复目录数据库。
一般来说顺序如下:
C:\>net start oracleserviceorcl
OracleServic ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号