oracle数据库导入导出(imp/exp)相关问题

时间:2022-09-08 07:40:57
公司有两台IBM P550服务器,安装AIX操作系统,一台服务器安装应用系统(ERP和OA),一台服务器安装oracle数据库(版本:Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi)。
Oracle数据库服务器每天全盘备份,执行.sh文件内容如下:
#!/usr/bin/ksh
. ~/.profile
HOSTNAME=`hostname`
V_DATE=`/bin/date '+%Y%m%d%H'`
export NLS_LANG=AMERICAN_AMERICA.UTF8
exp system/password@db file=/backup/backup_data/${HOSTNAME}_${V_DATE}.dmp log=/backup/backup_data/${HOSTNAME}_${V_DATE}.log  GRANTS=Y INDEXES=Y TRIGGERS=Y ROWS=Y full=y COMPRESS=Y FEEDBACK=1000

将服务器全盘备份的文件oracle_2013031402.dmp(文件大小13G),和日志文件oracle_2013031402.log下载至本地电脑H盘(win7系统32位)。准备将其导入到本地数据库,抽取部分数据测试。我的本地oracle数据库版本是Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 – Production。
在命令行输入命令
imp username/password@name rows=y indexes=n commit=y buffer=100000000 file=h:\oracle_2013031402.dmp log=h:\oracle_2013031402.log fromuser=eas touser=eas
导入223个表后,第224个表只导入了713行数据, 就卡住了,(注:该表只有2000多行数据,其中有一个blob类型字段储存pdf文件)。然后就一直报错: IMP-00008:导出文件中出现无法识别的语句

Oracle服务器端的字符集是AMERICAN_AMERICA.UTF8,我的电脑oracle客户端的字符集是SIMPLIFIED CHINESE_CHINA.AL32UTF8。

问题:为什么报错,如何解决?
我能跳过该表,导入其他表么?

6 个解决方案

#1


你在导入语句时加入个 ignore=y试试

#2


oracle数据库导入导出(imp/exp)相关问题

使用impdp 通过dblink直接从 服务器导入到本地

#3


 1 确认dmp文件没有损坏,有网络下载dmp注意是否有断点续传的操作
 2 imp 命令是否有误      
 3 不同操作系统 导出的文件 格式不同(没有遇到过)

#4


ignore=y 或 ignore=n都试过,还是不行,跟它没关系。

用FileZilla下载时确实有续传过,不知道是不是这个原因。

能否跳过该表,导入其他表呢?

#5


百度1:imp和exp使用的字符集不同

 如果字符集不同, 导入会失败, 可以改变unix环境变量或者NT注册表里 
NLS_LANG相关信息.导入完成后再改回来.
百度2:自己查下吧。导入指定的表可以,跳过我真不知道了。
解决后请劳烦说下解决方法。谢谢

#6


报你说的错误,最有可能的原因是:你exp出来的文件有问题。

#1


你在导入语句时加入个 ignore=y试试

#2


oracle数据库导入导出(imp/exp)相关问题

使用impdp 通过dblink直接从 服务器导入到本地

#3


 1 确认dmp文件没有损坏,有网络下载dmp注意是否有断点续传的操作
 2 imp 命令是否有误      
 3 不同操作系统 导出的文件 格式不同(没有遇到过)

#4


ignore=y 或 ignore=n都试过,还是不行,跟它没关系。

用FileZilla下载时确实有续传过,不知道是不是这个原因。

能否跳过该表,导入其他表呢?

#5


百度1:imp和exp使用的字符集不同

 如果字符集不同, 导入会失败, 可以改变unix环境变量或者NT注册表里 
NLS_LANG相关信息.导入完成后再改回来.
百度2:自己查下吧。导入指定的表可以,跳过我真不知道了。
解决后请劳烦说下解决方法。谢谢

#6


报你说的错误,最有可能的原因是:你exp出来的文件有问题。