oracle817字符集,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、

重新启动数据库。

全部

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值