暂无图片
ADRCI SHOW ALERT内容写入日志文件
我来答
分享
Thomas
2022-10-22
ADRCI SHOW ALERT内容写入日志文件

ORACLE 11G以上,可以利用ADRCI功能,需要存入指定时间段的ALERT信息到某LOG文件里。编一个test.sh脚本如下:

#!/bin/bash
dt=`date -d '-3 day' +%Y-%m-%d`
adrci<<EOF
set home diag/rdbms/zhancs/zhancs
show alert -term -p "MESSAGE_TEXT like '%ORA-%' and ORIGINATING_TIMESTAMP > '$dt'"
exit
EOF

如调用该脚本,就是 ./test.sh >>1.log, 将输出结果写入log文件。

现在问题是,如果查出来没有ORA-的记录,应该不写入任何内容到1.log。但事实上,也写了如下内容:

$ cat 1.log

adrci>
ADRCI: Release 12.1.0.2.0 - Production on Sat Oct 22 16:36:30 2022

Copyright (c) 1982, 2014, Oracle and/or its affiliates. All rights reserved.

ADR base = "/u01/app/oracle"
adrci> adrci>
ADR Home = /u01/app/oracle/diag/rdbms/zhancs/zhancs:
*************************************************************************

那么,如何避免写入这部分无用内容呢?


我来答
添加附件
收藏
分享
问题补充
5条回答
默认
最新
哇哈哈

./test.sh | grep -vi adici | grep -v Copyright>>1.log

还有啥不想要的,多几次|grep -v xxx 过滤掉

暂无图片 评论
暂无图片 有用 1
打赏 0
暂无图片
2022-10-23
严少安
2022-10-23
👍‍
李宏达
2022-10-24
展开全部评论(1条)
李宏达

最后加个if判断如果有ORA就继续,没有ORA就删除1.log

暂无图片 评论
暂无图片 有用 0
打赏 0
李宏达
答主
2022-10-23
愤怒的蜗牛
2022-10-23
沐言倾心
2022-10-23
Thomas

1.log不能删除,能否有个replace动作,每次运行完,吧 1.log里以下内容替换为空:

adrci>
ADRCI: Release 12.1.0.2.0 - Production on Sat Oct 22 16:36:30 2022

Copyright (c) 1982, 2014, Oracle and/or its affiliates. All rights reserved.

ADR base = "/u01/app/oracle"
adrci> adrci>
ADR Home = /u01/app/oracle/diag/rdbms/zhancs/zhancs:
*************************************************************************

暂无图片 评论
暂无图片 有用 1
打赏 0
李宏达

1.彻底置空,也就是ls文件的大小为0,文件里面什么都没有

(1): > filename
     (2)true > filename
     (3)cat /dev/null > filename
     (4)> filename

2.置空文件,但是文件中有空行,ls文件的大小,显示还有大小

(1)echo “” > filename
    (2)echo > filename

暂无图片 评论
暂无图片 有用 1
打赏 0
2022-10-22
愤怒的蜗牛
2022-10-24
Thomas

 高手一出手,便知有没有。 赠 哇哈哈

暂无图片 评论
暂无图片 有用 1
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
Oracle如何确认存储过程正在被调用
回答 2
已采纳
如果存储过程正在被调用,去编译它,会卡住,会话等待事件为librarycachepin。另外,如果不去编译它,可以尝试使用如下sql来检查持有该对象的会话SELECTa.SID,a.username,
oradebug跟踪其他进程的PID,怎么trc里面没内容?
回答 1
oradebugsetospid需要指定vprocess里的spid列,如果是vprocess里的pid列的话,需要指定oradebugsetorapid
zabbix现在可以直接监控Oracle吗?
回答 4
已采纳
可以的。官方文档:https://www.zabbix.com/integrations/oracle安装示例:https://www.modb.pro/db/62643
ADG备库迁移
回答 1
拷贝rman备份也要占据带宽,直接在windows上用duplicate重新搭建ADG备库就行,但不建议在windows上搭建,因为所知的勒索病毒案例都是在windows上
请教大家个问题 oracle 哪种高可用 可以把其他10个环境的oracle汇总到一个数据库里面并且还能实时同步每个环境的数据?
回答 4
ogg了解一下
远程捕获配置过程中需要注意什么?
回答 1
之前看过墨天轮发过一篇文章,就说了过程,没有说具体的注意事项
一个存储过程中如何使用多个游标
回答 1
已采纳
游标使用不同的名字就可以了,可以支持多个游标变量的
Oracle进程CPU占用高99%,无法释放
回答 1
setlinesize500colusernamefora10coleventfora35colprogramfora20truncatecolcpupfor99.99selectta.,round(
oracle表删除大量数据保留前3个月怎么删?
回答 3
已采纳
可以分两种情况,看你要保留的数据多还是要删除的数据多。1、保留数据远大于删除数据,分批次进行delete操作2、保留数据远小于删除数据,使用renamectas的方式,将保留数据捞出来即可。具体根据实
安装oracle执行sqlplus报错:error while loading shared libraries
回答 2
lddlibraries.so应该是没有。找到那个建立个连接,或者其他地方找一个放过来。