程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> Oracle錯誤日志:ORA-00257,oracleora-00257

Oracle錯誤日志:ORA-00257,oracleora-00257

編輯:Oracle教程

Oracle錯誤日志:ORA-00257,oracleora-00257


今天下午剛啟動程序,就報以下錯誤:

Caused by: java.sql.SQLException: ORA-00257: 歸檔程序錯誤。在釋放之前僅限於內部連接。

經查,是oracle數據庫日志滿了,標記以下!


ora-00257:歸檔程序錯誤,在釋放之前僅限於內部鏈接怎解決?

一、簡要介紹
首先數據庫日志文件有兩種:

聯機日志文件和歸檔日志文件,聯機日志文件會將之前的覆蓋,不會做備份。

而歸檔日志文件會做備份,這樣就造成了歸檔日志空間已滿,解決方法:

如果真的是歸檔日志空間已滿的話,把舊的歸檔日志導到其他磁盤,騰出磁盤空間。也可以添加新的歸檔目的盤。

解決方法1:
先手工刪除D:\oracle\product\10.2.0\flash_recovery_area裡面的日志,然後用戶用rman進入把歸檔日志刪除
1)#rman target/
2)rman>crosscheck archivelog all;
3)rman>delete expired archivelog all;
4)rman>exit

解決方法2:改變了FLASH_RECOVERY_AREA的大小
sql>alter system set db_recovery_file_dest_size=8G scope=both;
sql>show parameter db_recovery_file_dest_size

二、詳細過程介紹
1.連接
$sqlplus /as sysdba

SQL*Plus: Release10.2.0.1.0 - Production on Mon Jan 17 10:00:24 2011

Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database10gRelease10.2.0.1.0 - 64bit Production
2.查看正在歸檔的狀態
SQL>select * from v$log;

發現ARC狀態為NO,表示系統沒法自動做歸檔。

3.查看歸檔日志所在位置
SQL>show parameter recover;

SQL> exit
$ exit
4.進入日志存入目錄
# cd
# ls
.TTauthority cdrom proc
.Xauthority configassist.log sbin
.dt dev smit.log
.dtprofile etc smit.script
.java home smit.transaction
.mh_profile lib sqlnet.log
.sh_history lost+found tftpboot
.vi_history lpp tmp
.wmrc mnt u
Mail nmo42_aix5L_64.tar.gz unix
TT_DB nsr usr
audit opt ......余下全文>>
 

oracle 10g 報ORA-00257

10g並不多啊,很快就會用光的,建議可以再設置多一些。
另外檢查你的備份和歸檔日志,無用的信息可以刪除掉,避免占用這麼多空間。
在RMAN中可以運行命令檢查有無多余的備份:
report obsolete
然後刪除之:
delete obsolete
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved