Oracle之 dmp导入/导出、数据库操作等过程中的字符集问题

时间:2023-02-26 13:41:42

影响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文件的字符集

Oracle之 dmp导入/导出、数据库操作等过程中的字符集问题

字符集编码是:ZHS16GBK

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

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

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

Oracle之 dmp导入/导出、数据库操作等过程中的字符集问题

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

Oracle之 dmp导入/导出、数据库操作等过程中的字符集问题

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

Oracle之 dmp导入/导出、数据库操作等过程中的字符集问题

d、导入dmp文件

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

Oracle之 dmp导入/导出、数据库操作等过程中的字符集问题

参考资源:

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. dedecms购物车商品添加删除数量改变方式变成ajax

    简单的做了一下修改,模板用的它默认的模板,感觉之前全是表单提交很不爽用的 修改的相关文件:/plus/posttocar.php, /plus/car.php,/templets/plus/car.h ...

  2. [经验交流] 为 mesos framework 分配资源

    前段时间我在办公网搭建了一套mesos平台,用于docker 集群相关的调研和测试,mesos + marathon + docker 架构运行正常.但是在启用了chronos后,marathon无法 ...

  3. 【HDOJ】2757 Ocean Currents

    简单BFS. /* 2757 */ #include <iostream> #include <queue> #include <cstdio> #include ...

  4. Java-Maven(四):Eclipse集成Maven环境配置

    一般maven都需要集成到IDE上使用的,而不是单独的使用,常见的maven可集成IDE:eclipse.IntelliJ IDEA.但这里就只学习eclipse集成maven的基础上,进行maven ...

  5. 如何保持Redis和MySQL数据一致

    原文:https://blog.csdn.net/thousa_ho/article/details/78900563 1. MySQL持久化数据,Redis只读数据 redis在启动之后,从数据库加 ...

  6. pip 安装问题

    同时安装了Python2 和Python3的情况下,由于我的电脑默认的是使用Python3,pip的时候直接就安装在3上了,为了让2也安装,办法之一就是在安装python2的路径下比如,D:\Anac ...

  7. ZIP压缩包加密破解

    python多线程破解zip文件,废话不多说直接上代码 # -*- coding: UTF-8 -*- #使用多线程和接受参数的形式去破解指定的zip文件 #python3 zip_file_cack ...

  8. Java基础知识➣发送Emai和访问MySQL数据库(七)

    概述 Java程序发送 E-mail 十分简单,但是首先你应该在你的机器上安装 JavaMail API 和Java Activation Framework (JAF) .Java访问数据则需要 使 ...

  9. 单个 LINQ to Entities 查询中的两个结构上不兼容的初始化过程中出现类型&OpenCurlyDoubleQuote;XXXX”

    最近在做一个报表的时候,用EF使用了Contact方法,但是程式运行一直出错.最近终于找到原因了,写下来提醒下自己.好了,进入正题: 现在我举个栗子,目前数据库中有ParentStudent表和Sub ...

  10. MLlib1&period;6指南笔记

    MLlib1.6指南笔记 http://spark.apache.org/docs/latest/mllib-guide.html spark.mllib RDD之上的原始API spark.ml M ...