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

来源:互联网 发布:java 单例模式优点 编辑:程序博客网 时间:2024/05/18 02:54
搭建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是你要赋权限的用户。
阅读全文
0 0
原创粉丝点击