当前位置: 代码迷 >> 综合 >> ORA-39002 ORA-39358 错误处理方法
  详细解决方案

ORA-39002 ORA-39358 错误处理方法

热度:90   发布时间:2024-01-03 14:21:59.0

问题说明

在做数据库还原时出现ORA-39002 和 ORA-39358 错误,具体信息如下:

$ impdp rui/oracle directory=dmp_dir dumpfile=test_expdp20210514.dmp logfile=test_impdp202105141.log  job_name=rui202105141_jobImport: Release 12.1.0.2.0 - Production on Fri May 14 11:05:04 2021Copyright (c) 1982, 2014, Oracle and/or its affiliates.  All rights reserved.Connected to: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
ORA-39002: invalid operation
ORA-39358: Export dump file version 12.1.0.2.0 not compatible with target version 11.2.0.0.0

说明:
源库和目标库的版本均为12.1.0.2.0

一时之间有些郁闷,我的目标库版本就是12.1.0.2.0 呀,哪里冒出的 “version 11.2.0.0.0” 呢?

在网上查找资料发现可能是参数 compatible 配置的问题。
查看源库和目标库的 compatible 参数值,分别如下:

源库
SQL> show parameter compatibleNAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
compatible                           string      12.1.0.2.0
noncdb_compatible                    boolean     FALSE
目标库
SQL> show parameter compatibleNAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
compatible                           string      11.2.0.0.0
noncdb_compatible                    boolean     FALSE

问题果然出在这里!

于是决定将目标库的 compatible 参数值修改为 12.1.0.2.0 ,操作方法见下文。

处理方法

修改 compatible 参数值

$ sqlplus / as sysdba
SQL> show parameter compatible    //查看当前参数值为11.2.0.0.0NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
compatible                           string      11.2.0.0.0
noncdb_compatible                    boolean     FALSE
SQL> alter system set compatible='12.1.0.2.0' scope=spfile; //修改参数值为12.1.0.2.0System altered.SQL> shutdown immediate    SQL> startup
ORACLE instance started.SQL> show parameter compatible  //查看更新后的参数值,已为12.1.0.2.0NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
compatible                           string      12.1.0.2.0
noncdb_compatible                    boolean     FALSE

效果验证

再次执行如下命令:

$ impdp rui/oracle directory=dmp_dir dumpfile=test_expdp20210514.dmp logfile=test_impdp202105141.log  job_name=rui202105141_job

可正常导入。

在这里插入图片描述