oracle连接满报错日志,Oracle归档日志满了导致Oracle连接(ORA-00257)报错处理
最近一段時(shí)間,有收到一臺(tái)Oracle服務(wù)器的連接告警, 剛剛開始還以為是Oracle的監(jiān)聽被關(guān)閉導(dǎo)致,結(jié)果連上服務(wù)器看下Oracle的監(jiān)聽進(jìn)程正常,自己連接一次發(fā)現(xiàn)有報(bào)ORA-00257錯(cuò),又去監(jiān)控系統(tǒng)中在看下日志再用sqlplus連上Oracle后查了下,知道是Oracle的歸檔日志寫滿閃回區(qū)導(dǎo)致Oracle連接異常,查看歸檔日志方法如下:
SQL>?show?parameter?db_recovery_file_dest;
#查看歸檔日志的物理路徑及閃回區(qū)的大小
SQL>?select?file_type,?percent_space_used?as?used,percent_space_reclaimable?as?reclaimable,?number_of_files?as?"number"?from?v$flash_recovery_area_usage;
#查詢閃回區(qū)利用率
用rman工具連上Oracle進(jìn)去清理一些舊的歷史歸檔日志:
[oracle@localhost?~]$?rman?target?/
RMAN>?DELETE?ARCHIVELOG?ALL?COMPLETED?BEFORE?'SYSDATE-30';
…略…
Do?you?really?want?to?delete?the?above?objects?(enter?YES?or?NO)??YES
…略…
RMAN>?quit
在這里是刪除30天之前的歸檔日志,當(dāng)然可以根據(jù)實(shí)際情況修改,在連接一次
在Oracle下歸檔日志可以在其他在線日志都丟失的情況下用來數(shù)據(jù)恢復(fù),所以一般在生產(chǎn)環(huán)境上都有開啟,但是如果一些沒有用到的或者是歷史的歸檔日志在沒有清理的情況下寫滿閃回區(qū)都會(huì)導(dǎo)致連接異常,當(dāng)然在平時(shí)就需要注意清理Oracle的歸檔日志清理,就順便寫了一個(gè)腳本每天定時(shí)清理Oracle的歸檔日志:
#!/bin/bash
#remove_archivelog.sh
su?-?oracle?-c?"rman?target?/??<
DELETE?ARCHIVELOG?ALL?COMPLETED?BEFORE?'SYSDATE-30';
YES
exit
EOF"
當(dāng)然可以根據(jù)實(shí)際情況保留所需要的歸檔日志時(shí)間
總結(jié)
以上是生活随笔為你收集整理的oracle连接满报错日志,Oracle归档日志满了导致Oracle连接(ORA-00257)报错处理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: t oracle删除吗,Oracle 1
- 下一篇: oracle中OEM证书失效怎么办,安全