资讯专栏INFORMATION COLUMN

数据泵异常后主机文件系统被占满

IT那活儿 / 3089人阅读
数据泵异常后主机文件系统被占满

点击上方“IT那活儿”,关注后了解更多精彩内容!!!


 环境描述 


操作系统为SuSE11系列Linux。
软件为Oracle12.1双节点RAC。


 问题描述 


现象1:
模拟割接库2节点主机文件系统/trandata 使用率为100%,通过linux命令df –h,查看如下:
现象2:
手动删除部分已经存在的文件后,空间使用率会降下来,但很快又会被占满。
现象3:
使用linux 命令 du - sh 命令查看 /trandata 目录的使用情况如下(此文件系统总容量为256G):


 问题分析 


根据这个库的作用(此数据库经常导入导出数据)分析,猜测是有数据库导出进程将目录占满。
但在数据库定义的directory目录下没有发现异常文件。而且当前文件系统下并没有发现大文件,但使用率很高,导致所有人都认为是操作系统问题,而没有往数据库方向想。
后面进一步问题分析,有可能是有大文件删除了,但是空间没有被释放,于是使用命令查看:
lsof | grep delete
发现进程号为2410的一个进程为expdp进程,此进程为 nohup 后台进程导出dump数据文件到 /trandata/common/distill/cfg 目录下。


 问题原因 


当前机器使用人较多,猜测导致此问题的原因为先起了一个expdp的进程在主机上导出,由于此目录空间本身就使用率偏高,很快就导致expdp进程进入等待状态。
此时相关人员并没有按照正常的步骤去停止expdp进程,反而直接使用rm命令去清理过 /trandata/common/distill/cfg目录,导致dump文件和日志文件都被清除。
但是文件号被expdp进程占着,导致文件虽然被删除,但是空间并未被释放。
然而数据库泵进程一旦启动,窗口Ctrl + C 或者关闭当前窗口,进程仍然会在后台继续运行,就导致了此文件系统被不断的撑满。


 问题解决 


根据问题原因,现在再次手动执行杀进程释放文件号即可。
根据expdp的进程号:kill -9 2410,然后登录到数据库,查看是否还存在running状态的job。
select * from dba_datapump_jobs t;
文件系统使用率立刻降为正常。


 附expdp进程停止方法 


在任务没有正常结束时,若想停止任务,首先根据数据泵导出或导入的日志找到attach,然后expdp attach=*** 或者 impdp attach=*** 登录后执行kill_job 输入Yes即可。
或者参考(How To Cleanup Orphaned DataPump Jobs In DBA_DATAPUMP_JOBS ? (文档 ID 336014.1))。
--首先登录数据库删除表:
SELECT o.status,o.object_id,o.object_type,
o.owner || . || object_name "OWNER.OBJECT",
DROP TABLE  || o.owner || . || object_name || purge;
"Drop master table"
FROM dba_objects o, dba_datapump_jobs j
WHERE o.owner = j.owner_name AND o.object_name = j.job_name
AND j.job_name NOT LIKE BIN$% ORDER BY 4, 2;
--然后执行停止任务即可:
DECLARE 
   h1 NUMBER;
BEGIN 
   h1 := DBMS_DATAPUMP.ATTACH(前面查出的任务名,用户名);
   DBMS_DATAPUMP.STOP_JOB (h1);
END;
/




本文作者:谭凯

本文来源:IT那活儿(上海新炬王翦团队)


分享

收藏

点赞

在看

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/129662.html

相关文章

  • jvm调优

    摘要:垃圾回收垃圾检测引用计数法和可达性分析算法。引用计数法给一个对象添加引用计数器,每当有个地方引用它,计数器就加,引用失效就减。通常会在老年代内存被占满时将会触发,回收整个堆内存。 基础知识 JVM - HotSpot内存布局(1.8之前版本) showImg(https://segmentfault.com/img/bVMdE6?w=1024&h=608); 1.8版本开始,持久区没有...

    jemygraw 评论0 收藏0
  • Spring Cloud Hystrix入门和Hystrix命令原理分析

    摘要:系统需要支持命令的撤销。第步计算断路器的健康度会将成功失败拒绝超时等信息报告给断路器,断路器会维护一组计数器来统计这些数据。第步,当前命令的线程池请求队列或者信号量被占满的时候。 断路由器模式 在分布式架构中,当某个服务单元发生故障之后,通过断路由器的故障监控(类似熔断保险丝),向调用方返回一个错误响应,而不是长时间的等待。这样就不会使得线程因调用故障服务被长时间占用不释放,避免了故障...

    Betta 评论0 收藏0
  • 人工智能帮助千万用户完成「隐形征信」计算

    摘要:量化派是一家数据驱动的科技金融公司,通过人工智能大数据机器学习等前沿技术提供消费信贷撮合及消费场景下的白条服务,每年处理千万级用户信用及信用消费申请。 「小杨」最近装修房子,准备去银行贷款,但是听说好多人会因为个人征信问题被银行拒绝贷款!于是,他先查了一下自己的央行征信,发现竟然没有自己的征信信息,「小杨」陷入了沉思,自己经常在淘宝、jd 上买东西,也有淘宝花呗和京东白条,怎么会没有征...

    Developer 评论0 收藏0

发表评论

0条评论

IT那活儿

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<