错误信息
【汉】IMP-00038:无法转换为环境字符集句柄
【英】IMP-00038:Could not convert to environment character set's handle
序
在使用imp命令将dmp文件中的数据导入到数据库时报错。
版本
Oracle 11.2.0.4、Oracle 11.2.0.3
故
从错误码反馈的信息来看,报错的原因是当前环境的字符集出现了问题,所以导致出现了问题。但如果你顺着字符集去排查源库和目标数据库,会发现两边的字符集是一致的。
引起该错误的原因其实是由于dmp文件是使用的expdp命令导出的,而在使用imp命令导入时自然会报错,我们不要被错误信息给误导了。虽然expdp和exp都是将数据转换成sql导出来,但他们的转储文件并不能通用,expdp导出的dmp文件只能使用impdp导入,反之,也一样。
解
在知道问题出现的原因后,我们自然就可以很快解决了。
解决该问题的方法有两种,分别是:
- 使用impdp命令导入。
- 重新在源数据库使用exp命令导出,再使用imp命令导入。
评论区