博客
关于我
Oracle-expdp JOB 状态STOP PENDING如何改为EXECUTING
阅读量:443 次
发布时间:2019-03-06

本文共 1593 字,大约阅读时间需要 5 分钟。

数据泵导入/导出问题及解决方案

在使用Oracle DataPump进行数据导入或导出时,可能会遇到Undo空间不足的报错。这通常发生在资源紧张的情况下,导致DataPump无法继续执行任务,并将JOB状态设置为STOP PENDING。扩容后,虽然物理空间增加了,但JOB状态仍然无法恢复执行。以下是解决此问题的详细步骤和建议。

1. 理解DataPump的JOB状态

DataPump的JOB状态包括以下几种:

  • EXECUTING:表示DataPump正在执行导入或导出操作。
  • STOP PENDING:表示DataPump正在停止等待,但导出的数据仍在处理中。
  • NOT RUNNING:DataPump未运行或已停止。
  • IDLING:DataPump处于等待状态,通常在完成某个阶段后。

了解这些状态有助于理解JOB的执行情况和可能的故障原因。

2. 恢复JOB状态为STOP PENDING的方法

当DataPump导入或导出时遇到Undo空间不足的报错,并导致JOB状态变为STOP PENDING时,可以采取以下步骤恢复执行:

2.1 使用expdp命令继续客户端

在DataPump停止等待(STOP PENDING)状态时,可以使用以下命令继续客户端执行:

expdp system/ 
attach=test_usr

此命令会显示当前JOB的状态,包括已经处理的数据量和剩余的进度。

2.2 使用DBMS_DATAPUMP.START_JOB命令

如果无法通过expdp命令恢复,可以使用DBMS_DATAPUMP.START_JOB函数手动启动DataPump。确保JOB已经存在,并在停止等待状态下执行:

DBMS_DATAPUMP.START_JOB(job_name => 'TEST_USR');
2.3 检查JOB的状态变化

在恢复执行后,使用以下SQL查询检查JOB的状态:

connect / as sysdbaselect * from dba_datapump_jobs where job_name = 'TEST_USR';

如果状态变为IDLING,表示DataPump正在准备继续执行。

3. 预防措施

为了避免频繁出现Undo空间不足的问题,可以采取以下预防措施:

3.1 定期扩容

确保数据库的Undo表空间和临时表空间有足够的空间。使用自动扩展功能可以自动调整空间。

3.2 监控资源使用情况

使用Oracle的监控工具(如Oracle Enterprise Manager)监控数据库的资源使用情况,及时发现资源不足的情况。

3.3 优化查询和操作

优化数据库查询和操作,减少对Undo空间的需求,避免在高峰期造成资源过载。

4. 常见问题及解决方案

4.1 DataPump处于DEFINING状态

如果DataPump处于DEFINING状态,可能是由于文件系统权限问题或存储路径问题。检查文件系统权限,确保DataPump有权限访问目标目录和文件。

4.2 DataPump无法启动

如果DataPump无法启动,检查日志文件以获取错误信息。通常错误信息会指明具体问题,如权限问题、文件路径问题或其他配置问题。

4.3 数据量过大导致失败

如果DataPump因数据量过大而失败,可以考虑分批次处理数据,或者增加DataPump的并行度(parallelism)。

5. 总结

在处理DataPump导入/导出过程中遇到Undo空间不足的问题时,及时使用expdp的continue_client选项或DBMS_DATAPUMP.START_JOB命令可以有效恢复JOB的执行状态。同时,通过定期扩容、监控资源使用和优化数据处理流程,可以预防类似问题的再次发生,确保DataPump的稳定性和高效性。

转载地址:http://dolyz.baihongyu.com/

你可能感兴趣的文章
Objective-C实现all combinations所有组合算法(附完整源码)
查看>>
Objective-C实现all permutations所有排列算法(附完整源码)
查看>>
Objective-C实现all subsequences所有子序列算法(附完整源码)
查看>>
Objective-C实现AlphaNumericalSort字母数字排序算法(附完整源码)
查看>>
Objective-C实现alternate disjoint set不相交集算法(附完整源码)
查看>>
Objective-C实现An Armstrong number阿姆斯特朗数算法(附完整源码)
查看>>
Objective-C实现anagrams字谜算法(附完整源码)
查看>>
Objective-C实现ApproximationMonteCarlo蒙特卡洛方法计算pi值算法 (附完整源码)
查看>>
Objective-C实现area under curve曲线下面积算法(附完整源码)
查看>>
Objective-C实现arithmetic算术算法(附完整源码)
查看>>
Objective-C实现armstrong numbers阿姆斯壮数算法(附完整源码)
查看>>
Objective-C实现articulation-points(关键点)(割点)算法(附完整源码)
查看>>
Objective-C实现atoi函数功能(附完整源码)
查看>>
Objective-C实现average absolute deviation平均绝对偏差算法(附完整源码)
查看>>
Objective-C实现average mean平均数算法(附完整源码)
查看>>
Objective-C实现average median平均中位数算法(附完整源码)
查看>>
Objective-C实现average mode平均模式算法(附完整源码)
查看>>
Objective-C实现avl 树算法(附完整源码)
查看>>
Objective-C实现AvlTree树算法(附完整源码)
查看>>
Objective-C实现backtracking Jump Game回溯跳跃游戏算法(附完整源码)
查看>>