oracle 閃回
閃回概述:
閃回資料庫就是當出現邏輯錯誤時,能夠將整個資料庫回退到出錯前的那個時間點上。實現閃回資料庫的基礎就是閃回日誌。只要我們配置了閃回資料庫,就會自動建立閃回日誌。這時只要資料庫裡的資料發生了變化,Oracle就會將資料被修改前的舊值儲存在閃回日誌裡。當我們需要閃回資料庫時,ORACLE就會讀取閃回日誌裡的記錄,並應用到資料庫上,從而將資料庫回退到歷史上的某個時間點的狀態上。
閃回日誌與聯機重做日誌一樣,都是迴圈使用的,但它們還是有不少的差異,當事務修改了buffer_cache裡的資料時,會將改變前的值和改變後的值都以重做記錄的形式儲存在log_buffer中,然後透過LGWR程式將這些重做記錄寫入到聯機日誌檔案中。但是在記錄閃回日誌時,只會將改變前的值儲存在flash buffer中,再由RVWR程式寫入到閃回日誌檔案中。
閃回分為如下幾種:
a)閃回資料庫
b)閃回刪除
c)閃回表
d)閃回版本查詢(flashback version query)
e)閃回事物查詢(flashback transaction query)
f)閃回查詢(flashback query)
注:上述六種閃回,只有閃回資料庫和Flash Recovery Area有關係,閃回資料庫的閃回日誌(Flashback log)只能放在閃回恢復區中。而其它的閃回功能,都和閃回恢復區沒有任何聯絡。也就是說,使用閃回資料庫功能時必須使用閃回恢復區,而10G的其它閃回功能中,閃回恢復區不是必須的。
閃回資料庫:
啟用閃回資料庫,必須按如下四個步聚進行;
1.將資料庫開啟為歸檔模式
2.配置閃回恢復區
3.配置閃回保留時間
4.啟用閃回資料庫
5.關閉閃回資料庫
注:一旦關閉閃回資料庫,則閃回恢復區的閃回日誌都被自動刪除
在配置完閃回資料庫以後,如果確實需要進行閃回資料庫操作的話,可以透過RMAN進行,也可以透過SQL*PLUS進行。
閃回資料庫就是當出現邏輯錯誤時,能夠將整個資料庫回退到出錯前的那個時間點上。實現閃回資料庫的基礎就是閃回日誌。只要我們配置了閃回資料庫,就會自動建立閃回日誌。這時只要資料庫裡的資料發生了變化,Oracle就會將資料被修改前的舊值儲存在閃回日誌裡。當我們需要閃回資料庫時,ORACLE就會讀取閃回日誌裡的記錄,並應用到資料庫上,從而將資料庫回退到歷史上的某個時間點的狀態上。
閃回日誌與聯機重做日誌一樣,都是迴圈使用的,但它們還是有不少的差異,當事務修改了buffer_cache裡的資料時,會將改變前的值和改變後的值都以重做記錄的形式儲存在log_buffer中,然後透過LGWR程式將這些重做記錄寫入到聯機日誌檔案中。但是在記錄閃回日誌時,只會將改變前的值儲存在flash buffer中,再由RVWR程式寫入到閃回日誌檔案中。
閃回分為如下幾種:
a)閃回資料庫
b)閃回刪除
c)閃回表
d)閃回版本查詢(flashback version query)
e)閃回事物查詢(flashback transaction query)
f)閃回查詢(flashback query)
注:上述六種閃回,只有閃回資料庫和Flash Recovery Area有關係,閃回資料庫的閃回日誌(Flashback log)只能放在閃回恢復區中。而其它的閃回功能,都和閃回恢復區沒有任何聯絡。也就是說,使用閃回資料庫功能時必須使用閃回恢復區,而10G的其它閃回功能中,閃回恢復區不是必須的。
閃回資料庫:
啟用閃回資料庫,必須按如下四個步聚進行;
1.將資料庫開啟為歸檔模式
- sql> archive log list; #檢視是不是歸檔方式
- sql> alter system set log_archive_start=true scope=spfile; #啟用主動歸檔
- sql> alter system set log_archive_dest=''location=/oracle/ora9/oradata/arch'' scope=spfile;#設定歸檔路徑
- #如果歸檔到兩個位置,則可以透過上邊方法實現
- sql> alter system set log_archive_format=''arch_%d_%t_%r_%s.log'' #設定歸檔日記款式
- sql> shutdown immediate;
- sql> startup mount; #開啟控制檔案,不開啟資料檔案
- sql> alter database archivelog; #將資料庫切換為歸檔模式
- sql> alter database open; #將資料檔案開啟
- sql> archive log list; #檢視此時是否處於歸檔模式
- 查詢以確定資料庫位於archivelog模式中且歸檔過程正在執行
- sql> select log_mode from v$database;
- sql> select archiver from v$instance;
2.配置閃回恢復區
- sql> alter system set db_recovery_file_dest='/arch01/flash_recovery_area' scope=both;
- sql> alter system set db_recovery_file_dest_size='10g' scope=both sid='oyy3a';
3.配置閃回保留時間
- sql> alter system set db_flashback_retention_target=2880 scope=spfile; ----該引數以分鐘為單位,預設為1440分鐘,也就是24小時。
4.啟用閃回資料庫
- sql> startup mount;
- sql>alter databaase flashback on;
5.關閉閃回資料庫
注:一旦關閉閃回資料庫,則閃回恢復區的閃回日誌都被自動刪除
- sql> startup mount;
- sql>alter databaase flashback off;
在配置完閃回資料庫以後,如果確實需要進行閃回資料庫操作的話,可以透過RMAN進行,也可以透過SQL*PLUS進行。
- sql> shutdown immediate;
- sql> startup mount exclusive;
- sql> flashback database to timestamp to_date('2005-10-01 15:32:00','yyyy-mm-dd hh24:mi:ss');
- sql> alter database open read only; ----先以只讀模式開啟,來確認閃回的資料是否正常,如查資料正確,則需要關閉資料庫,並以resetlogs方式開啟。
- sql> alter database open resetlogs;
-
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29446986/viewspace-1248695/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle閃回Oracle
- oracle 閃回 flashbackOracle
- oracle閃回特性Oracle
- Oracle閃回技術 為Oracle閃回配置資料庫Oracle資料庫
- Oracle閃回技術之閃回資料庫Oracle資料庫
- Oracle 11G 閃回技術 使用Oracle閃回查詢Oracle
- oracle閃回查詢Oracle
- Oracle閃回刪除Oracle
- Oracle閃回詳解Oracle
- 清空 oracle 閃回區Oracle
- Oracle 之 閃回操作Oracle
- oracle 閃回查詢Oracle
- Oracle 閃回技術 概覽 資料庫閃回功能Oracle資料庫
- Oracle -- 閃回恢復區---實踐1---閃回庫Oracle
- Oracle資料庫閃回Oracle資料庫
- Oracle閃回資料庫Oracle資料庫
- Oracle閃回恢復區Oracle
- oracle的閃回查詢Oracle
- oracle的回閃查詢Oracle
- Oracle 閃回特性(FLASHBACK DATABASE)OracleDatabase
- oracle 9i 閃回Oracle
- Oracle 11G 閃回技術 使用閃回版本查詢Oracle
- Oracle 閃回區(Oracle Flash recovery area)Oracle
- Oracle12.1閃回功能Oracle
- Oracle閃回資料歸檔Oracle
- Oracle閃回誤刪的表Oracle
- oracle 閃回技術簡介Oracle
- Oracle 11g 閃回表Oracle
- 閃回表、閃回查詢
- Oracle 11G 閃回技術 閃回版本查詢和閃回事務查詢Oracle
- 【RECO_ORACLE】Oracle閃回PDB的方法Oracle
- 閃回(關於閃回查詢)
- 閃回刪除、閃回查詢
- 閃回技術二:閃回表
- 【閃回特性之閃回查詢】使用閃回查詢(select as of)
- Oracle 閃回資料庫測試Oracle資料庫
- 【PDB】pdb閃回,Oracle還原點Oracle
- 詳解oracle資料庫閃回Oracle資料庫