IMPDP ORA-14460: only one COMPRESS or NOCOMPRESS clause may be specified

本文讨论了在使用impdp导入Oracle11.2.0.2 schema dump到Oracle11.2.0.1数据库时遇到的ORA-14460错误,并提供了使用impdp with transform=segment_attributes:ncluse的解决方案。此外,还提到了某些参数可能不适用于此场景。

  1. Issue:

     

    ORA-14460: only one COMPRESS or NOCOMPRESS clause may be specified 

     

    Detail:

     

    On importing schema i got following message:

     

    Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production

    With the Partitioning option

    Starting "SCAN"."SYS_IMPORT_SCHEMA_01":  SCAN/********@ora parfile=scan.par

    Estimate in progress using BLOCKS method...

    Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA

    Total estimation using BLOCKS method: 0 KB

    Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA

    Processing object type SCHEMA_EXPORT/TYPE/TYPE_SPEC

    Processing object type SCHEMA_EXPORT/TABLE/TABLE

    ORA-39083: Object type TABLE:"SCAN"."TABLE1" failed to create with error:

    ORA-14460: only one COMPRESS or NOCOMPRESS clause may be specified

    Failing sql is:

    CREATE TABLE "ora_user"."table1" ("ID" NUMBER(10,0) NOT NULL ENABLE, "IMAGE" BLOB, "TYPE" VARCHAR2(10 BYTE), "SCAN_DATE" TIMESTAMP (6) DEFAULT sysdate NOT NULL ENABLE) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255  STORAGE( BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT) TABLESPACE "SCAN"  LOB ("IMAGE") STORE AS BASICFILE (ENABLE S

    . . imported "SCAN"."OBJECT"                                  4 rows

    ...

     

    Here i am restoring Oracle 11.2.0.2 schema dump at Oracle 11.2.0.1 database.

     

    Solution:

     

    Use impdp with transform=segment_attributes:n cluse.

     

    eg.

     

    $ impdp systems/sys transform=segment_attributes:n

     

    Some other parameter like remap_tablespace may not work in this senario.

     

     

     

    源文档 <http://www.dbas-oracle.com/2011/10/impdp-ora-14460-only-one-compress-or.html>

     

     

### impdp 报错 ORA-39039 和 ORA-31655 的解决方法 在使用 Oracle 数据泵(`impdp`)进行数据导入时,若出现 `ORA-39039` 和 `ORA-31655` 错误,通常表示主表加载成功,但未找到可导入的数据元数据对象。此问题可能由多个因素引起,包括导入参数配置不当、DMP 文件内容异常、权限缺失对象不存在等。 #### 常见原因与解决方案 1. **未选择有效的导入对象** 若在导入命令中未正确指定对象类型(如 `TABLES`、`SCHEMAS`、`CONTENT` 等),可能导致系统未识别到任何可导入的元数据数据对象,从而触发 `ORA-31655` 错误。确保在命令中明确指定导入对象,并检查 DMP 文件是否包含对应对象。 示例命令: ```bash impdp username/password directory=dir_name dumpfile=export.dmp schemas=center_admin ``` 若 DMP 文件中未包含 `center_admin` 模式下的任何对象,将导致错误[^3]。 2. **DMP 文件内容异常不完整** 若导出的 DMP 文件缺少有效对象元数据,也可能导致 `ORA-31655` 错误。可使用 `impdp` 的 `SQLFILE` 参数生成 SQL 脚本,检查导出文件中的对象定义,确认其完整性。 示例命令: ```bash impdp username/password directory=dir_name dumpfile=export.dmp sqlfile=metadata.sql ``` 分析生成的 `metadata.sql` 文件,验证是否包含有效的表、索引、约束等定义[^3]。 3. **方案表达式配置错误** `ORA-39039` 错误通常与 `SCHEMAS` `REMAP_SCHEMA` 参数配置不当有关。若指定schema 不存在表达式格式错误,将导致无法解析有效的导入方案。确保导入命令中使用的 schema 名称与 DMP 文件一致,在目标数据库中已存在。 示例命令: ```bash impdp username/password directory=dir_name dumpfile=export.dmp schemas=JCMSUSR01 remap_schema=JCMSUSR01:JCMSUSR02 ``` 若 `JCMSUSR01` 在目标数据库中不存在,需在导入前手动创建该用户,使用 `REMAP_SCHEMA` 映射到已有 schema[^1]。 4. **导入权限不足** 若执行导入的用户缺乏必要的权限(如 `DATAPUMP_IMP_FULL_DATABASE` 角色、`READ` 权限于指定目录),可能导致对象无法正确加载。确保导入用户具备以下权限: ```sql GRANT DATAPUMP_IMP_FULL_DATABASE TO username; GRANT READ ON DIRECTORY dir_name TO username; ``` 此外,若 DMP 文件中引用了不存在的角色(如 `SCOTT_READONLY_ROLE`),也应提前创建[^2]。 5. **并行参数设置不当** 若使用 `PARALLEL` 参数但未提供足够数量的 DMP 文件,可能引发性能问题导入失败。确保并行度不超过 DMP 文件数量,避免多个线程争用同一文件。 示例命令: ```bash impdp username/password directory=dir_name dumpfile=export1.dmp,export2.dmp parallel=2 ``` 若仅有一个 DMP 文件而设置 `parallel=2`,将导致资源竞争,影响导入流程[^2]。 #### 示例:检查 DMP 文件内容并执行导入 ```bash # 生成 SQL 文件以检查元数据 impdp username/password directory=dir_name dumpfile=export.dmp sqlfile=metadata.sql # 查看生成的 SQL 文件内容 cat metadata.sql # 确认内容无误后执行导入 impdp username/password directory=dir_name dumpfile=export.dmp schemas=center_admin ``` ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值