oracle 日志数据存储空间将满时,请问是否有告警功能,如何判断?

解决方案 »

  1.   

    在后台的 alert.log中会有警告,同时,数据系统当机,这个警告够大吧
      

  2.   

    如果是10g的数据库,可以用em里的arw里的警告功能。如果是10g一下,可以自己写corntab用shell命令监控存储空间,发邮件通知,
      

  3.   

    楼主 你说的应该是归档日志所在的磁盘空间快满时,你想获得一个警告,是吧。如果不是我说的那样的话,那么,在ORACLE中,日志文件是你在创建数据库时,或者在数据库的运行中,添加了新的日志文件,这两种情况都是已经分配好空间的,不存在日志文件空间满的情况。再者,在ORACLE中,日志是循环使用的,当一个日志组中的日志文件空间用完以后,会根据数据库的运行模式(归档或非归档)来决定是否将日志进行归档操作。然后,会将原来的日志内容覆盖,而数据库继续运行。所以,在ORACLE中,必须至少要两个日志组。如果你说的是归档日志的磁盘空间的问题的话,那么你可以采用的方法试一下:
    1)如果你的归档日志是存放在闪回区的话,你可以查询V$FLASH_RECOVERY_AREA_USAGE这个视图,确定已使用了多少空间。
    2)如果你的归档日志是存放在其它目录中,你也可以自己编写一个shell脚本,结合crontab,定时检测一下该目录是否还有空间可用。针对以上的两种情况,你可以将归档日志进行备份,然后将其删除。就可以了。
    rman>backup  archivelog all format='/home/usrnam/%d_%s_%t.arc' delete all input;