【问题标题】:Error importing .dmp file in oracle.在 oracle 中导入 .dmp 文件时出错。
【发布时间】:2012-03-06 21:13:05
【问题描述】:

我正在尝试使用 impdp 命令导入 .dmp 文件。每当我尝试时,我都会收到以下错误日志:

导入:发布 10.2.0.1.0 - 2011 年 7 月 27 日星期三 19:22:18 生产 版权所有 (c) 2003、2005,甲骨文。版权所有。 ;;; 连接到:Oracle 数据库 10g 快捷版版本 10.2.0.1.0 - 生产 主表“SYSTEM”.“SYS_IMPORT_FULL_01”成功加载/卸载 启动“SYSTEM”。“SYS_IMPORT_FULL_01”:system/******** DUMPFILE=HIST_IR_APR_2011.dmp 处理对象类型 TABLE_EXPORT/TABLE/TABLE ORA-39083: 无法创建对象类型 TABLE 并出现错误: ORA-00439: 未启用功能: 分区 失败的sql是: CREATE TABLE "DBO"."HIST_IR" ("IR_ID" NUMBER(9,0), "ELS_ID1" NUMBER(9,0), "ELS_ID2" NUMBER(9,0), "ZONE_ID" NUMBER(2,0) NOT NULL ENABLE, "TYPE" NUMBER(2,0) NOT NULL ENABLE, "START_TIME" DATE NOT NULL ENABLE, "END_TIME" DATE NOT NULL ENABLE, "ROAD_NAME" VARCHAR2(50) NOT NULL ENABLE, "UP_POINT" NUMBER(4, 2), "DN_POINT" NUMBER(4,2), "UP_LINK_ID" NUMBER(9,0) NOT NULL ENABLE, "DN_LINK_ID" NUMBER 处理对象类型 TABLE_EXPORT/TABLE/TABLE_DATA 处理对象类型 TABLE_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT ORA-39112: 从属对象类型 OBJECT_GRANT:"DBO" 已跳过,基础对象类型 TABLE:"DBO"."HIST_IR" 创建失败 ORA-39112: 从属对象类型 OBJECT_GRANT:"DBO" 已跳过,基础对象类型 TABLE:"DBO"."HIST_IR" 创建失败 ORA-39112: 从属对象类型 OBJECT_GRANT:"DBO" 已跳过,基础对象类型 TABLE:"DBO"."HIST_IR" 创建失败 处理对象类型 TABLE_EXPORT/TABLE/INDEX/INDEX ORA-39112: 相关对象类型 INDEX:"DBO"."INDX_HIST_IR_LOC_TYPE" 已跳过,基础对象类型 TABLE:"DBO"."HIST_IR" 创建失败 ORA-39112: 相关对象类型 INDEX:"DBO"."INDX_HIST_IR_ROAD_NAME" 已跳过,基础对象类型 TABLE:"DBO"."HIST_IR" 创建失败 ORA-39112: 相关对象类型 INDEX:"DBO"."INDX_HIST_IR_ELS_ID1" 已跳过,基础对象类型 TABLE:"DBO"."HIST_IR" 创建失败 ORA-39112: 相关对象类型 INDEX:"DBO"."PK_HIST_IR" 已跳过,基础对象类型 TABLE:"DBO"."HIST_IR" 创建失败 ORA-39112: 相关对象类型 INDEX:"DBO"."INDX_HIST_IR_START_TIME" 已跳过,基础对象类型 TABLE:"DBO"."HIST_IR" 创建失败 处理对象类型 TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT ORA-39112: 相关对象类型 CONSTRAINT:"DBO"."PK_HIST_IR" 已跳过,基础对象类型 TABLE:"DBO"."HIST_IR" 创建失败 作业 "SYSTEM"."SYS_IMPORT_FULL_01" 在 19:22:21 完成,出现 10 个错误

知道如何摆脱错误吗?

我也可以使用 Oracle Developer 6.0 来处理这个 .dmp 文件,而不必先通过上述过程导入它吗?

【问题讨论】:

    标签: oracle10g


    【解决方案1】:

    源数据库似乎启用了分区选项并创建了一个分区表。另一方面,目标数据库没有分区选项。

    您是否有权在目标数据库上使用分区选项?这是企业版许可证之上的额外费用选项。如果您获得使用它的许可,则需要在导入之前安装该选项。

    如果您没有获得使用分区选项的许可,您希望分区表发生什么情况?你想在目标数据库中创建一个非分区表并加载所有数据吗?您想如何处理分区表上的任何本地索引?

    在后一种情况下,一个选项是最初使用指定的INDEXFILE 选项运行导入。这会将用于表和索引创建的 DDL 写入文本文件。您可以进入此文本文件,获取分区表和索引的 DDL,修改 DDL 以删除分区选项并将分区键添加到任何本地索引,然后针对目标数据库运行新的 DDL。然后您可以使用IGNORE=Y 选项再次执行导入以忽略创建错误,因为您已经手动创建了分区表。这会将所有数据导入非分区表中。在引用该表并希望对其进行分区的任何代码中,您可能仍然存在错误,并且如果命中该表的查询需要对其进行分区,则您可能会遇到性能问题。

    【讨论】:

      猜你喜欢
      • 2018-07-02
      • 1970-01-01
      • 1970-01-01
      • 2021-05-25
      • 1970-01-01
      • 2012-06-26
      • 1970-01-01
      • 2010-12-17
      • 1970-01-01
      相关资源
      最近更新 更多