oracle rac 11g 日志占满系统盘导致数据库down掉
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle rac 11g 日志占满系统盘导致数据库down掉相关的知识,希望对你有一定的参考价值。
oracle日志占满系统盘满了导致数据库挂掉 并且archivelog日志也满了倒是数据库无法open,无法登陆,幸好还可以到mount状态。解决办法:
1.根据报错查看 表象: crs 服务down掉
CRS-0184: Cannot communicate with the CRS daemon
删除/var/tmp/.oracle 目录
删除oracle alter日志:
cd /u01/app/oracle/rdbms/bol/BOL1/alter
rm -rf *
到此重启机器 可以启动oracle的所以服务,但是不能启动oracle的db服务
启动db服务的时候报错如下:
PRCR-1079 : 无法启动资源 ora.orcl.db ORA-03113: end-of-file on communication channel
解决办法:
su - oracle
sqlplus / as sysdba
startup mount##rac上面2台都要做
查看是否为归档模式:
archive log list
查看闪回分区大小:
show parameter db_recovery_file_dest_size
查看archlog log使用率:
select * from v$flash_recovery_area_usage; --查看空间占用率,如果 ARCHIVED LOG 超过90%,Oracle随时有宕机的危险
增大闪回分区大小:
alter system set db_recovery_file_dest_size=xxG;##rac 操作一台即可
启动数据库:
alter database open ##rac 上面2台机器都要做
到此之后,可以连接数据库了,但是现在需要做的是清楚数据库的归档日志,因为现在只是增大了db_recovery的空间而已,我们需要清理掉不需要的归档日志,获得空间。
清除归档日志脚本:
#!/bin/bash
source /home/oracle/.bash_profile
#LOGFILE=/data/rman/rman_delete.log
#RMAN=$ORACLE_HOME/bin/rman
$ORACLE_HOME/bin/rman log=/home/oracle/del_arch$(date +%Y-%m-%d).log <<EOF
connect target sys/[email protected]
crosscheck archivelog all;
delete noprompt expired archivelog all;
delete noprompt archivelog until time ‘sysdate-3‘;
exit;
EOF
直接在root目录下运行即可。到此问题解决完成,记录一下,日后可以使用。
以上是关于oracle rac 11g 日志占满系统盘导致数据库down掉的主要内容,如果未能解决你的问题,请参考以下文章
iscsi如何固定盘符,保证oracle 11g rac两节点盘符顺序一致?