您好,登錄后才能下訂單哦!
一、報錯信息
前幾天網站突然訪問不了,并且報了如下錯誤:
ora-27101: shared memory realm does not exist
ora-01034: oracle not available 11g
ORA-24324: service handle not initialized
原因:由于數據庫歸檔日志滿了,不能繼續往數據庫里寫數據。
二、查看歸檔日志大小
su - oracle
sqlplus / as sysdba
show parameter recover
可查看到歸檔日志目錄為:/u01/app/oracle/fast_recovery_area/******/archivelog
可以查看該目錄的大小,對比數據庫設置的日志空間,該目錄大小不能大于數據庫設置的空間。
三、擴大歸檔日志大小
alter system set db_recovery_file_dest_size=100G;
四、清理歸檔日志
擴大后還需設置定時計劃清理歸檔日志,需要切換到oracle賬號執行命令
rman target /
RMAN> crosscheck archivelog all;
RMAN> delete expired archivelog all;
RMAN> delete archivelog until time 'sysdate-3'
上面三條命令的解釋:
1、第一條命令可以把無效的expired的archivelog標出來。
2、第二條命令直接全部刪除過期的歸檔日志。
3、第三條命令直接刪除三天前所有的歸檔日志。
參考:https://www.2cto.com/database/201308/235338.html
五、設置自動腳本
1、編寫腳本
su - oracle //切換到oracle用戶下執行操作
cd /u01/app
vim arcclear.sh
#!/usr/bin rman target / <<EOF delete force noprompt archivelog all completed before 'sysdate-3'; exit; EOF
chmod +x arcclear.sh
2、添加到計劃任務
crontab -e
30 1 * * * sh /u01/app/arcclear.sh >> /u01/app/arcclear.log
service crond restart
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。