影响Oracle数据库字符集最重要的参数是NLS_LANG参数。

它的格式如下: NLS_LANG = language_territory.charset

它有三个组成部分(语言、地域和字符集),每个成分控制了NLS子集的特性。

其中:

Language: 指定服务器消息的语言, 影响提示信息是中文还是英文

Territory: 指定服务器的日期和数字格式,

Charset:  指定字符集。

公司有两个Windows环境下的数据库,版本不同,一个是11g r2,另一个是10g r2,先说说需求:我要从11g r2导出数据库,导入到10g r2中,要求不能有乱码问题,包括字段注释。

1、我先进11g所在系统,导出数据库。

exp NJ_ZHFW/NJ_ZHFW@10.194.186.14:1521/ORCL file=E:\dmp\NJ_ZHFW20170612.dmp owner=NJ_ZHFW;

2、oracle导出的dmp文件字符集由当前数据库字符集编码格式决定的,和客户端没关系。

进入服务端查看字符集:select userenv('language') from dual;

如果有dmp文件但进不去数据库所在系统,那么只能通过查看dmp来确认字符集编码格式。如何查询/修改dmp文件的字符集

字符集编码是:ZHS16GBK

3、知道了dmp文件的字符集是什么了,那么就到10g环境下导入。

a、先查看服务端的字符集编码,这里是AL32UTF8,是支持中文的编码,所以不需要改动。

改动服务端编码请看这里:oracle 修改服务端字符集编码

b、修改dmp文件版本,因为是从高版本导入低版本,V11.02.00 改成 V10.02.00

c、临时修改环境变量,在命令行中设置NLS_LANG为环境变量,它将覆盖注册表和系统属性中的NLS_LANG的定义。

在Windows下通过set nls_lang来设置,只是Session级别的,关闭cmd窗口后再打开,就又变为原来的设置了。

注意,在这里我们要将环境变量NLS_LANG的字符集编码设置成dmp的字符集编码,这样我们的cmd窗口作为客户端才能够正确编译dmp文件

echo %NLS_LANG%   //查看环境变量

set nls_lang=AMERICAN_AMERICA.ZHS16GBK

d、导入dmp文件

imp NJ_ZHFW/NJ_ZHFW@192.168.28.111:1521/orcl file=D:\Database\NJ_ZHFW20170612.dmp full=y;

参考资源:

Oracle之 dmp导入/导出、数据库操作等过程中的字符集问题   http://blog.csdn.net/haiross/article/details/18225415

环境变量NLS_LANG  http://www.cnblogs.com/justuntil/p/5636574.html

Oracle 客户端 NLS_LANG 的设置(转)   http://www.cnblogs.com/softidea/p/3974907.html

如何查看查询oracle字符集、 修改设置字符集以及常见的oracle utf8字符集和oracle exp 字符集问题。   http://blog.csdn.net/shen020453/article/details/51013408

oracle exp/imp 字符集 http://www.cnblogs.com/chinhr/archive/2010/01/19/1651502.html

Oracle之 dmp导入/导出、数据库操作等过程中的字符集问题的更多相关文章

  1. 配置toad进行导入导出数据库操作

    最近需要对oracle进行导入导出操作,于是研究使用toad进行导入导出oracle数据库操作,现稍作记录. oracle的导入导出不管是否使用toad还是pl/sql工具进行操作,实际上最终都是通过 ...

  2. 数据库(学习整理)----7--Oracle导入导出数据库文件

    Oracle导入本地数据库操作手册 1.旧数据库忘记了密码,首先进入cmd:1)输入:sqlplus/nolog2)输入:connect/as sysdba3)输入:alter user sys id ...

  3. Oracle 数据泵导入导出总结

    Oracle 数据泵(IMPDP/EXPDP)导入导出总结 Oracle数据泵导入导出是日常工作中常用的基本技术之一,它相对传统的逻辑导入导出要高效,这种特性更适合数据库对象数量巨大的情形,因为我日常 ...

  4. mysql 导入导出数据库、数据表的方法

    mysql 导入导出数据库.数据表的方法. Linux操作系统中,均在控制台下操作.1,导入数据库:前提:数据库和数据表要存在(已经被创建)(1)将数据表 test_user.sql 导入到test ...

  5. linux下导入导出数据库

    导入导出数据库用mysqldump命令,使用方法与mysql命令类似. 导出 导出sql(包含数据和表结构):mysqldump -uroot -p dbname > dbname.sql 导出 ...

  6. MySql导入导出数据库(含远程导入导出)

    一.导入导出本地数据库    导出: 1.先运行cmd,cd 到mysql安装目录中的bin文件夹 2.mysqldump -u root -p 数据库名 > 导出文件名.sql 其他情况下: ...

  7. mysqldump导入导出数据库总结

    mysqldump导入导出数据库总结 基本的使用方法总结: 1 导出所有库 系统命令行 mysqldump -uusername -ppassword --all-databases > all ...

  8. MySQL导入-导出数据库-mac版

    MySQL导入-导出数据库-mac版 导出数据库-表结构,和数据 mysqldump -u 账号 -p 数据库名 表 > 文件名.sql 例如:mysqldump -u root -p test ...

  9. ORACLE 远程导入导出数据库

      Oracle数据导入导出imp/exp就相当于oracle数据还原与备份.exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中. ...

