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                   var
bin                   oradata
# cd oradata
# ls
flash_recovery_area misdata
lost+found          orabak
# cd flash_recovery_area
# ls
MISDATA
# cd  MISDATA
# ls
archivelog autobackup onlinelog
# cd  archivelog
# ls
2011_01_01 2011_01_04 2011_01_07 2011_01_10 2011_01_13 201
2011_01_02 2011_01_05 2011_01_08 2011_01_11 2011_01_14 201
2011_01_03 2011_01_06 2011_01_09 2011_01_12 2011_01_15 202
#
5.查看FLASH_RECOVERY_AREA空間使用情況
# cd oradata
# ls

6.查看flash recovery area已經佔用的空間
 
SQL>select * from v$flash_recovery_area_usage;
 
7.轉移或清除對應的歸檔日誌,刪除一些不用的日期目錄的文件,注意保留最後幾個文件
注意:在刪除歸檔日誌後必須用RMAN維護控制文件,否則空間顯示仍然不釋放。
在rman裏刪除過期日誌
$rman target /
Recovery Manager: Release11.2.0.1.0 - Production on Wed Feb 24 08:13:00 2010
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
connected to target database: ****
RMAN>crosscheck archivelog all;                     檢查一些無用的archivelog
RMAN>delete expired archivelog all;                 刪除過期archivelog
8.登錄oracle增大閃回區大小
SQL>alter system set db_recovery_file_dest_size=8G scope=both;
 
SQL>select * from V$FLASH_RECOVERY_AREA_USAGE;
轉自:http://zhidao.baidu.com/link?url=BZVRc665opCnuFxXDWhXPug3cLdtNePO6dtWxH5u0sZBsPz7VzeYLJ4ETFsPBYlD2Kk8_ujmOrx4J6OpnioDkK
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章