暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片
Oracle定期清理告警日志文件脚本
2537
2页
23次
2020-08-24
5墨值下载
Oracle
定期清理告警日志文件脚本
有时候
Oracle
告警日志文件过大导致数据库访问问题,现将脚本贴出来
linux shell
#!/bin/sh
#
关闭监听的日志功能,一般出现问题再打开
lsnrctl set log_status off
# move alertlog when size 1G
sqlplus -S /nolog <<EOF
set heading off feedback off pagesize 0 verify off echo off
conn / as sysdba
spool tmp.txt
select value pvalue from v\$diag_info where name='Diag Trace';
select value pvalue from v\$diag_info where name='Diag Alert';
spool off
exit
EOF
#
将两个告警日志文件赋予两个变量
PATH1=$(sed -n '1p' tmp.txt)
PATH2=$(sed -n '2p' tmp.txt)
#
判断如果
trace
文件夹内的文件超过
1G
则移动到上个目录,当然这里是覆盖,可以自
行修改为一个备份目录并日期格式命名
cd $PATH1
for filename in $( ls -l alert* |awk '{if($5>1000000000) print
$9}')
do
if [-f $filename ];then
mv $filename ..
fi
done
#
判断如果
alert
文件夹内的文件超过
1G
则删除掉,
xml
的形式跟上面
log
形式重复,
一般用不上
cd $PATH2
for filename1 in $( ls -l *.xml |awk '{if($5>1000000000) print
$9}')
do
if [-f $filename1 ];then
rm -f $filename1
fi
done
windows bat
,思想类似实现基本雷同:
1.
2. echo set heading off feedback off pagesize 0 verify off
echo off > sql.txt
3. echo conn / as sysdba >> sql.txt
4. echo spool tmp.txt >> sql.txt
5. echo select value pvalue from v$diag_info where name='Diag
Trace'; >> sql.txt
6. echo select value pvalue from v$diag_info where name='Diag
Alert'; >> sql.txt
7. echo spool off >> sql.txt
8. echo exit>> sql1.txt sql.txt
9.
10. sqlplus -S /nolog @sql.txt
11.
12. (Set /p Line1=&Set /p Line2=)<tmp.txt
13. cd /d %Line1%
14. for %%i in ("*.log") do (
15. echo %%i:
文件大小
=%%~zi
字节
16. if %%~zi gtr 1000000000 move %%i ..
17. )
18.
19. cd /d %Line2%
20. for %%i in ("*.xml") do (
21. echo %%i:
文件大小
=%%~zi
字节
22. if %%~zi gtr 1000000000 del %%i
23. )
of 2
5墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