ORA-00257: 归档程序错误。在释放之前仅限于内部连接
今天發現oracle數據庫連不上,報錯:ORA-00257: 歸檔程序錯誤。在釋放之前僅限于內部連接
馬上聯想到可能是空間滿了,一看磁盤目錄,果然。
解決方法如下:
1:查看歸檔日志目錄。
登陸賬號后執行命令: show parameter log_archive_dest;
結果如:
NAME TYPE VALUE
---------------------------- ------
log_archive_dest string
log_archive_dest_1 string location=E:archive_log
【手工處理方法】
1)將E:archive_log下的相關ARCHIVELOG日志文件移到別的文件系統下(保留最近一段時間的ARCHIVELOG日志即可,其他的可移走,可用系統命令mv移走)。然后打包、壓縮,備份到介質上,此時可將這些移出的文件刪除。注意:別在原來的目錄打包了,否則空間占滿了就有些麻煩了。
2)以oracle用戶登錄,執行rmantarget/。如有多個實例此時執行rmantarget用戶名/密碼@實例名,如:rman target user1/passwd1@orcl 進入rman 如下圖:
3)在rman中執行
RMAN>listarchivelogall;/*列出所有的歸檔日志文件
RMAN>crosscheckarchivelogall;/*與物理歸檔日志文件保持同步,之前移走了一部分文件,因此執行此命令后會在E:archive_log目錄下找不到的歸檔日志標記為expired
RMAN>listexpiredarchivelogall;/*列出所有expired(過期)的歸檔日志文件,此時你就可看到移走的歸檔日志文件均被標記為expired
RMAN>deleteexpiredarchivelogall;/*在oracle中刪除所有過期的expired文件
RMAN>listarchivelogall;/*再列出所有的歸檔日志文件,就可發現移走的日志文件被刪掉了
RMAN>exit/*退出
【自動配置方法】
1、配置RMAN自動管理ARCHIVELOG。也可在RMAN中將數據備份到磁帶上,然后將過期的ARCHIVELOG刪除;
具體操作待詳查
附錄:
sqlplussys/DHHZDHHZ@ORCLASsysdba1、開啟歸檔
a.關閉數據庫shutdownimmediateb.startupmount
c.alterdatabasearchivelog;d.alterdatabaseopne;2、禁止歸檔
a.關閉數據庫shutdownimmediateb.startupmount
c.alterdatabasenoarchivelog ; d.alterdatabaseopen;
3、歸檔信息可以通過如下語句查看SQL>archiveloglist
DatabaselogmodeArchiveModeAutomaticarchivalEnabled
ArchivedestinationE:oracleora92databasearchiveOldestonlinelogsequence131Nextlogsequencetoarchive133Currentlogsequence133
總結
以上是生活随笔為你收集整理的ORA-00257: 归档程序错误。在释放之前仅限于内部连接的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么东西能让蚊子远离自己?
- 下一篇: 马怎么读 马的正确发音方法?