您的位置:首页 > 数据库 > Oracle

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

2017-11-02 13:12 666 查看
搭建Linxu或者Windows数据库Oracle

搭建完毕后,生成一个系统账号

这是就可以利用系统的sysdba进行其余用户、空间、权限的创建,之后把你的导出的dmp文件导入。

但在此之前,需要注意

不能直接进行导入dmp文件。

创建的用户都是sysdba权限。

首先确认一下你的数据库字符集,是不是和原来的字符集格式一致,否则数据导入后会出现字符过长的情况,某些数据没办法进行导入。而且如果导入后在修改,可能会导致数据库的内容出现乱码。出现了乱码后。你可以使用Navicat Premium的数据传输进行单纯的数据同步。但你会发现原来第一次没有注意Oracle字符集的数据会出现Views、Synonyms、Functions还是乱码。所以你只能先修改Oracle字符集;然后导入。

如果你没有注意就直接导入了,后发现Oracle字符集不一致。只能修改字符集后,进行Table、Functions、Synonyms、Views的Drop,只有重新创建导入。方法如下:

在Navicat Premium输入:

select 'drop table '||table_name||';'

from cat

where table_type='TABLE'

select 'drop view '||table_name||';'

from cat

where table_type='view'

可以查询出全部的drop语句,Synonyms、Functions只能是直接覆盖或者在Navicat Premium中勾选

之后开始同步数据。

同步之后,会发现View跨区域创建失败,这时是缺少权限导致的。
grant select any table,create view to user;
user是你要赋权限的用户。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: