oracle使用sql关闭trace日志,Linux清理Oracle日志巧用close_trace命令释放误删trace文件...
可能很多朋友都遇到过这样的情况,在UNIX/Linux上定期清理Oracle日志文件夹时可能删除到仍被后台进程open着的trace文件,即某些后台进程一直持有着这些”被已经误删了的“打开文件的描述符(fd),这种情况下文件系统上该文件实际占用的空间是不会被释放的,这就造成使用df命令查看文件系统剩余空间和用du命令查看文件夹空间使用量时数值不一致的问题。此外因为是后台进程持有这些打开文件描述符,所以我们无法像kill服务进程一样来解决该问题(部分后台进程是可以kill的,不建议这样做)。oradebug是sqlplus中威力强大的debug命令,我们可以通过该命令发起多种trace/dump,其中也包括了close_trace事件;close_trace事件可以让指定进程关闭其正持有的trace文件。
下面我们就来演示下相关操作:
[maclean@rh2 ~]$ ps -ef|grep ora_|grep -v grep
maclean 7281 1 0 16:35 ? 00:00:00 ora_pmon_PROD
maclean 7283 1 0 16:35 ? 00:00:00 ora_psp0_PROD
maclean 7285 1 0 16:35 ? 00:00:00 ora_mman_PROD
maclean 7287 1 0 16:35 ? 00:00:00 ora_dbw0_PROD
maclean 7289 1 0 16:35 ? 00:00:00 ora_lgwr_PROD
maclean 7291 1 0 16:35 ? 00:00:00 ora_ckpt_PROD
maclean 7293 1 0 16:35 ? 00:00:00 ora_smon_PROD
maclean 7295 1 0 16:35 ? 00:00:00 ora_reco_PROD
maclean 7297 1 0 16:35 ? 00:00:00 ora_cjq0_PROD
maclean 7299 1 0 16:35 ? 00:00:00 ora_mmon_PROD
maclean 7301 1 0 16:35 ? 00:00:00 ora_mmnl_PROD
maclean 7303 1 0 16:35 ? 00:00:00 ora_d000_PROD
maclean 7305 1 0 16:35 ? 00:00:00 ora_s000_PROD
maclean 7313 1 0 16:35 ? 00:00:00 ora_qmnc_PROD
maclean 7430 1 0 16:35 ? 00:00:00 ora_q000_PROD
maclean 7438 1 0 16:36 ? 00:00:00 ora_q001_PROD
/* lgwr是著名的Oracle后台进程,在这个启动的实例中其系统进程号为7289*/
[maclean@rh2 ~]$ ls -l /proc/7289/fd /* linux上的proc文件系统可以很方便我们探测进程信息*/
total 0
lr-x------ 1 maclean oinstall 64 Jul 26 16:38 0 -> /dev/null
lr-x------ 1 maclean oinstall 64 Jul 26 16:38 1 -> /dev/null
lr-x------ 1 maclean oinstall 64 Jul 26 16:38 10 -> /dev/zero
lr-x------ 1 maclean oinstall 64 Jul 26 16:38 11 -> /dev/zero
lr-x------ 1 maclean oinstall 64 Jul 26 16:38 12 -> /s01/rac10g/rdbms/mesg/oraus.msb
lrwx------ 1 maclean oinstall 64 Jul 26 16:38 13 -> /s01/rac10g/dbs/hc_PROD.dat
lrwx------ 1 maclean oinstall 64 Jul 26 16:38 14 -> /s01/rac10g/dbs/lkPROD
lrwx------ 1 maclean oinstall 64 Jul 26 16:38 15 -> /s01/rac10g/oradata/PROD/controlfile/o1_mf_64q6xphj_.ctl
lrwx------ 1 maclean oinstall 64 Jul 26 16:38 16 -> /s01/rac10g/flash_recovery_area/PROD/controlfile/o1_mf_64q6xpms_.ctl
lrwx------ 1 maclean oinstall 64 Jul 26 16:38 17 -> /s01/rac10g/oradata/PROD/onlinelog/o1_mf_1_64q6xrsr_.log
lrwx------ 1 maclean oinstall 64 Jul 26 16:38 18 -> /s01/rac10g/flash_recovery_area/PROD/onlinelog/o1_mf_1_64q6xsoy_.log
lrwx------ 1 maclean oinstall 64 Jul 26 16:38 19 -> /s01/rac10g/oradata/PROD/onlinelog/o1_mf_2_64q6xths_.log
l-wx------ 1 maclean oinstall 64 Jul 26 16:38 2 -> /s01/rac10g/admin/PROD/bdump/prod_lgwr_7289.trc
lrwx------ 1 maclean oinstall 64 Jul 26 16:38 20 -> /s01/rac10g/flash_recovery_area/PROD/onlinelog/o1_mf_2_64q6xv9o_.log
lrwx------ 1 maclean oinstall 64 Jul 26 16:38 21 -> /s01/rac10g/oradata/PROD/onlinelog/o1_mf_3_64q6xw1b_.log
lrwx------ 1 maclean oinstall 64 Jul 26 16:38 22 -> /s01/rac10g/flash_recovery_area/PROD/onlinelog/o1_mf_3_64q6xwv0_.log
lrwx------ 1 maclean oinstall 64 Jul 26 16:38 23 -> /s01/rac10g/oradata/PROD/datafile/o1_mf_system_64q6wd5j_.dbf
lrwx------ 1 maclean oinstall 64 Jul 26 16:38 24 -> /s01/rac10g/oradata/PROD/datafile/o1_mf_undotbs1_64q6wd7f_.dbf
lrwx------ 1 maclean oinstall 64 Jul 26 16:38 25 -> /s01/rac10g/oradata/PROD/datafile/o1_mf_sysaux_64q6wd5m_.dbf
lrwx------ 1 maclean oinstall 64 Jul 26 16:38 26 -> /s01/rac10g/oradata/PROD/datafile/o1_mf_users_64q6wd89_.dbf
lrwx------ 1 maclean oinstall 64 Jul 26 16:38 27 -> /s01/rac10g/oradata/PROD/datafile/o1_mf_temp_64q6xyox_.tmp
lr-x------ 1 maclean oinstall 64 Jul 26 16:38 28 -> /s01/rac10g/rdbms/mesg/oraus.msb
lr-x------ 1 maclean oinstall 64 Jul 26 16:38 3 -> /dev/null
lr-x------ 1 maclean oinstall 64 Jul 26 16:38 4 -> /dev/null
l-wx------ 1 maclean oinstall 64 Jul 26 16:38 5 -> /s01/rac10g/admin/PROD/udump/prod_ora_7279.trc
l-wx------ 1 maclean oinstall 64 Jul 26 16:38 6 -> /s01/rac10g/admin/PROD/bdump/alert_PROD.log
lrwx------ 1 maclean oinstall 64 Jul 26 16:38 7 -> /s01/rac10g/dbs/lkinstPROD (deleted)
lrwx------ 1 maclean oinstall 64 Jul 26 16:38 8 -> /s01/rac10g/dbs/hc_PROD.dat
l-wx------ 1 maclean oinstall 64 Jul 26 16:38 9 -> /s01/rac10g/admin/PROD/bdump/alert_PROD.log
/*可以看到lgwr进程相关trace文件为/s01/rac10g/admin/PROD/bdump/prod_lgwr_7289.trc,对应打开文件描述符为2*/
[maclean@rh2 ~]$ ls -lh /s01/rac10g/admin/PROD/bdump/prod_lgwr_7289.trc
-rw-r----- 1 maclean oinstall 1.7M Jul 26 16:37 /s01/rac10g/admin/PROD/bdump/prod_lgwr_7289.trc
[maclean@rh2 ~]$ rm -f /s01/rac10g/admin/PROD/bdump/prod_lgwr_7289.trc
/*尝试删除该trace文件*/
[maclean@rh2 ~]$ ls -l /proc/7289/fd|grep lgwr
l-wx------ 1 maclean oinstall 64 Jul 26 16:38 2 -> /s01/rac10g/admin/PROD/bdump/prod_lgwr_7289.trc (deleted)
/*文件已处在deleted状态,但lgwr进程仍持有该文件相关的文件描述符,这个时候该文件占有的空间并不会被释放*/
[maclean@rh2 ~]$ lsof|grep lgwr
oracle 7289 maclean 2w REG 8,2 1702391 3867134 /s01/rac10g/admin/PROD/bdump/prod_lgwr_7289.trc (deleted)
[maclean@rh2 ~]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.5.0 - Production on Mon Jul 26 17:03:04 2010
Copyright (c) 1982, 2010, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> oradebug setospid 7289;
Oracle pid: 6, Unix process pid: 7289, image: oracle@rh2 (LGWR)
SQL> oradebug flush; /*写出trace buffer内容到trace文件*/
Statement processed.
SQL> oradebug close_trace;
Statement processed.
/*close_trace能够释放指定Oracle进程正打开着的文件,To close the current trace file use*/
SQL> host
[maclean@rh2 ~]$ lsof|grep lgwr
[maclean@rh2 ~]$ ls -l /proc/7289/fd/|grep lgwr
[maclean@rh2 ~]$
/* 从进程相关的fd文件夹中查找不到原来的trace文件;close_trace命令成功释放了该文件,并回收了磁盘空间。*/
oracle使用sql关闭trace日志,Linux清理Oracle日志巧用close_trace命令释放误删trace文件...相关推荐
- 巧用close_trace命令释放误删trace文件
可能很多朋友都遇到过这样的情况,在UNIX/Linux上定期清理Oracle日志文件夹时可能删除到仍被后台进程open着的trace文件,即某些后台进程一直持有着这些"被已经误删了的&quo ...
- linux清理备份日志,服务器日志清理备份
"历史上的今天"有没有API接口的功能想添加一个历史上今天功能.人生就像一张有去无回的单程车票,没有彩排,每一场都是现场直播,把握好每次演出便是对人生最好的珍惜.? <历史上 ...
- ftp文件服务器登录日志,linux ftp服务器日志
linux ftp服务器日志 内容精选 换一换 为加强对系统数据的容灾管理,云堡垒机支持配置日志备份,提高审计数据安全性和系统可扩展性.本小节主要介绍如何在系统配置FTP/SFTP服务器参数,将日志远 ...
- oracle安装 衍生进程已退出,linux安装oracle 出现问题
linux安装oracle 出现问题0 出现错误以后, 图片已经插入 请看,然后 我查过资料,说要安装 binutils-2.15.92.0.2-13.0.0.0.2.x86_64.rpm 但是我安装 ...
- linux oracle 删除为空的dbf,Linux上Oracle误删除一个没有用的dbf表空间文件
在Linux下面安装好Oracle只有,Linux 下面就会有一个Oracle用户,Linux上Oracle误删除一个没有用的dbf表空间文件,导致数据库连接 在Linux下面安装好Oracle只有, ...
- linux zip压缩包大小,Linux中巧用zip命令压缩和解压缩文件
在Windows中,我们用得最多的解压缩软件就是WinRAR了,这个软件对我们实现解压缩非常方便.但是如果在Linux系统中,我们还可以尝试用命令来实现对文件的解压缩,这篇文章主要介绍在Linux中用 ...
- linux清理log日志文件
需要清理的场景: 1.linux会自动记录日志,日志文件中包含用户的所有操作.这样虽然可以方便用户查找相关bug,但是也导致的日志文件所占据的空间越来越大.在系统能够正常满足用户使用的条件下,清理日志 ...
- Linux系统查看oracle日志,Linux 查询oracle错误日志警告日志
Java学习基础2 运算符: ++: int a = 4; int b = a++; ++在后:先运算在递增1 输出:a=5 b=4; int b = ++a; ++在前: ...
- Linux清理Log日志,释放自增长的log文件
1.使用df查看磁盘使用情况 Size容量 used已用 avail可用 use%已用% mounted on挂载点 2.若某个目录的空间使用过高,可使用"cd /目录名" ...
最新文章
- VMware Workstation Pro 16 安装教程
- 阻止a链接跳转方法总结
- 虚拟专题:知识图谱 | 流程工业控制系统的知识图谱构建
- 存储过程批量执行脚本
- linux开源视频播放器_什么定义了Linux的顶级开源音乐播放器?
- MogDB/openGauss 生态工具-MTK(Migration ToolKit) 数据库迁移
- 电脑k歌软件_别否认!你就是在K歌软件里偷偷出道的年轻人
- MySql中 DELIMITER
- Git与GitHub学习笔记(一)如何删除github里面的文件夹?
- cadz轴归零命令_CAD的Z轴归零的插件分享
- 谷歌翻译突然用不了了
- wps加载失败模板文件损坏_Normal模板异常损坏的修复方法
- html5直播礼物动画,GitHub - General757/giftanim: 直播礼物动画 送赞送礼物动画 仿映客礼物动画侧栏弹出送花人和礼物以及x1 x2 x3效果,支持队列 排序...
- linux 有道 离线词典,有道词典离线版
- Java实现 LeetCode 134 加油站
- javafx自定义分页控件的实现
- 2018金山wps暑期招聘服务器端笔试题(第二批)
- CANopen协议解读
- ping网站服务器,ping命令的作用,ping真能检测出服务器的快慢吗??
- Python中yield的简单理解
热门文章
- 2022年贵州省高新技术企业认定奖励补贴及申报条件
- 史上最全WindowsMac系统各种快捷键大全(1000余个)
- JavaScript 专题(九)数组中查找指定元素
- Java毕设项目藏宝阁游戏交易系统(java+VUE+Mybatis+Maven+Mysql)
- elasticsearch搭建与java应用实例
- 「Java基础」范型
- 浅谈解析库XPath,bs4和pyquery
- Henry前端笔记之 Node及npm相关
- 史上最详细springboot vue UEditor整合(包括遇到的各种坑)
- 生产任务分配问题 matlab+lingo