Oracle817 版本 不同字符集之间的数据库导入

oracle|数据|数据库

Oracle817 版本 不同字符集之间的数据库导入

 

       由于业务原因,需要将一英文字符集(American_America.WE8ISO8859P1)的数据库DMP文件导入到一中文字符集(SIMPLIFIED CHINESE_CHINA.ZHS16GBK)的数据库中。由于字符集的不同,需要将中文字符集的数据库环境改变成英文字符集。遇到很多的麻烦,通过在网上查找资料,终于解决了问题。在这个过程中,发现网友们也有同样的问题,为了,让大家在以后能够顺利的完成此类工作,现将把我导入成功的过程写出来,与大家共享。

 

一、系统环境:

 

       导出环境:

      

       主机:Compaq 小型机

       操作系统:Unix

       数据库:oracle8.1.7{英文字符集(American_America.WE8ISO8859P1)}

 

       导入环境:

 

       主机:普通Pc 机

       主频:PIII750

       内存:192M

       操作系统:Windows 2000 server

       数据库:Oracle8.1.7中文字符集(SIMPLIFIED CHINESE_CHINA.ZHS16GBK)

             

       注:导出过程省略

 

二、导入过程

      

1、  将win2000系统中的oracle注册表

 

[HKEY_LOCAL_MACHINE OFTWARE\ORACLE]中的[NLS_LANG]键值

“SIMPLIFIED CHINESE_CHINA.ZHS16GBK”改成

“American_America.WE8ISO8859P1”

 

2、  用system用户的身份,在Sql-plus 下执行以下语句:

 

update sys.props$ set value$='WE8ISO8859P1' where name='NLS_CHARACTERSET';

 

update  sys.props$ set value$='WE8ISO8859P1' where name='NLS_NCHAR_CHARACTERSET';

 

commit;

 

3、  重新启动oracle

 

4、  开始导入数据库

 

userid = 用户名/密码@连结串

buffer = 60000

log = c:\dmp.log

file = c:\导入数据文件名称.dmp

fromuser = 用户名

touser = 用户名

 

       这里要注意,要确保导入的表空间和用户已经建立并与导出文件一至,还要确认用户是否拥有dba的权限,否则有可能会影响导入数据的完整。

 

5、  检查导入效果,在目前环境下,测试数据是否正确,是否有乱码,是否有未成功导入的表和其他触发器、过程和函数等信息。确认导入没有问题后,进入到下一步。

6、  将win2000下oracle字符集环境恢复成中文字符集。

[HKEY_LOCAL_MACHINE OFTWARE\ORACLE]中的[NLS_LANG]键值

“American_America.WE8ISO8859P1” 改回

“SIMPLIFIED CHINESE_CHINA.ZHS16GBK”

7、  用system用户的身份,在Sql-plus 下执行以下语句:

 

update sys.props$ set value$=' ZHS16GBK ' where name='NLS_CHARACTERSET';

 

update  sys.props$ set value$=' ZHS16GBK ' where name='NLS_NCHAR_CHARACTERSET';

 

commit;

 

8、  重新启动数据库。

 

检查你的数据库中的数据,如果没有乱码,而且你的程序能够在这个环境下正常运行,那么恭喜你,你也成功了!!

 

       以上是我导入的整个过程,如有纰漏之处,还希望大家指点,您可以通过Email:hawk_flying@sina.com和我取得联系。

 

 

时间: 2024-11-02 13:59:12

Oracle817 版本 不同字符集之间的数据库导入的相关文章

ZHS16GBK的数据库导入到字符集为AL32UTF8的数据库

字符集为ZHS16GBK的数据库导入到字符集为AL32UTF8的数据库  相信大家都对字符集有相当的了解了,废话就不多说了!直接步入正题:这里主要是测试含有 汉字的数据从ZHS16GBK的数据库导入到字符集为AL32UTF8  数据库. 如有我没想到的其他情况,请大家提建议,我继续完善测试实验. 测试环境: 目标库:英杰的rac测试库 由 Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production Wi

字符集为ZHS16GBK的数据库导入到字符集为AL32UTF8的数据库

