`
foolraty
  • 浏览: 400222 次
  • 性别: Icon_minigender_1
  • 来自: 南宁
文章分类
社区版块
存档分类
最新评论

使用impdp导入失败ORA-31634(转)

SQL 
阅读更多

expdp:ORA-31634: job already exists

  

 

使用数据泵进行全备,由于user的表空间不足导致备份失败,添加user表空间,清理空间后再次进行备份报如下错误:

 

With the Partitioning, OLAP and Data Mining options

ORA-31634: job already exists

ORA-31664: unable to construct unique job name when defaulted

 

解决方法:

1.     在备份时指定一个在dba_datapump_jobs中没有不存在的一个job_name

2.     清理dba_datapump_jobs

1)查询可以清理的master table并生成SQL

 

select 'drop table ' || owner_name || '.' || job_name || ';'

 from dba_datapump_jobs

 where state = 'NOT RUNNING'

2)清理后再次dba_datapump_jobs确认清理成功

SELECT owner_name, job_name, operation, job_mode,

state, attached_sessions

FROM dba_datapump_jobs

ORDER BY 1,2;

若不成功,按下面的方法再次清理

sqlplus oak/oak

exec dbms_datapump.stop_job(dbms_datapump_attach(‘SYS_EXPORT_TABLE_01’,’OAK’));

 

 

 

在导入导出时会自动创建一个user.SYS_EXPORT_FULL_12的表(好像是1~100)..占用user表空间..

指定job_name不知道能不能更改他创建的表

自动创建的job名可在导入导出时的输出或者log中看到

 

参考:

 

How to cleanup orphaned datapump jobs from DBA_DATAPUMP_JOBS



In many cases you sometimes stop data pump job or in case of an abnormal end of the
Data Pump job (the orphaned job) or using undocumented parameter KEEP_MASTER=Y,
the master table remain in the database.

Though this topic is related to cleanup orphaned datapump jobs. But it is good to know several
things before doing cleanup jobs.

1) You can check the orphaned data pump from the state column of the view dba_datapump_jobs
and DBA_DATAPUMP_JOBS is based on gv$datapump_job, obj$, com$, and user$. Orphaned Data
Pump jobs do not have an impact on new Data Pump jobs. If a new Data Pump job is started,
a new entry will be created, which has no relation to the old Data Pump jobs.

2) For a new data pump job without any job name it is used a system generated name.
From the dba_datapump_jobs it is checked for existing data pump jobs and then obtain a
unique new system generated jobname.

3) Data pump jobs are different from DBMS_JOBS and they are maintained differently.
Jobs created with DBMS_JOBS use there own processes. Data Pump jobs use a master
process and worker process(es).

4) If you drop the master table while doing the data pump export or data pump import
operation then the scenario is discussed below.

In case of export if you drop data pump export operation then export process will abort.

In case of import if you drop data pump import operation then import process will abort
while it leads an incomplete import.

If the data pump job is completed and master table exist (a common if you do export operation with
KEEP_MASTER=y) then it is safe to drop the master table.

Step by step cleanup orphaned datapump jobs is discussed below.

Step 01: Check the orphaned datapump jobs.

sqlplus / as sysdba
SET lines 140
COL owner_name FORMAT a10;
COL job_name FORMAT a20
COL state FORMAT a12 
COL operation LIKE owner_name
COL job_mode LIKE owner_name
SELECT owner_name, job_name, operation, job_mode,
state, attached_sessions
FROM dba_datapump_jobs;

OWNER_NAME JOB_NAME OPERATION JOB_MODE STATE ATTACHED_SESSIONS
---------- -------------------- ---------- ---------- ------------ -----------------
ARJU SYS_EXPORT_SCHEMA_01 EXPORT SCHEMA NOT RUNNING 0
ARJU SYS_EXPORT_SCHEMA_02 EXPORT SCHEMA NOT RUNNING 0

Step 02: Check the state field. For orphaned jobs the state will be NOT RUNNING. So from the
output we can say both are orphaned jobs.

Step 03: Drop the master table.
DROP TABLE ARJU.SYS_EXPORT_SCHEMA_01;
DROP TABLE ARJU.SYS_EXPORT_SCHEMA_02;

Step 04: Check for existing data pump jobs by query issued in step 01. If objects are in recyclebin
bin then purge the objects from the recyclebin.

SQL> SELECT owner_name, job_name, operation, job_mode,
state, attached_sessions
FROM dba_datapump_jobs;

OWNER_NAME JOB_NAME OPERATION JOB_MODE STATE ATTACHED_SESSIONS
---------- -------------------- ---------- ---------- ------------ -----------------
ARJU BIN$xMNQdACzQ6yl22kj EXPORT SCHEMA NOT RUNNING 0
9U0B8A==$0
ARJU BIN$BmUy4r5MSX+ojxFk EXPORT SCHEMA NOT RUNNING 0
sw8ocg==$0

SQL> PURGE TABLE ARJU.SYS_EXPORT_SCHEMA_01;

Table purged.

SQL> PURGE TABLE ARJU.SYS_EXPORT_SCHEMA_02;

Table purged.

Check if there is any orphaned jobs again.
SQL> SELECT owner_name, job_name, operation, job_mode,
state, attached_sessions
FROM dba_datapump_jobs;

no rows selected

Step 05: In this stage you did not get any orphaned jobs if the jobs have a master table.
If there are still jobs listed in dba_datapump_jobs do cleanup process like below.

SET serveroutput on
SET lines 100
DECLARE
job1 NUMBER;
BEGIN
job1 := DBMS_DATAPUMP.ATTACH('SYS_EXPORT_SCHEMA_01','ARJU');
DBMS_DATAPUMP.STOP_JOB (job1);
END;
/

DECLARE
job2 NUMBER;
BEGIN
job2 := DBMS_DATAPUMP.ATTACH('SYS_EXPORT_SCHEMA_02','ARJU');
DBMS_DATAPUMP.STOP_JOB (job2);
END;
/
分享到:
评论

相关推荐

    Oracle导dmp出现文件ORA-12154 TNS 无法解析指定的连接标识符解决方案

    ### Oracle导dmp出现文件ORA-12154 TNS 无法解析指定的连接...通过以上步骤,可以有效地解决ORA-12154错误,并顺利完成Oracle数据库的导入导出操作。这些方法不仅适用于特定的场景,还能够作为常规故障排查的参考指南。

    Oracle 导入错误IMP-00010:不是有效的导出文件,头部验证失败

    在Oracle数据库管理中,"IMP-00010:不是有效的导出文件,头部验证失败" 是一个常见的导入错误,通常发生在尝试使用`expdp`(数据泵导出)或`impdp`(数据泵导入)工具进行数据迁移或备份恢复时。这个错误意味着系统...

    oracle导入时表空间不一致解决方法

    在Oracle数据库管理中,经常会出现因表空间不一致而导致的数据导入失败的问题。本文将详细介绍如何解决这一常见问题,并确保数据能够顺利地从一个环境迁移到另一个环境中。 #### 一、问题背景 在进行Oracle数据...

    exp/imp2导入导出

    - 确保源数据库和目标数据库的兼容性,避免因版本不匹配导致的导入失败。 - 在进行数据导出和导入时,合理规划操作时间,避免对生产系统造成不必要的影响。 - 使用expdp和impdp的高级参数,如PARALLEL、DUMPFILE和...

    oracle常见问题处理

    正确的做法是使用备份和恢复机制,如导出(EXPDP)和导入(IMPDP),或者使用RMAN(Recovery Manager)进行迁移。 6. **NET8与PL/SQL连接差异**:如果在NET8中能成功连接,但在PL/SQL Developer中无法找到监听器,...

    远程导入备份orcal数据库命令

    - 在进行远程导入或备份前,务必确认源数据库与目标数据库的兼容性,避免因版本差异导致的导入失败。 - 考虑网络传输速度和稳定性,对于大型数据库,建议在非高峰时段执行远程操作。 - 使用`log`参数记录操作日志,...

    oracle导入备份DMP报实际值最大值错误

    当你尝试将一个从Oracle 11G数据库导出的DMP文件导入到Oracle 10G数据库时,可能会遇到导入失败的问题。这是因为Oracle的DMP文件包含了源数据库的版本信息,高版本的DMP文件不兼容低版本的数据库。为了解决这个问题...

    Oracle11g_新特性及常用维护工具详解

    同样地,使用`impdp`命令可以将之前导出的数据快速导入到数据库中。 示例命令: ```sql impdp system/password directory=DATA_PUMP_DIR dumpfile=example.dmp logfile=example.log ``` **2.4 Oracle11g Flashback...

    oracle学习笔记

    - 如果`EXPDP`导出的数据大于80M并且设置了`COMPRESS=YES`,那么在导入时如果没有足够的连续大数据块,会导致导入失败。此时可以通过设置`COMPRESS=NO`来避免这个问题。 - `IMPDP`和`EXPDP`的字符集必须匹配,否则...

    精心搜集oracle里的常用命令及oracle应用中常见的1000个问题

    7. ORA错误处理:学习识别和解析Oracle错误代码,如ORA-00001、ORA-01422等,以便快速定位并解决问题。 8. 系统性能监控:使用`v$视图`进行性能监控,例如`v$session`、`v$process`、`v$sga`等。 9. 数据迁移:...

    Oracle11g_新特性及常用维护工具详解.pdf

    **3.2 oracle11g SYSAUX 空间严重不足,alter 日志报 ORA-1683 和 ORA-1688 错误** SYSAUX 表空间主要用于存储 Oracle 内部使用的辅助数据,当其空间不足时,会导致上述错误。解决方案包括增加 SYSAUX 表空间的大小...

    淘宝海量数据迁移方案

    1. **ORA-01555错误**:在进行数据迁移的过程中,如果源数据库中的数据发生变更,可能会导致ORA-01555错误,影响迁移质量。 2. **迁移过程出错**:如果迁移过程中出现错误,回滚将会非常困难且耗时较长。 3. **建议...

    ORACLE综合实验手册

    - **数据迁移方法**:通常使用Oracle的导入导出工具(EXPDP/IMPDP)、GoldenGate或者Data Pump等工具进行数据迁移。 - **迁移过程注意事项**:确保源和目标环境兼容,预先测试迁移过程等。 #### 实验7:FLASHBACK -...

    oracle数据库备份还原(本地及远程操作)

    - **逻辑备份**:利用Oracle提供的`EXPDP`和`IMPDP`工具进行数据导出与导入,无需数据库处于归档模式,操作灵活,适合于特定数据或结构的备份与迁移。 #### 二、逻辑备份操作详解 ##### (一)基本操作命令 1. **...

    oracle在linux系统中的安装使用详解

    - **恢复数据库**:使用`impdp`命令进行数据泵导入 - **监控性能**:使用`awr`、`ash`等工具分析性能瓶颈 - **安全管理**:定期更改密码、限制用户权限等 通过上述步骤,可以在Linux系统下成功安装并使用Oracle 10G...

    导出空表解决方法

    注意:如果更改字符集时遇到错误ORA-12721(操作不能在其他会话活动时执行),可以使用`INTERNAL_USE`选项来避免此问题: ```sql SQL> alter database character set internal_use ZHS16GBK; ``` 9. 最后关闭并...

    泛微OA数据库相关问题处理

    解决这个问题可以使用LISTENER.ORA文件,例如: ```bash LISTENER = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1521)) ) ``` 这个文件可以配置监听器,解决连接问题。 15. SQL...

    oracle 10G数据库安装方法

    2. DMP文件恢复:Oracle Data Pump用于数据库的导入导出,通过impdp和expdp命令,可以将.dmp文件中的数据导入到数据库。 3. 定时备份:利用RMAN(Recovery Manager)可以设置定期备份策略,确保数据安全性。 【故障...

Global site tag (gtag.js) - Google Analytics