晚上十点多,准备睡觉了,一个朋友在qq上找到我,说他们数据库imp异常,希望我帮忙看看

大概情况

使用exp/imp升级并迁移数据库从win 10.2.0.1 升级到linux 11.2.0.3 由于硬盘空间不够,使用exp把win上面数据导出来,格式化掉win的数据文件所在硬盘格式化并加入到linux系统中(也就是说,故障之时,只有dmp文件,没有了数据文件),因为原库没有了,dmp又报错,所以担心了起来.

imp报错信息

Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,

Data Mining and Real Application Tes

Export file created by EXPORT:V10.02.01 via conventional path

import done in ZHS16GBK character set and AL16UTF16 NCHAR character set

export client uses US7ASCII character set (possible charset conversion)

. . importing table "ART_T_ARCTYPE" 0 rows imported

. . importing table "ART_T_ARTICLE" 0 rows imported

……

. . importing table "EVT_T_ACCEPT_CODE" 1 rows imported

. . importing table "EVT_T_ACCEPT_FLOW"

illegal lob length marker 51166

bytesread = 00000000000

TABLE =EVT_T_ACCEPT_FLOW EVT_T_ACCEPT_FLOW

IMP-00098: INTERNAL ERROR: impgst2

IMP-00028: partial import of previous table rolled back: 680071 rows rolled back

IMP-00008: unrecognized statement in the export file:

??????????????????

IMP-00008: unrecognized statement in the export file:

.:

IMP-00008: unrecognized statement in the export file:

$;

IMP-00008: unrecognized statement in the export file:

||$

…………

这里可以知道数据库exp的客户端是版本是10.2.0.1,使用编码是US7ASCII,但是导入的库编码是ZHS16GBK

exp日志信息

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

Export done in US7ASCII character set and AL16UTF16 NCHAR character set

server uses ZHS16GBK character set (possible charset conversion)

EXP-00091: Exporting questionable statistics.

. . exporting table EVT_T_ACCEPT_FLOW 3470071 rows exported

. . exporting table EVT_T_ACCEPT_FLOW1 2707606 rows exported

……

. exporting post-schema procedural objects and actions

. exporting statistics

Export terminated successfully with warnings.

这里我们可以知道数据库编码是ZHS16GBK,exp客户端编码为US7ASCII,因此到导出过程中发生了一次由ZHS16GBK到US7ASCII的编码转换

检查新库发现,其db编码为ZHS16GBK,新库的NLS设置为:nls_lang=AMERICAN_AMERICA.ZHS16GBK

整个导出流程是:db编码为ZHS16GBK的数据库被客户端编码为US7ASCII的exp导出,然后被编码为ZHS16GBK的imp导入到db编码为ZHS16GBK的数据库中

故障可能性定位

1.可能在从ZHS16GBK到US7ASCII的编码转换中发生数据异常,也就是说dmp文件本身异常(我们最不希望出现的结果)

2.由于数据库导出过场会发生编码转换(ZHS16GBK->US7ASCII),而导入过程未发生编码转换(ZHS16GBK->ZHS16GBK),从而出现异常

分析并解决

1. 使用dul扫描dmp文件发现汉字都能够识别,而且exp成功的记录条数在dul扫描中都完全正常恢复出来,证明dmp文件是正常的

2. 基于dmp文件正常,编码转换的过程,得出结论在该库的imp过程中设置nls_lang=AMERICAN_AMERICA.US7ASCII问题应该就可以正常解决.果不其然,设置了NLS_LANG之后imp导入数据OK

得出结论

1. 做升级,迁移尽快保留多一份数据,这次吓得不轻

2. exp/imp最好前后客户端编码一致,否则可能被转换晕

如果遭遇真的dmp损坏情况,类似:IMP-00098: INTERNAL ERROR: impgst2,可以联系我们,提供专业处理

