oracle9i数据库字符集为ASCII码,数据导入oracle11g字符集为utf8的数据库中。

问题场景:低版本oracle9i数据库,字符集编码格式为ASCII码,要把orac9i数据库导出为dmp文件,导入到字符集编码格式为utf8


orac11g中,会出现中午乱码


解决方法:

第一:首先要将高版本的oracle11g,字符集由utf8设置为ASCII码

--修改字符集

SHUTDOWN IMMEDIATE;

STARTUP MOUNT EXCLUSIVE;

ALTER SYSTEM ENABLE RESTRICTED SESSION;

ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;

ALTER SYSTEM SET AQ_TM_PROCESSES=0;

ALTER DATABASE OPEN;

ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE US7ASCII;(如果不行试一下:ALTER DATABASE character set INTERNAL_USE US7ASCII;这种方法绕过字符集检查)

SHUTDOWN immediate;

startup;

第二步:从低版本oracle9i数据库导出dmp文件

注意:EXP导出的不能跨版本导入,应该使用EXPDP加version参数导出。

expdp 用户名/密码@sid directory=dpdata1 dumpfile=expdp.dmp query='WHERE rownum<=100' SCHEMAS=用户名:用户名 version=导入库的版本号;


第三步:使用ssh登陆oracle11g服务端导入dmp文件

注意:首先要将dmp文件放在oracle数据库DATA_PUMP_DIR指定路径下。

--oracle通过impdp导入不同表用户、不同表空间的数据 
impdp fpbjy/fpbjy@10.19.22.91:1521/orcl directory=DATA_PUMP_DIR dumpfile=FPBJY.DMP REMAP_SCHEMA=fpbjy:fpbjy remap_schema=fpbj:fpbjy remap_tablespace=TS_FPBJ:TS_FPBJY   full=y 


导入时可能会报ORA-39006: internal error
ORA-39213: Metadata processing is not available元数据处理错误


解决方法:

参照我的博客http://blog.csdn.net/u013310119/article/details/71630825



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李晓LOVE向阳

你的鼓励是我持续的不断动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值