在很多时候,检查系统时候发现,由于某个Oracle的trace文件导致磁盘空间告警,因为业务需要不能让数据库down下来。这个时候你想到的方法可能是直接删除掉这个trace文件,如果是win系统,那恭喜你这样做可以解决问题;如果是linux/unix系统,那就等着事故的发生吧。在linux/unix中,如果直接rm掉oracle进程的某个文件(该进程还存在),文件句柄不会释放,即磁盘使用空间不会释放。可以通过df命名看到磁盘的空间释放释放。下面通过对lgwr进程的一系列操作,使用oradebug来释放oracle进程句柄,从而达到释放oracle某个被删除的trace文件的磁盘空间

一、查找lgwr进程的trace文件

[oracle@localhost /]$ cd $ORACLE_BASE/admin/$ORACLE_SID/bdump

[oracle@localhost bdump]$ pwd

/opt/oracle/admin/mcrm/bdump

[oracle@localhost bdump]$ ls -l|grep lgwr

-rw-r----- 1 oracle oinstall 32133 Dec 22 21:00 mcrm_lgwr_3485.trc

-rw-r----- 1 oracle oinstall 3713 Oct 8 07:13 mcrm_lgwr_3489.trc

-rw-r----- 1 oracle oinstall 22507 Mar 3 06:00 mcrm_lgwr_3598.trc

-rw-r----- 1 oracle oinstall 8441 Sep 15 10:29 mcrm_lgwr_4963.trc

[oracle@localhost bdump]$ ps -ef|grep lgwr

oracle 1056 30718 0 21:10 pts/3 00:00:00 grep lgwr

oracle 3598 1 0 2011 ? 00:04:10 ora_lgwr_mcrm

[oracle@localhost bdump]$ df |grep /opt

/dev/sda6 37798668 33312588 2534988 93% /opt

[oracle@localhost bdump]$ du -s .

948 .

从这里得出几点结论:

1.当前lgwr进程的spid为:3598

2.当前lgwr进程产生的trace文件大小为:22507B

3.包含该trace文件的分区大小使用大小为:33312588KB

4.bdump目录大小为:948KB

二、删除lgwr进程对应trace文件

[oracle@localhost bdump]$ rm mcrm_lgwr_3598.trc

[oracle@localhost bdump]$ du -s .

924 .

[oracle@localhost bdump]$ df |grep /opt

/dev/sda6 37798668 33312588 2534988 93% /opt

[oracle@localhost bdump]$ ls -l /proc/3598/fd|grep lgwr

l-wx------ 1 oracle oinstall 64 Mar 3 20:54 2 -> /opt/oracle/admin/mcrm/bdump/mcrm_lgwr_3598.trc (deleted)

从这里得出结论:

1.bdump目录当前大小变为:924KB(大约等于948KB-22507B)

2.包含该trace文件的分区大小使用大小依然为:33312588KB(没有因为删除trace文件而释放空间)

三、释放被删除trace文件空间

[oracle@localhost bdump]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.4.0 - Production on Sat Mar 3 21:12:41 2012

Copyright (c) 1982, 2007, Oracle. All Rights Reserved.

Connected to:

Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> !ls -l /proc/3598/fd|grep lgwr

l-wx------ 1 oracle oinstall 64 Mar 3 20:54 2 -> /opt/oracle/admin/mcrm/bdump/mcrm_lgwr_3598.trc (deleted)

SQL> oradebug setospid 3598

Oracle pid: 6, Unix process pid: 3598, image: oracle@localhost.localdomain (LGWR)

SQL> oradebug flush;

Statement processed.

SQL> oradebug close_trace;

Statement processed.

SQL> !ls -l /proc/3598/fd|grep lgwr

SQL> !df |grep /opt

/dev/sda6 37798668 33312564 2535012 93% /opt

SQL> exit

Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

从这里可以得出结论:

1.包含该trace文件的分区大小使用大小为:33312564KB(大约等于948KB-22507B)

2./proc/spid/fd下面的句柄已经释放

3.总这里可以看出使用oradebug可以真正释放oracle进程磁盘使用空间

