当前位置: 代码迷 >> Oracle开发 >> IMP导入DMP报错(表含Long类型)
  详细解决方案

IMP导入DMP报错(表含Long类型)

热度:75   发布时间:2016-04-24 06:28:00.0
IMP导入DMP出错(表含Long类型)
各位大虾帮忙:
        我在工作过程中,遇到一个问题。明明在原库上已经EXP成功导出。但的IMP时却有一个表出错。也网上搜索了好一阵子,已排除Oracle版本或语言编码问题。
        唯一出错的这个表,确实是第3个字段是LONG类型,网上说LONG类型不好操作。不知道有没有其它办法??


. . 正在导入表                   "REP_HPFINAL"导入了       26258 行
IMP-00017: 由于 ORACLE 错误 922, 以下语句失败:
 "CREATE TABLE "REPLLN_IMPSA" ("REPORTNAME" VARCHAR2(40) NOT NULL ENABLE, "PARE"
 "NTNAME" VARCHAR2(40), "SQL" LONG, "SUMFIELDS" VARCHAR2(400), "HIDEFIELDS" V"
 "ARCHAR2(300), "REPORTMODEL" BLOB, "REPORTFILE" VARCHAR2(40), "QUERYTITLE" V"
 "ARCHAR2(300), "REPORTTYPE" NUMBER(1, 0), "FROMSERVER" NUMBER(1, 0), "CATEGO"
 "RY" NUMBER(1, 0), "VIEWORD" NUMBER(3, 0), "INTFIELDS" VARCHAR2(200), "FIELD"
 "HINT" VARCHAR2(800))  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 STORAGE"
 "(INITIAL 786432 NEXT 1048576 MINEXTENTS 1 FREELISTS 1 FREELIST GROUPS 1 BUF"
 "FER_POOL DEFAULT) TABLESPACE "DATA" LOGGING NOCOMPRESS LOB ("REPORTMODEL") "
 "STORE AS BASICFILE "BASICFILE"  (TABLESPACE "DATA" ENABLE STORAGE IN ROW CH"
 "UNK 8192 PCTVERSION 10 NOCACHE LOGGING  STORAGE(INITIAL 65536 NEXT 1048576 "
 "MINEXTENTS 1 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT))"
IMP-00003: 遇到 ORACLE 错误 922
ORA-00922: 选项缺失或无效
------解决思路----------------------
不能舍弃字段,他表是什么结构,就是什么结构,我这里做了一个测试,你参考一下:


SQL> create user oracle identified by oracle default tablespace users ;

用户已创建。

SQL> grant connect , resource , dba , select any table to oracle ;

授权成功。

SQL> conn oracle/oracle
已连接。
SQL> create table test(id int , name log) ;
create table test(id int , name log)
                                *
第 1 行出现错误:
ORA-00902: 无效数据类型


SQL> create table test(id int , name long) ;

表已创建。

SQL> insert into test values(1,1) ;

已创建 1 行。

SQL> commit ;

提交完成。

SQL> exit
从 Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options 断


C:\>exp oracle/oracle file=c:\oracle.dmp

Export: Release 11.2.0.1.0 - Production on 星期五 4月 17 16:29:00 2015

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.


连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Produc
tion
With the Partitioning, OLAP, Data Mining and Real Application Testing options
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集

即将导出指定的用户...
. 正在导出 pre-schema 过程对象和操作
. 正在导出用户 ORACLE 的外部函数库名
. 导出 PUBLIC 类型同义词
. 正在导出专用类型同义词
. 正在导出用户 ORACLE 的对象类型定义
即将导出 ORACLE 的对象...
. 正在导出数据库链接
. 正在导出序号
. 正在导出簇定义
. 即将导出 ORACLE 的表通过常规路径...
. . 正在导出表                            TEST导出了           1 行
. 正在导出同义词
. 正在导出视图
. 正在导出存储过程
. 正在导出运算符
. 正在导出引用完整性约束条件
. 正在导出触发器
. 正在导出索引类型
. 正在导出位图, 功能性索引和可扩展索引
. 正在导出后期表活动
. 正在导出实体化视图
. 正在导出快照日志
. 正在导出作业队列
. 正在导出刷新组和子组
. 正在导出维
. 正在导出 post-schema 过程对象和操作
. 正在导出统计信息
成功终止导出, 没有出现警告。

C:\>imp oracle/oracle file=c:\oracle.dmp fromuser=oracle touser=oracle ignore=y

Import: Release 11.2.0.1.0 - Production on 星期五 4月 17 16:29:42 2015

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.


连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Produc
tion
With the Partitioning, OLAP, Data Mining and Real Application Testing options

经由常规路径由 EXPORT:V11.02.00 创建的导出文件
已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
. . 正在导入表                          "TEST"导入了           1 行
成功终止导入, 没有出现警告。
C:\>sqlplus "oracle/oracle"

SQL*Plus: Release 11.2.0.1.0 Production on 星期五 4月 17 16:30:39 2015

Copyright (c) 1982, 2010, Oracle.  All rights reserved.


连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> select count(*) from test ;

  COUNT(*)
----------
         2

SQL>

  相关解决方案