当前位置: 首页 > news >正文

ORACLE 19.8版本数据库环境EXPDP导数据的报错处理

近期用户在做EXPDP导出时,报错异常termination终止;EXPDP本身是简单的功能并且这个环境也是经常做导出的,到底是什么原因导致了这个问题呢?

导出脚本报错:

分析导出日志,当时系统资源充足但是进程启动失败,直觉是遇到了BUG;

在MOS上检查,可以发现这样一个文档:Data Pump Export Fails to Start, Raising 'ORA-31648: Timeout before master process DM00 finished initialization'Error (Doc ID 2677216.1),各项报错基本匹配;

原因是SELECT COUNT(*) FROM V$SQL_MONITOR; 里面的SQL数量很多,实际查看确实这样,但是RAC环境因为业务分布情况,导致一个节点多一个少.

后续提议在少的节点上做了导出,可以正常完成导出。

文档里面提供的解决办法:

报错现象:

APPLIES TO:
Oracle Database - Enterprise Edition - Version 12.2.0.1 and later
Information in this document applies to any platform.
SYMPTOMS
Data Pump export job fails to start, raising errors similar to the following:
ORA-31626: job does not exist
ORA-31637: cannot create job SYS_EXPORT_TABLE_02 for user OPER01
ORA-06512: at "SYS.KUPV$FT", line 1121
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: at "SYS.KUPV$FT", line 1726
ORA-39062: error creating master process DM00
ORA-31648: Timeout before master process DM00 finished initialization.
ORA-06512: at "SYS.KUPP$PROC", line 57
ORA-06512: at "SYS.KUPP$PROC", line 275
ORA-06512: at "SYS.KUPV$FT", line 1668
ORA-06512: at "SYS.KUPV$FT", line 1082
CHANGES

原因:

Trace of the startup indicates Data Pump is waiting on the following query:
SELECT COUNT(1) FROM SYS.V$SQL_MONITOR WHERE SID = :B1 AND STATUS IN ('QUEUED', 'EXECUTING')
This was taking more than two minutes to come back with results as part of the Data Pump master process initialization.
If the Data Pump master process takes more than two minutes to initialize, it will abort.
Found the view for V$SQL_MONITOR contained over 80,000 rows. 
Due to the number of rows, the problem query was taking too long to return results and the master process initialization was aborted

解决办法:

If a count of rows in V$SQL_MONITOR returns a high number, and the customer / end user does not make use of SQL
monitoring, then it can be safely disabled.
To disable sql monitoring:
alter system set "_sqlmon_threshold"=0 scope=both sid='*';
To re-enable sql monitoring:
alter system set "_sqlmon_threshold"=5 scope=both sid='*';
A database restart would then be required to clear out the rows from V$SQL_MONITOR.
Alternatively, gathering fixed object statistics when there are a large number of rows in V$SQL_MONITOR may help. Rows
accumulate in V$SQL_MONITOR over time, best to gather stats when there are many rows in this view.
To gather the statistics:
$ sqlplus / as sysdba
EXEC DBMS_STATS.GATHER_FIXED_OBJECTS_STATS ();
EXEC DBMS_STATS.GATHER_DICTIONARY_STATS ();
NOTE1: This same problem may exist for Data Pump import as well, but this is not verified.
NOTE2: The following SQL Monitor bugs may also help, but they were not tested in this case:
Bug 28789533 - Slow V$SQL_Monitor /SQL_Monitor (Doc ID 28789533.8)
Bug 28204104 - Slow Output from V$SQL_Monitor (Doc ID 28204104.8)

相关文章:

  • LeetCode 139 —— 139.单词拆分
  • Thinkphp 多文件压缩
  • Java 大视界 -- 基于 Java 的大数据机器学习模型的多模态融合技术与应用(143)
  • Android Compose 图标按钮深度剖析:从源码到实践(五)
  • MES汽车零部件制造生产监控看板大屏
  • 【Go 】异常处理
  • SpringBoot第四站(1):数据层开发: 配置数据源,整合jdbcTemplate
  • Linux文件挂载新文件夹,隐藏老文件夹问题
  • 【React】useEffect、useLayoutEffect底层机制
  • docker desktop 集成WSL Ubuntu22.04
  • FPGA----完美解决Windows下[XSIM 43-3409][XSIM 43-3915]错误
  • 自定义myshell(精讲)
  • 服务器相关的硬件知识
  • Ae 效果详解:描边
  • 空调遥控器低功耗单片机方案
  • Qt6+QML实现Windows屏幕录制
  • 云原生网络拓扑:服务网格的量子纠缠效应
  • Agilent N5230A矢量网络分析仪测试散射参数(S参数)步骤
  • RabbitMQ实现定时/延迟任务
  • 力扣 Hot 100 刷题记录 - 二叉搜索树中第 K 小的元素
  • 国际观察丨美中东政策生变,以色列面临艰难选择
  • “先增聘再离任”又添一例,景顺长城基金经理鲍无可官宣辞职
  • 时隔3年,持续近2小时,俄乌在土耳其谈成了什么?
  • 中国首艘海洋级智能科考船“同济”号试航成功,可搭载水下遥控机器人
  • 大陆非遗项目打铁花、英歌舞将在台演出
  • 陕西三原高新区违法占用土地,被自然资源局罚款10万元