由于archive挂起导致数据库挂死

  故障现象:       

数据库挂起,sqlplus无法登录,alert_zxin.log中有如下信息报出:
Sat Jul 13 21:48:01 2002
ARC0: Beginning to archive log# 1 seq# 61
  Current log# 2 seq# 62 mem# 0: /zxindata/oracle/redolog/redo0log
ARC0: Error 19504 creating archivelog file '/zxindata/zxinbak/arch/1_61.dbf'
ARC0: Archiving not possible: error count exceeded
ARC0: Failed to archive log# 1 seq# 61
ARCH: Archival stopped, error occurred. Will continue retrying
Sat Jul 13 21:48:01 2002
ORACLE Instance zxin - Archival Error
ARCH: Connecting to console port...
Sat Jul 13 21:48:01 2002
ORA-16014: log 1 sequence# 61 not archived, no available destinations
ORA-00312: online log 1 thread 1: '/zxindata/oracle/redolog/redo01.log'
ARCH: Connecting to console port...
ARCH:
ORA-16014: log 1 sequence# 61 not archived, no available destinations
ORA-00312: online log 1 thread 1: '/zxindata/oracle/redolog/redo01.log'
Sat Jul 13 21:50:37 2002
ARC0: Beginning to archive log# 1 seq# 61
ARC0: Archiving not possible: No primary destinations
ARC0: Failed to archive log# 1 seq# 61

故障原因:       
一般是archive所在的文件系统满或无操作权限引起的。

故障解决:
        检查/zxindata/zxinbak文件系统,是否已经达到或接近100%,另外确定其对oracle 用户有可写权限。
        如果文件系统已经满,请执行
手工删除/zxindata/zxinbak/arch下的arch文件
使用sqlplus /nolog登录,执行:
SQL> alter system archive log start;
进一步检查/zxindata/zxinbak文件系统为什么满:
查zxin10用户下的checkpsfs.sh oracle任务有没有执行:crontab –l |grep checkpsfs,看是否有...checkpsfs.sh oracle...的返回,如没有,表示定期检查空间是否满的任务没有执行,需要启动该任务
查zxin10用户对/zxindata/zxinbak/arch目录下文件有没有删除权限:ls –l /zxindata/zxinbak/arch 对dba组需要有可读可写权限
查数据库备份任务有没有正常执行:crontab –l如果不存在rman或exp方式的数据库备份,则表示没有执行数据库备份任务,需要加上
是否是/zxindata/zxinbak文件系统太小,不符合备份和呼叫模型下的最小大小配置。
如果文件系统大小不能满足每天产生的arch日志和两个全备份的总空间,则需要扩展/zxindata/zxinbak文件系统,aix下可以直接扩,hpux下则需要将该文件系统umount以后再扩

你可能感兴趣的:(由于archive挂起导致数据库挂死)