ORA-01033: ORACLE 正在初始化或關閉 進程 ID: 0 會話 ID: 0 序列號: 0


用了很長時間的數據庫,一直都挺好,今天早上一來報這個錯,開始追究原因。

     1.用SYS用戶登錄;

     2.將數據庫修改為打開狀態,alter database open,出現如下的錯誤提示:

 

    ORA-16038:日志3 sequence# 2289無法歸檔

    ORA-19809:超出了恢復文件數的限制

    ORA_00312:聯機日志 3 線程 1: 'e:\......\redo03.log'

     3.查看日志是否沒有空間,【select * from v$recovery_file_dest;】    

    NAME

    ---------------------------------------------------------------- 

    SPACE_LIMIT SPACE_USED SPACE_RECLAIMABLE NUMBER_OF_FILES

    ----------- ---------- ----------------- ---------------

    \ORA_BAK

     2147483648  2547483848                 0               73

    從這里可以看到,db_recovery_file_dest的容量已經為零,被占用完了。

  4.那現在就來解決【超出了恢復文件數的限制】這個問題;

  5.登錄SQLPLUS,【sqlplus conn sys/sys@orcl as sysdba】

  6.接下來就可以參考如下操作了,來源:http://www.51testing.com/html/64/n-849764.html

SQL> grant create table to scott;

  grant create table to scott

  *

  第 1 行出現錯誤:

  ORA-01109: 數據庫未打開

  SQL> startup

  ORA-01081: 無法啟動已在運行的 ORACLE - 請首先關閉它

  SQL> shutdown immediate

  ORA-01109: 數據庫未打開

  已經卸載數據庫。

  ORACLE 例程已經關閉。

  SQL> startup

  ORACLE 例程已經啟動。

 

Total System Global Area  373293056 bytes
Fixed Size                  1249056 bytes
Variable Size              88080608 bytes
Database Buffers          276824064 bytes
Redo Buffers                7139328 bytes

 

  數據庫裝載完畢。

  ORA-16038: 日志 3 序列號 36 無法歸檔

  ORA-19809: 超出了恢復文件數的限制

  ORA-00312: 聯機日志 3 線程 1: 'E:\DEV\DATABASE\ORACLE\ORADATA\ORCL\REDO03.LOG' //判斷問題為閃回區設置得太小,日志無法歸檔

  SQL> select reason,object_type,suggested_action from dba_outstanding_alerts; //因為無法打開數據庫所以無法查詢閃回區域使用情況

  select reason,object_type,suggested_action from dba_outstanding_alerts

  *

  第 1 行出現錯誤:

  ORA-01219: 數據庫未打開: 僅允許在固定表/視圖中查詢

  SQL> select status from V$instance; //查到當前數據庫處於mounted狀態 無法open

 

STATUS
------------------------
MOUNTED
SQL> alter system set log_archive_dest = 'E:\Dev\Database\Oracle\oradata\flashba
ck';
alter system set log_archive_dest = 'E:\Dev\Database\Oracle\oradata\flashback'
*

 

  第 1 行出現錯誤:

  ORA-02097: 無法修改參數, 因為指定的值無效

  ORA-16018: 無法將 LOG_ARCHIVE_DEST 與 LOG_ARCHIVE_DEST_n 或

  DB_RECOVERY_FILE_DEST 一起使用

  SQL> alter database clear unarchived logfile 'E:\DEV\DATABASE\ORACLE\ORADATA\ORC //清空損壞(無法歸檔)的日志文件

  L\REDO03.LOG';

  數據庫已更改。

  SQL> alter database open; //成功啟動數據庫

  數據庫已更改。

  SQL> ALTER SYSTEM SET db_recovery_file_dest_size=1g scope=both; //成功修改閃回區(歸檔日志的地方)的大小 解決問題

  系統已更改。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM