nginxoracle alert日志位置里出现 [alert] 5791#0: *15320669 open socket #45 left in connection 18

告警oracle alert日志位置文件是一类特殊的哏踪文件(trace file)

数据库告警oracle alert日志位置是按时间顺序记录message和错误信息。


1:所有的内部错误(ORA-600)信息块损坏错误(ORA-1578)信息,以及死锁错误(ORA-60)信息等

2:管理操作,例如CREATE、ALTER、DROP语句等以及数据库启动、关闭以及oracle alert日志位置归档的一些信息。

 2.1 涉及物理结构的所有操作:例如创建、刪除、重命名数据文件与联机重做oracle alert日志位置文件的ALTER DATABASE命令.
 此外还涉及重新分配数据文件大小以及将数据文件联机与脱机的操作 
 2.2 表空间操作,例如DROP与CREATE命令此外还包括为了进行用户管理的备份而将表空间置入和取出热备份模式的操作 

3:与共享服务器或调度进程相关功能的消息囷错误信息。

4:物化视图的自动刷新过程中出现的错误

5:动态参数的修改信息。



告警oracle alert日志位置以及所有后台跟踪文件都会被写至BACKGROUND_DUMP_DEST参数所指定的目录


我们目前项目中使用的数据库版本为11.2.0.4.0

Diag Trace对应的目录为文本格式的告警oracle alert日志位置文件所在的目录,



既然告警oracle alert日志位置如此重要而我們也不可能随时手工去查看告警oracle alert日志位置文件,那么我们就必须监控告警oracle alert日志位置那么监控告警oracle alert日志位置有哪些方案呢?下面归纳一下

Tom大师给出的一个方案 将告警oracle alert日志位置文件信息读入全局临时表,然后我们就可以定制一些SQL语句查询告警oracle alert日志位置的信息

弊端:但是这又一个问题,如果数据库宕机了的情况下是无法获取这些错误信息,比方案3(从操作系统监控告警oracle alert日志位置)对比有些特定场景不适用。另外有一定不足之处就是oracle alert日志位置文件比较大的时候,监控告警oracle alert日志位置信息比较频繁的时候会产生不必要的IO操作。

方案2:通过外部表来查看告警oracle alert日志位置文件的内容

通过外部表来查看告警oracle alert日志位置文件嘚内容相当的方便。然后也是使用定制SQL语句来查询错误信息



告警oracle alert日志位置如果不及时归档,时间长了告警oracle alert日志位置文件会变得非常大,查看、读取告警oracle alert日志位置会引起额外的IO开销所以一般应该按天归档告警oracle alert日志位置文件,保留一段时间(例如 90天)超过规定时間的删除。

background_dump_dest目录下的跟踪文件除了告警oracle alert日志位置外都能删除.当进程向告警oracle alert日志位置写入记录时就会生成新的告警oracle alert日志位置文件 (未验证生產环境慎重操作。)

我要回帖

更多关于 oracle alert日志位置 的文章

 

随机推荐