为什么我这样C:\> imp vote/muren file =vote20070208.dmp show=n buffer=2048000 ignore=n commit
=y grants=y full=y log=vote.log 导入dmp文件时出现如下错误呢?
连接到: Oracle9i Release 9.0.1.1.1 - Production
JServer Release 9.0.1.1.1 - Production经由常规路径导出由EXPORT:V09.02.00创建的文件
已经完成ZHS16GBK字符集和AL16UTF16 NCHAR 字符集中的导入
. 正在将VOTE的对象导入到 VOTE
IMP-00017: 由于 ORACLE 的 6550 错误,以下的语句失败
 "BEGIN  "
 "sys.dbms_logrep_imp.instantiate_schema(schema_name=>'VOTE', export_db_name="
 ">'ORCL', inst_scn=>'7958701190995');"
 "COMMIT; END;"
IMP-00003: 遇到 ORACLE 错误 6550
ORA-06550: 第 2 行, 第 1 列: 
PLS-00201: 必须说明标识符 'SYS.DBMS_LOGREP_IMP'
ORA-06550: 第 2 行, 第 1 列: 
PL/SQL: Statement ignored
IMP-00017: 由于 ORACLE 的 922 错误,以下的语句失败
 "CREATE TABLE "COUNTER" ("ACOUNT" NUMBER(10, 0) NOT NULL ENABLE)  PCTFREE 10"
 " PCTUSED 40 INITRANS 1 MAXTRANS 255 STORAGE(INITIAL 65536 FREELISTS 1 FREEL"
 "IST GROUPS 1) TABLESPACE "USERS" LOGGING NOCOMPRESS"
IMP-00003: 遇到 ORACLE 错误 922
ORA-00922: 缺少或无效选项
IMP-00017: 由于 ORACLE 的 922 错误,以下的语句失败
 "CREATE TABLE "HXR" ("XH" VARCHAR2(50), "XM" VARCHAR2(50))  PCTFREE 10 PCTUS"
 "ED 40 INITRANS 1 MAXTRANS 255 STORAGE(INITIAL 65536 FREELISTS 1 FREELIST GR"
 "OUPS 1) TABLESPACE "USERS" LOGGING NOCOMPRESS"
IMP-00003: 遇到 ORACLE 错误 922
ORA-00922: 缺少或无效选项
IMP-00017: 由于 ORACLE 的 922 错误,以下的语句失败
 "CREATE TABLE "HXR1" ("XH" VARCHAR2(50), "XM" VARCHAR2(50))  PCTFREE 10 PCTU"
 "SED 40 INITRANS 1 MAXTRANS 255 STORAGE(INITIAL 65536 FREELISTS 1 FREELIST G"
 "ROUPS 1) TABLESPACE "USERS" LOGGING NOCOMPRESS"
IMP-00003: 遇到 ORACLE 错误 922
ORA-00922: 缺少或无效选项
IMP-00017: 由于 ORACLE 的 922 错误,以下的语句失败
 "CREATE TABLE "UNIT" ("UNITCODE" VARCHAR2(50), "UNITNAME" VARCHAR2(50))  PCT"
 "FREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 STORAGE(INITIAL 65536 FREELISTS "
 "1 FREELIST GROUPS 1) TABLESPACE "USERS" LOGGING NOCOMPRESS"
IMP-00003: 遇到 ORACLE 错误 922
ORA-00922: 缺少或无效选项
IMP-00017: 由于 ORACLE 的 922 错误,以下的语句失败
 "CREATE TABLE "UNIT1" ("UNITCODE" VARCHAR2(50), "UNITNAME" VARCHAR2(50))  PC"
 "TFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 STORAGE(INITIAL 65536 FREELISTS"
 " 1 FREELIST GROUPS 1) TABLESPACE "USERS" LOGGING NOCOMPRESS"