oracle imp 版本错误,解决imp导入数据报IMP-00098错误相关推荐

  1. PHP编译安装时常见错误解决办法,php编译常见错误

    PHP编译安装时常见错误解决办法,php编译常见错误 1.configure: error: xslt-config not found. Please reinstall the libxslt & ...

  2. eclipse 导入maven项目_解决Eclipse导入JAVA WEB项目错误的问题

    蓝字关注 远浩老师 一. 本文问题 在开发中不可避免地要涉及导入项目.Eclipse作为常用开发工具,导入JAVA WEB项目文件也很方便,但是我们经常发现导入完的项目有红色的叉来做错误提醒,甚至一些 ...

  3. 在ensp安装过程中遇到的错误(40 41错误,usg6000v导入时配置文件格式错误)

    这个ensp安装配置我前前后后捣鼓了好几天,好不容易整好了,在这里稍微记录一下,希望能帮助大家少走弯路. 40 41错误 1. 首先,可以把virtualbox卸载了重装一遍,版本我用的是5.2.30 ...

  4. 新网站500内部服务器错误,解决网站http服务器内部500错误

    针对此问题关键解决办法: WEB站点右键属性--> 目录(配置)–>选项–>启用父路径 WEB站点目录要有iusr用户,并且iusr用户(如果是新建的用户也要给权限)要用读取.写入权 ...

  5. oracle报V27的错误解决办法,oracle11g ora-27154 past/wait 错误解决方法

    开启oracle数据库出现: ORA-27154: post/wait create failed ORA-27300: OS system dependent operation:semget fa ...

  6. 【解决】导入Excel数据 异常错误:80040154

    System.InvalidOperationException: .Net Framework 数据提供程序要求 Microsoft Data Access Components(MDAC).请安装 ...

  7. python导入模块的方式错误的是,导入模块时的错误处理

    我不认为try except块不是pythonic:相反,它是处理Python上的导入的常见方法.There are a lot of other uses for exceptions beside ...

  8. linux 服务器 报内存 ecc 错误,解决方法:ECC内存检查错误纠正技术

    ECC的全英文名称是Error Checking and Correcting.从这个名字可以看出,它的主要功能是"发现并纠正错误". 像奇偶校验技术一样,ECC纠错技术也需要额外 ...

  9. linux编译安装的报错,linux编译安装时常见错误解决办法

    This article is post on https://coderwall.com/p/ggmpfa 原文链接:http://www.bkjia.com/PHPjc/1008013.html ...

  10. C#常见错误解决方法

    1.能提供Visual Studio开发工具包吗? 解决方法: Visual Studio 2017开发环境下载地址: https://www.visualstudio.com/zh-hans/dow ...

最新文章

  1. SQL2005CLR函数扩展-正则表达式
  2. js创建对象的几种方法
  3. 纯脚本搞掂DataGrid表表头不动,表身滚动
  4. python项目中requirements的巧用(一键导入所有安装包)
  5. 机器学习博士自曝:实验室「阉割」我的创造力,劝你别读!
  6. SpringBoot基础篇(一):Spring Boot入门
  7. p语言是python吗-Python 这语言真是混乱和原始
  8. [转]如何设置opengl结合vc开发绚丽的3D图形---操作详解
  9. hdu5414(2015多校10)--CRB and String(字符串匹配)
  10. C#常量——const和readonly(2)
  11. python入侵电脑教程_Python外星人入侵问题求助?python网站入侵视频教程
  12. apk一键脱壳工具_海量破解、修改、无广告软件一键获取!一个工具就能轻松搞定!...
  13. 一位企业家的成功之道
  14. PowerDesigner使用教程 —— 概念数据模型(CDM模型)
  15. 双系统中Ubuntu启动失败
  16. Android SDK的级别
  17. 6.2.1.1UE maximum output power - EIRP and TRP——翻译
  18. Unicode双向算法详解(bidi算法)(二)
  19. 【Scapy】获取流量包【原创】
  20. 实际项目中的消息中心

热门文章

  1. 颜色的英语单词,最好是中文和英文的
  2. app测试环境搭建(适用monkey测试及日志分析)
  3. Spring WebFlux - WebClient连接池简单测试和代码分析
  4. 服务器系统tcpip.sys,win7系统tcpip.sys文件引起蓝屏的解决方法
  5. 视频图像传输与显示(2)——彩色模拟电视广播制式NTSC、PAL和SECAM
  6. app不走系统代理?如何抓包?
  7. vi不保存退出的命令
  8. tp6 导入excel表格
  9. 杰里695N系列(soundbox)之 1.0 SDK快速入门(1)
  10. 解决微信、QQ在一加手机系统中无法限制后台的问题