使用外部表管理Oracle 告警日志(ALAERT_$SID.LOG)

2014-11-24 18:43:31 · 作者: · 浏览: 0


一、告警日志的内容



消息和错误的类型(Types of messages and errors)


ORA-600内部错误(ORA-600 internal errors that need immediate support from Oracle's customer support )'


ORA-1578块损坏错误(ORA-1578 block corruption errors that require recovery)


ORA-12012(作业队列错误(ORA-12012 job queue errors)


实例启动关闭,恢复等信息(STARTUP & SHUTDOWN, and RECOVER statement execution messages)


特定的DDL命令(Certain CREATE, ALTER, & DROP statements )


影响表空间,数据文件及回滚段的命令(Statements that effect TABLESPACES, DATAFILES, and ROLLBACK SEGMENTS )


可持续的命令被挂起(When a resumable statement is suspended )


LGWR不能写入到日志文件(When log writer (LGWR) cannot write to a member of a group )


归档进程启动信息(When new Archiver Process (ARCn) is started )


调度进程的相关信息(Dispatcher information)


动态参数的修改信息(The occurrence of someone changing a dynamic parameter)



二、建立外部表


1.查看后台日志路径



2.创建用户并赋予特定的权限,并创建数据库目录



3.下面使用脚本来完成对告警日志的跟踪及管理


脚本描述


cre_ext_tb.sql


主要是创建了一个alert_log表用于存放告警日志的重要信息,一个外部表alert_log_disk使得查看告警日志可以直接在本地数据


库中完成。


update_alert_log.sql


用于从外部表将重要信息经过过滤并且将没有存放到alert_log表中的最新信息更新到alert_log表。



4.使用下面的脚本来创建alert_log表及alert_log_disk外部表



5.使用下面的脚本填充alert_log



基于上述方法,可以定期将告警日志更新到本地数据库,然后清空告警日志文件