標籤:ora ash over ati 題解 alter 歸檔 rdbms source
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掉