随机推荐

  1. Yii1打印当前请求所有执行的SQL及耗时

    我们在熟悉新的项目了解业务的时候,可以有很多方式.看项目文档说明:和了解项目身边的人沟通:通过自己度代码调试,但是一步步调试打印语句或许有点慢,如果可以调出当前请求的所有语句,那么很快可以熟悉他的业务 ...

  2. bind 笔记

    BIND 的安装和配置: dns 服务,程序包名为bind ,程序名称为named 只需要安装 bind ,bind-libs ,bind-utils 生产环境全部安装 bind 服务脚本 :/etc ...

  3. 微信小程序,天气预报(百度地图开放平台API)

    小程序看似一种全新的东西,但好在基本上就是曾经HTML,CSS,JS的一个微变版本. 语法和之前一样.只是一些用法和名字(标签)发生了一些变化. 小程序主要就四种扩展名的文件:js,json,wxml ...

  4. 20175312 2018-2019-2 《Java程序设计》第3周学习总结

    20175312 2018-2019-2 <Java程序设计>第3周学习总结 教材学习内容总结 已依照蓝墨云班课的要求完成了第四章的学习,主要的学习渠道是PPT,和书的课后习题. 总结如下 ...

  5. 深度学习标注工具 LabelMe 的使用教程(Windows 版本)

    深度学习标注工具 LabelMe 的使用教程(Windows 版本) 2018-11-21 20:12:53 精灵标注助手:http://www.jinglingbiaozhu.com/ LabelM ...

  6. HADOOP HA 踩坑 - org.apache.hadoop.hdfs.qjournal.protocol.JournalNotFormattedException: Journal Storage Directory /mnt/data1/hadoop/dfs/journal/hdfscluster not formatted

    报错:在journalnode的log中: org.apache.hadoop.hdfs.qjournal.protocol.JournalNotFormattedException: Journal ...

  7. MVC强类型视图,详细信息展示【五】

    一.在MVC三种讲到两种后端发送数据到前端的方法,今天讲的是第三种,发送过去的方法 [强类型视图]. 1. 强类型视图,就是指在传递的过程中只能传递一种类型的数据到该视图中,就比如默认的传递的数据类型 ...

  8. 【SQL Server备份恢复】维护计划实现备份:每周数据库完整备份、每天差异备份、每小时日志备份

    在数据库管理中,数据库备份是非常重要的. 通过维护计划向导,可以很方便的完成数据库备份. 下面的例子说明了如何实现数据库的备份,具体的备份策略是:每周日一次完整备份.每天差异备份(除周日外).每小时日 ...

  9. linux软件管理之概述

    软件包管理 ====================================================================================安装/查询/卸载 一 ...

  10. Petrozavodsk Winter Camp, Andrew, 2014, Bipartite Bicolored Graphs

    由i个点和j个点组成的二分图个数为 $3^{ij}$,减去不联通的部分得到得到由i,j个点组成的联通二分图个数 $g_{i,j} = 3_{ij} - \sum_{k=1}^i \sum_{l=0}^ ...