ORA-10873解決辦法

今天,發現SAP系統的oracle數據庫宕掉了。報錯ORA-10873,經過查證解決該問題。記錄一下,備忘。

一、問題

Oracle版本爲12.1.0.2.0,在啓動服務器後啓動數據庫startup,報錯ORA-10873。

二、查證

到SAP Support Portal上搜索 ORA 10873,收到一個note2501445 - error ORA-10873, ORA-01110 during starting up oracle

上面的描述與該問題症狀一致,建議轉到note4162 - Missing "end backup"中的Problem 2.

原因是

Reason and Prerequisites

  1. Forgotten or missing "end backup" after manual ONLINE DB backup or after a backup tool (for example, BRBACKUP) has crashed  or
  1. DB crash or "shutdown abort" during an ONLINE backup after "alter tablespace <tspname> begin backup"

造成這一問題有2種可能:

  1. 手動在線備份數據庫時忘記或缺失了"end backup";
  2. 在數據庫在線備份的時候,數據庫崩潰或被強行關閉了;

顯然我們沒有手動操作,應該是在備份腳本運行的時候數據庫崩潰了。那麼按照解決方案搞一下。

三、解決問題 

關閉數據庫,忽略報錯。打開數據庫到mount狀態,並檢查一下。

shutdown immediate;
startup mount;
select instance_name, status from v$instance;
select name, open_mode from v$database;

檢查一下是哪幾個數據文件還在backup mode狀態。雖然報錯是數據文件1,但是很可能有幾個數據文件在這個狀態而報錯只報第一個數據文件。果然,v$backup視圖裏面有3個數據文件是ACTIVE的。那麼,我們也就沒有必要一個一個來處理了,直接改一下數據庫的狀態吧。

select * from v$backup;

解決問題的關鍵步驟就是這行命令,把數據庫從backup的mode裏解救出來。

alter database end backup;

再檢查一下沒有數據文件在備份的狀態了,打開數據庫,問題解決 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章