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

原创 2003年03月21日 17:48:00

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

 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

       由于业务原因,需要将一英文字符集(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/SOFTWARE/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、  win2000oracle字符集环境恢复成中文字符集。

[HKEY_LOCAL_MACHINE/SOFTWARE/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和我取得联系。

 

 

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

文章链接:http://dev.csdn.net/develop/article/17/17541.shtm
  • dacula
  • dacula
  • 2004年12月22日 21:30
  • 859

不同字符集的数据库之间的数据迁移问题

准备工作(准备测试数据等): bepone> uname -a OSF1 bepone V4.0 1229 alpha bepone> bepone> bepone> sqlplus /nolog...
  • lunar2000
  • lunar2000
  • 2004年07月23日 09:12
  • 2067

Oracle数据导入后发现字符集不一致,处理方式

搭建Linxu或者Windows数据库Oracle 搭建完毕后,生成一个系统账号 这是就可以利用系统的sysdba进行其余用户、空间、权限的创建,之后把你的导出的dmp文件导入。 但...
  • liyuze0806
  • liyuze0806
  • 2017年11月02日 13:12
  • 214

字符,字符集,编码之间的区别

关于字符,字符集,编码格式,没有很清晰的认识。这两天在翻译类的时候,遇到编码问题,就查了N多资料,再这里做一个总结。便于日后复习,以及帮助别人。 首先介绍区分一下三者的具体含义: 字符:不是特定某...
  • luobo140716
  • luobo140716
  • 2015年04月09日 21:50
  • 707

字符集研究之不同字符集的转换方式

作者:朱金灿来源:http://blog.csdn.net/clever101         在上篇文章中介绍了多字节字符集和unicode字符集,今天介绍下两大字符集之间的转换方式。       ...
  • clever101
  • clever101
  • 2016年03月12日 00:11
  • 2752

解决不同字符集数据库数据传输中文乱码问题

有两个数据库,使用US7ASCII字符集的数据库A和使用ZHS16GBK字符集的数据库B,如果想将数据库A中的中文字插入到B数据库,直接使用insert select会导致中文乱码。 一开始考虑的解...
  • wang_san_shi
  • wang_san_shi
  • 2015年02月26日 18:04
  • 2113

Oracle817安装配置图解

Oracle817安装配置图解1.安装Oracle817服务器1.1找到Oracle817安装包文件夹,打开Setup.exe安装程序。1.2程序打开以后出现对话框,即Oracle安装欢迎界面。1.3...
  • xpj1983
  • xpj1983
  • 2010年07月29日 16:21
  • 1896

Oracle数据库字符集和客户端字符集不同,强制转化可能会造成不可预期的后果

Oracle数据库字符集和客户端字符集不同,强制转化可能会造成不可预期的后果 用PL/SQL Developer登陆Oracle数据库,输入用户名和密码后报:数据库字符集(AL32UTF8)...
  • u010098331
  • u010098331
  • 2016年03月11日 12:59
  • 1210

不同字符集和不同版本的Oracle数据库迁移

标题:不同字符集、不同版本Oracle数据库迁移 一、问题描述:  Oracle11g使用的字符集为AL32UTF8, Oracle10g使用的字符集为ZHS16GBK。  要把Oracle...
  • jrq
  • jrq
  • 2012年05月23日 12:08
  • 4482

不同字符集之间的编码转换

不同字符集之间的编码转换  对于编码转换,Windows有两个基本的API,WideCharToMultiByte和MultiByteToWideChar。这两个API用起来非常烦琐,不是迫不得已,我...
  • coldcrane
  • coldcrane
  • 2005年01月09日 02:23
  • 2647
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Oracle817 版本 不同字符集之间的数据库导入
举报原因:
原因补充:

(最多只允许输入30个字)