如何删除大量oracle中的小trace文件

 我来答
longrenyingdc8ecb1
2015-11-22 · TA获得超过1万个赞
知道大有可为答主
回答量:6032
采纳率:82%
帮助的人:2464万
展开全部
要先看看数据库的alert日志,有没有错误。所有dump目录下的trace文件大部分是错误补充文件,如果alert日志没什么问题,那么直接操作系统级别删除就行。不过我说的是各个dump目录下的,比如adump,bdump,cdump下的,如果是其他目录下的我不知道,是什么文件。不过个人建议,可以保留一部分(10-15内生成的),毕竟这东西很小不占用什么空间,没准哪天查什么错误或者问题用到。
全网天下霸屏
2016-02-13 · 知道合伙人互联网行家
全网天下霸屏
知道合伙人互联网行家
采纳数:5592 获赞数:33347
专注全网营销,品牌推广,营销推广,网站运营,自媒体运营;如果求助没有及时回复,欢迎私信。

向TA提问 私信TA
展开全部
删除大量的oracle的trace文件需要写shell脚本。

比如删除一个月前的trace文件
find /u01/app/oracle/diag/rdbms/testgg1/testgg1/trace -mtime +30 -type f -name "*" -exec rm -rf {} \;

可以写成shell脚本如下:
[oracle@Primary shell]$ vi delete_trace.sh
#! /bin/sh

export ORACLE_SID=testgg1
VALUE=`sqlplus -S "/ as sysdba" << EOF_SQLPLus
set pagesize 0 feedback off verify off heading off echo off
select value from v\\\$diag_info where name='Diag Trace';
exit;
END`

find $VALUE -mtime +30 -type f -name "*" -exec rm -rf {} \;
~
配合crontab自动删除一个月前的trace文件,由于某些数据库可能会产生trace文件比较多如果没有及时去清理这些无效的trace文件,很容易导致空间暴涨,做一个job自动去删除,免去了DBA的烦恼。

Shell可以在DBA的运维过程中带来了很多的方便,目前正在学习shell,谨以此纪录并提高自己
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友0319a0e
2015-11-22 · TA获得超过2.2万个赞
知道小有建树答主
回答量:2080
采纳率:85%
帮助的人:1175万
展开全部
set trace off
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式