相信大家都对字符集有相当的了解了,废话就不多说了!直接步入正题:这里主要是测试含有 汉字的数据从ZHS16GBK的数据库导入到字符集为AL32UTF8 数据库. 如有我没想到的其他情况,请大家提建议,我继续完善测试实验. 测试环境: 目标库:英杰的rac测试库 由 Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production With the Partitioning, Real Application

【exp/imp】将US7ASCII字符集的dmp文件导入到ZHS16GBK字符集的数据库中

[exp/imp]将US7ASCII字符集的dmp文件导入到ZHS16GBK字符集的数据库中   1.1  BLOG文档结构图     1.2  前言部分 1.2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① 如何将US7ASCII字符集的dmp文件导入到ZHS16GBK字符集的数据库中(重点,2种方法)? ② 从dmp文件可以获取到哪些信息?如何从dmp文件获取到dmp文件的字符集(重点,N种方法)? ③

用EXP/IMP从高版本数据库导出至低版本数据库导入实验

一般来说,从低版本数据库EXP数据,导入至高版本数据库是没什么问题的,因为Oracle数据库在开发设计的时候,考虑了同以前版本的兼容.但是从高本数据库EXP导出数据,导入至低版本数据库,经常会有各种各样的问题. 在,在Oracle9i之前,不同版本Oracle之间的EXP/IMP可以通过下面的方法来解决: 1).在高版本数据库上运行底版本的catexp.sql:11G的库里运行10G数据库软件下ORACLE_HOME/rdbms/admin/catexp.sql 2).使用低版本的EXP来导出高

sql server 2005开发版本与企业版之间,导入导出数据会不会发生什么错误

问题描述 sql server 2005开发版本与企业版之间,导入导出数据会不会发生什么错误 sql server 2005开发版本与企业版之间,导入导出数据会不会发生什么错误. Xp好像安装不了企业版,好像是可以安装开发版的.

含有汉字的固定字符由ZHS16GBK数据库导入到AL32UTF8的数据库

导读: 此文章是对于上一个实验的补充,上一次实验仅仅考虑的 varchar2 的情况.这次考虑到对于char类型的含有中文数据的情况. 对于英文: 对英文,在al32utf8中仍然和zhs16gbk一样用1个字节表示,因此导入固定长度英文字符数据时不会出错. 对于中文: 例如在字符集为zhs16gbk 数据库中创建表时指定字段 val char(15),该字段含有数据 '阿里云计算公司'在字符集为zhs16gbk 数据库中占用14个字 节,而在字符集为al32utf8 数据库中占用21个字节 大

《Hadoop实战手册》一1.4 使用Sqoop从MySQL数据库导入数据到HDFS

1.4 使用Sqoop从MySQL数据库导入数据到HDFS Sqoop是Apache基金下的一个项目,是庞大Hadoop生态圈中的一部分.在很多方面Sqoop和distcp很相似(见1.3节).这两个工具都是构建在MapReduce之上的,利用了MapReduce的并行性和容错性.与集群间的数据复制不同,Sqoop设计通过JDBC驱动连接实现Hadoop集群与关系数据库之间的数据复制. 它的功能非常广泛,本节将以网络日志条目为例展示如何使用Sqoop从MySQL数据库导入数据到HDFS. 准备工

MYSQL 数据库导入导出命令_Mysql

MySQL命令行导出数据库 1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录 如我输入的命令行:cd C:\Program Files\MySQL\MySQL Server 4.1\bin (或者直接将windows的环境变量path中添加该目录) 2,导出数据库:mysqldump -u 用户名 -p 数据库名 > 导出的文件名 如我输入的命令行:mysqldump -u root -p news > news.sql   (输入后会让你输入进入MySQL的密码

.mysql 数据库导入错误:40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET

朋友申请了一个免费的 mysql 数据库空间做测试,今天上午就把数据库导入试试,反正导了几次都出错.错误提示:  代码如下 复制代码 /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; 我本地的 mysql 版本是:5.1.45,编码是 utf-8 服务器 mysql 版本是:5.1.33,编码我也转了 utf-8 了. 刚开始以为是版本的问题,但是版本都是 5.1.x 的,应该相关不会很多.我又在自己的机器上再建一