美文网首页
导出oracle数据库dmp文件引出的编码问题

导出oracle数据库dmp文件引出的编码问题

作者: else05 | 来源:发表于2016-10-11 16:42 被阅读1623次

进行数据库迁移时,用pl/sql导出数据,然后在导入数据时出问题,并且dos窗口有乱码显示,pde和dmp都能正常导出,但是无法正常导入 ,,怀疑时导出数据操作有误,因为pl/sql导出也是调用exp.exe ,但是窗口会被自动关闭,无法查看详细的导出日志,所以用手动方式操作


导出 :
  • 执行导出后查看日志情况如下
// 数据库地址可能是数据实例名orcl  ,也可能是 ip:端口/数据库实例名
exp 用户名/密码@数据库地址 file=d:/data.dmp log=d:/data.log tables=要导出的表名
Paste_Image.png

好像有编码不统一的情况
参考此处修改编码

  • 再次导出 ,编码问题的警告已经没有了


    Paste_Image.png

导入 :
  • 执行后报错,提示表已经存在(忘记截图了),原因是我通过sql语句手动建好了表,只是没有数据 ,所以解决方法是加上一个ignore=y (要根据业务情况而定,不能把一些重要的操作忽略掉了)
// 数据库地址可能是数据实例名orcl  ,也可能是 ip:端口/数据库实例名
imp 用户名/密码@数据库地址 file=d:/data.dmp log=d:/data_import.log tables=要导入的表名
。
//忽略一些错误 ,不会因为有错误而停止执行后面的内容
imp 用户名/密码@数据库地址 file=d:/data.dmp log=d:/data_import.log tables=要导入的表名 ignore=y

附加内容

有时导出一个dmp文件,导入时可能会报错表空间没有的问题,是因为dmp文件中的表空间是源数据,可能和你当前的表空间不匹配,此时就要修改dmp文件,修改其中的表空间,修改dmp文件的表空间 ,因为是间接用16进制的方式修改,所以尽可能的减少要修改的内容,以免破坏dmp文件的结构,修改前先备份!!!!


参考

相关文章

网友评论

      本文标题:导出oracle数据库dmp文件引出的编码问题

      本文链接:https://www.haomeiwen.com/subject/iskbyttx.html