oracle中句柄,释放句柄 – 提供7*24专业数据库(Oracle,SQL Server,MySQL等)恢复和Oracle技术服务@Tel:+86 13429648788 - 惜分飞...相关推荐

  1. oracle 00600 kccpb,惜分飞 - 提供7*24专业数据库(Oracle,SQL Server,MySQL等)恢复和Oracle技术服务@Tel:+86 13429648788...

    在哪些情况下,数据库不启动附加日志不能正常的被Logminer捕获到的,这里做了一个简单的测试,说明在不启用附加日志的情况下,很多操作不能被捕获,不仅仅是行迁移的数据记录.当然本实验仅供参考,因为在不 ...

  2. 惜分飞oracle,惜分飞 - 提供7*24专业数据库(Oracle,SQL Server,MySQL等)恢复和Oracle技术服务@Tel:+86 13429648788...

    又一起win rac的asm disk被格式化为ntfs,导致数据库异常恢复的请求,客户描述有一个500G的data磁盘组(只有一个磁盘,被误操作进行了格式化).格式化asm disk之后 asm的a ...

  3. SQL Server里的 ISNULL 与 Oracle 中的 NULLIF

    SQL Server里的 ISNULL 与 Oracle 中的 NULLIF不同: SQL Server 中有两个参数,语法:     ISNULL(check_expression, replace ...

  4. python数据库管理软件_数据库管理工具神器-DataGrip,可同时管理多个主流数据库[SQL Server,MySQL,Oracle等]连接 - Python社区...

    DataGrip :Jet Brains出品的一款数据库管理工具(没错,是Jet Brains出品,必属精品).DataGrip整合集成了当前主流数据库(如:SQL Server, MySQL, Or ...

  5. 使用Microsoft数据迁移助手在Oracle数据库和SQL Server之间迁移的具体示例

    介绍 (Introduction) Intended audience 目标听众 This document is intended for application developers and da ...

  6. 数据库管理工具神器-DataGrip,可同时管理多个主流数据库[SQL Server,MySQL,Oracle等]连接

    日常开发中少不了各种可视化数据库管理工具.如果需要同时能连接多种数据库,大家肯定都会想到 DBeaver.Navicat Premium.本文介绍另一个十分好用且强大的工具:DataGrip. Dat ...

  7. 应用程序的数据库从Sql Server迁移到Oracle

    应用程序的数据库从Sql Server迁移到Oracle 迁移案例一:数据库: Sql Server 2008到Oracle 9i 工具: Sybase PowerDesiner 12 试用版, PL ...

  8. ibatis中主键自动增长(Oracle,Ms sql server ,mysql)

    http://morning2008.iteye.com/blog/611528 iBatis的sqlMap配置文件的selectKey元素有个type属性,可以指定pre或者post表示前生成(pr ...

  9. 在.net 2.0 中执行分布式事务:隐式事务篇(SQL Server 与 Oracle)

    项目涉及到多个数据库的查询更新操作,也就必然需要分布式事务的支持,查了MSDN知道 .net 2.0 中利用新增的 System.Transactions 命名空间可以简单的实现分布式事务: Syst ...

最新文章

  1. 设计模式之命令模式、举例分析、通俗易懂
  2. 为什么Netty这么火?与Mina相比有什么优势?
  3. 即时通讯开发----回音消除技术
  4. 写python的笔记本_python笔记本:更改写入的fi
  5. vue2学生签到管理系统案例
  6. AI量化交易(二)——Tushare财经数据框架
  7. STM32 USB Mass Storage 例程调试笔记
  8. 谷歌表格快捷键_所有最好的Google表格键盘快捷键
  9. TriCore 与 RT-Thread(TC264 移植)
  10. [人生故事] -- 花朵静悄悄地开放
  11. echarts tooltip属性加背景图片
  12. TC297 Memory Maps 内存映射
  13. Elasticsearch的查询
  14. ‘npm‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。
  15. 租赁合同到期后如何处理
  16. 毕业论文查重怎么操作?
  17. ant man 什么意思_ant是什么意思中文翻译
  18. java 架构师课程体系
  19. 图像处理术语解释:灰度、色相、饱和度、亮度、明度、阿尔法通道、HSL、HSV、RGBA、ARGB和PRGBA以及Premultiplied Alpha(Alpha预乘)等基础概念详解
  20. 兼职项目分享,在家就可以做的八个副业项目,利用业余时间增加收入吧

热门文章

  1. phpyun怎么采集_php采集神器cURL使用方法详解
  2. Shell命令-网络操作之基础之scp、wget
  3. STC目前所有系列的中断列表
  4. 洛谷 P4869 albus就是要第一个出场(求一个数在线性基中的排名)
  5. 输入无线网密码后显示无法连接服务器,无线网连接失败
  6. NetBox在Win10下运行报错
  7. Python顺序与选择结构
  8. Nacos学习日记6-基于Springboot框架的Nacos服务注册报错:Application run failed
  9. 伽利略红十字来信谭之一:哈勃红歌红限红移谭
  10. 每天吃2根香蕉,30天后你会发现自己有惊人的变化!