ORA-38706&ORA-38707報錯解決辦法

Hoegh發表於2016-08-18
今天在測試時遇到一個ORA-38706&ORA-38707報錯,乍一看到報錯內容竟然沒有回過神兒來。

ORA-38706&ORA-38707報錯

點選(此處)摺疊或開啟

  1. SYS@HOEGH>select banner from v$version;

  2. BANNER
  3. --------------------------------------------------------------------------------
  4. Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
  5. PL/SQL Release 12.1.0.2.0 - Production
  6. CORE    12.1.0.2.0    Production
  7. TNS for Linux: Version 12.1.0.2.0 - Production
  8. NLSRTL Version 12.1.0.2.0 - Production

  9. SYS@HOEGH>
  10. SYS@HOEGH>alter database flashback on;
  11. alter database flashback on
  12. *
  13. ERROR at line 1:
  14. ORA-38706: Cannot turn on FLASHBACK DATABASE logging.
  15. ORA-38707: Media recovery is not enabled.


  16. SYS@HOEGH>

解決辦法

其實很簡單,在開啟FLASHBACK DATABASE之前必須保證資料庫為歸檔模式,
也就是ORA-38707報錯裡提到的“Media recovery is not enabled”導致了無法開啟閃回資料庫功能。
點選(此處)摺疊或開啟
  1. SYS@HOEGH>
  2. SYS@HOEGH>shu immediate
  3. Database closed.
  4. Database dismounted.
  5. ORACLE instance shut down.
  6. SYS@HOEGH>startup mount
  7. ORACLE instance started.

  8. Total System Global Area 524288000 bytes
  9. Fixed Size         2926320 bytes
  10. Variable Size         440404240 bytes
  11. Database Buffers     75497472 bytes
  12. Redo Buffers         5459968 bytes
  13. Database mounted.
  14. SYS@HOEGH>alter database archivelog;

  15. Database altered.

  16. SYS@HOEGH>archive log list;
  17. Database log mode     Archive Mode
  18. Automatic archival     Enabled
  19. Archive destination     USE_DB_RECOVERY_FILE_DEST
  20. Oldest online log sequence 14
  21. Next log sequence to archive 16
  22. Current log sequence     16
  23. SYS@HOEGH>
  24. SYS@HOEGH>alter database flashback on;

  25. Database altered.

  26. SYS@HOEGH>alter database open;

  27. Database altered.

FLASHBACK DATABASE原理和實施

在Oracle10g以前的版本中,要實現資料庫恢復到過去某個時間點或者SCN號,只能夠透過資料庫的不完全恢復實現。從Oracle 10g開始,可以使用FLASHBACK DATABASE實現。
閃回資料庫比使用還原檔案和重做日誌檔案的傳統時間點恢復的速度要更快。隨著資料庫規模的增加,透過還原所有資料檔案來執行傳統的時間點恢復所需的時間長度變得不太現實。使用閃回資料庫時,因為不需要還原資料檔案,所以恢復資料庫的時間與需要回退的更改數目(而不是資料庫大小)成比例。

閃回資料庫是透過使用一類被稱為閃回資料庫日誌的日誌檔案來實施的。Oracle 資料庫會定期將資料塊的“前像”記錄在閃回資料庫日誌中。為了快速將資料檔案更改回退到捕獲閃回日誌的時間(就在所需目標時間之前),可以重用塊影像。然後,應用重做日誌檔案中的更改來填充間隔。在快速恢復區中會自動建立和管理閃回資料庫日誌。

使用FLASHBACK DATABASE要比執行資料庫系統的不完全恢復要快的多,但是需要對資料庫做以下的配置:

1、資料庫必須執行在歸檔模式下。

2、必須啟用資料庫的閃回功能。



~~~~~~~ the end~~~~~~~~~
hoegh
2016.08.18


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30162081/viewspace-2123667/,如需轉載,請註明出處,否則將追究法律責任。

相關文章