oracle歸檔日(rì)志(zhì)占滿系統存儲空(kōnφ✔☆≈g)間(jiān),導緻數(shù)據庫啓動失敗;
存儲空(kōng)間(jiān)占滿導緻rman工(gōng)具無法使用✔ε(yòng),無法删除過期歸檔日(rì)↕₩ε志(zhì)。
告警信息:
1、 存儲空(kōng)間(jiān)滿,/opt占用(yò←Ω↑ng)率達到(dào)100%;
2、無法進入數(shù)據庫操作(zuò);
3、無法使用(yòng)rman工(gōng)具清除過期歸檔日(rì)>₩Ω志(zhì)。
1、通(tōng)過命令檢查存儲空(kōng)間(jiān)被哪個×'£α(gè)目錄占用(yòng)了(le),最深查詢到'<(dào)第八層目錄:du -h --m↕πax-depth=8。查詢到(dào)/opt/oracl§←e/archivelog有(yǒu)142G這(zhè)麽大(dà)≤♦§♥,打開(kāi)看(kàn)有(yǒu)3000∏↑×+的(de)dbf文(wén)件(jiàn),通(tōng ♥∞)過文(wén)件(jiàn)目錄結構分(fēn)析$☆,此為(wèi)數(shù)據庫歸檔文(wén)件(jiàn)≈∑φ。
2、删除數(shù)據庫歸檔文(wén)件(ji₹¥àn)。
首先切換oracle用(yòng)戶
su – oracle
cd /opt/oracle/archivelog
執行(xíng)下(xià)面命令删除7天α÷Ω₹以前的(de)歸檔日(rì)志(zhì):
find . -xdev -mtime +7 -name "*.π∞®©dbf" -exec rm -f {} \;
3、執行(xíng)rman邏輯上(shàng)删除過期日(rì)志(ε♣λzhì)
rman
RMAN> connect target /
>crosscheck archivelog all;✘β
>delete expired archivelo©£g all;
>quit
4、關閉數(shù)據庫歸檔日(rì)志(zhΩì):
登錄數(shù)據庫:!sql
SQL> shutdown immediate
啓動了(le)實例,并加載了(le)數(shù)據庫 SQβ↕<βL> startup mount
歸檔->非歸檔 SQL> alter dat≠∏abase noarchivelog;
檢查是(shì)否成功 SQL> arcα< hive log list
5、啓動數(shù)據庫,完成。
SQL>alter database open;
此後,不(bù)再生(shēng)成歸檔日(rì)志(zhì)。₩→×
打開(kāi)歸檔日(rì)志(zhì)時(shí₽∞>★),DBA定時(shí)清理(lǐ)歸檔文(wén)件(jiàn♥£₹),避免再次占滿;
如(rú)不(bù)使用(yòng),關閉歸檔日(rì)志↓♥•(zhì)。