oracle导入数据库之imp及排错

   新建完表空间,用户及授权之后,抱着试试的心态开始进行导入,首先开始用plsql工具进行导入。首先点击菜单中--->"Tools" 选择“import tables”会出现如下图片:

红色框1中是选择所要导入的数据库路径和名字,点击椭圆中的文件夹那个按钮,选择dmp文件存放的路径。
红色框2中的import按钮,就开始进行数据库导入

首先看到的日志是:
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

Export file created by EXPORT:V09.02.00 via conventional path

Warning: the objects were exported by LROM, not by you

import done in US7ASCII character set and AL16UTF16 NCHAR character set
import server uses ZHS16GBK character set (possible charset conversion)
export client uses ZHS16GBK character set (possible charset conversion)

可以看到一些字符集的问题,这些日志头过后,可以看到导入一些数据信息。导入一会过后,报了一个:IMP-00032: SQL 语句超过缓冲区长度 的错误:
等导入程序终止之后,开始修改上图中的红框3中缓冲区的大小。
进行再次导入出现这个错误:IMP-00008: 导出文件中出现无法识别的语句。
这个在网上搜索说与缓冲区有关,不知道是否这样,我把自己的缓冲区设置到20个G也会出现这个问题。

于是问一个同事说:尽量在linux下操作
于是我用ssh登录到linux系统,用su命令切换到oracle用户进行导入数据,使用imp命令:
imp test_imp/xxxxx file=/tmp/ora_data.dmp ignore=y buffer=20480M log=/tmp/20130507.log

test_imp/xxxxx是用户名和密码
file是dmp文件的路径
buffer是设置缓冲区
log是导入只是文件存放的位置

结果还是出现:IMP-00008: 导出文件中出现无法识别的语句 这个错误
所以与操作系统无关,于是我觉得是字符集的问题,下一节讨论修改字符集

猜你喜欢

转载自studypi.iteye.com/blog/1886321