IMP-00003: 遇到 ORACLE 错误 922
ORA-00922: 缺少或无效选项
IMP-00017: 由于 ORACLE 的 922 错误,以下的语句失败
 "CREATE TABLE "VOTES" ("UNITDETAIL" VARCHAR2(255), "PNAME" VARCHAR2(255), "P"
 "NUMBER" VARCHAR2(255), "UNIT" VARCHAR2(250), "VOTEIP" VARCHAR2(50), "VOTETI"
 "ME" VARCHAR2(50), "ISVOTED" NUMBER, "VOTE01" NUMBER, "VOTE02" NUMBER, "VOTE"
 "03" NUMBER, "VOTE04" NUMBER, "VOTE05" NUMBER, "VOTE06" NUMBER, "VOTE07" NUM"
 "BER, "VOTE08" NUMBER, "VOTE09" NUMBER, "VOTE10" NUMBER, "VOTE11" NUMBER, "V"
 "OTE12" NUMBER, "VOTE13" NUMBER, "VOTE14" NUMBER, "VOTE15" NUMBER, "VOTE16" "
 "NUMBER, "VOTE17" NUMBER, "VOTE18" NUMBER, "VOTE19" NUMBER, "VOTE20" NUMBER,"
 " "VOTE21" NUMBER, "VOTE22" NUMBER)  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRA"
 "NS 255 STORAGE(INITIAL 65536 FREELISTS 1 FREELIST GROUPS 1) TABLESPACE "USE"
 "RS" LOGGING NOCOMPRESS"
IMP-00003: 遇到 ORACLE 错误 922
ORA-00922: 缺少或无效选项
IMP-00017: 由于 ORACLE 的 922 错误,以下的语句失败
 "CREATE TABLE "VOTES1" ("PNUMBER" VARCHAR2(50), "PNAME" VARCHAR2(50), "UNIT""
 " VARCHAR2(50), "VOTE01" NUMBER(10, 0), "VOTE02" NUMBER(10, 0), "VOTE03" NUM"
 "BER(20, 0), "VOTE04" NUMBER(20, 0), "VOTE05" NUMBER(20, 0), "VOTE06" NUMBER"
 "(20, 0), "VOTE07" NUMBER(20, 0), "VOTE08" NUMBER(20, 0), "VOTE09" NUMBER(20"
 ", 0), "VOTE10" NUMBER(20, 0), "VOTE11" NUMBER(20, 0), "VOTE12" NUMBER(20, 0"
 "), "VOTE13" NUMBER(20, 0), "VOTE14" NUMBER(20, 0), "VOTE15" NUMBER(20, 0), "
 ""VOTE16" NUMBER(20, 0), "VOTE17" NUMBER(20, 0), "VOTE18" NUMBER(20, 0), "VO"
 "TE19" NUMBER(20, 0), "VOTE20" NUMBER(20, 0), "VOTEIP" VARCHAR2(50), "VOTETI"
 "ME" VARCHAR2(50), "ISVOTED" NUMBER(20, 0), "VOTE21" NUMBER(20, 0))  PCTFREE"
 " 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 STORAGE(INITIAL 65536 FREELISTS 1 FR"
 "EELIST GROUPS 1) TABLESPACE "USERS" LOGGING NOCOMPRESS"
IMP-00003: 遇到 ORACLE 错误 922
ORA-00922: 缺少或无效选项
成功终止导入,但出现警告。

解决方案 »

  1.   

    改成下面试试:
    imp vote/muren file=vote20070208.dmp show=n buffer=2048000 ignore=y grants=y full=y log=vote.log 
      

  2.   

    可能是版本问题.
    如果dmp不大的话,尝试下面的方法
    用ultraedit32打开dmp文件,定位nocompress字符,把这些字符
    全部改成空格,空格的ascii码是32,16进制就是20,也就是把nocompress所包含的字符全
    部改成20即可。
      

  3.   

    那怎么用ultraedit32定位nocompress字符呢?
      

  4.   

    ctrl+f    查找nocompress
      

  5.   

    DMP文件是向后兼容的。你的DMP文件是用Release 9.02.00创建的,之前的版本Release   9.0.1.1.1的导入工具进程不能成功读取。你可以试一下用Oracle9i Release 2或之后的Oracle 10g