ORACLE資料庫閃回步驟詳解

stonebox1122發表於2015-02-08

1、環境設定

1.1 檢視資料庫是否處於歸檔模式

SQL> archive log list

資料庫日誌模式            存檔模式

自動存檔             啟用

存檔終點            E:\arch

最早的聯機日誌序列     1

下一個存檔日誌序列   1

當前日誌序列           1

 

1.2 設定資料庫的Flash Recovery Area

建立Flash Recovery Area目錄:

SQL> host md H:\ORADATA\CME\

修改Flash Recovery Area的目錄及大小:

SQL> alter system set db_recovery_file_dest='H:\ORADATA\CME';

 

系統已更改。

 

SQL> alter system set db_recovery_file_dest_size=150g;

 

系統已更改。

 

SQL> show parameter db_recovery

 

NAME                                 TYPE        VALUE

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

db_recovery_file_dest                string      H:\ORADATA\CME

db_recovery_file_dest_size           big integer 150G

 

1.3 啟動Flashback Database

SQL> select flashback_on from v$database;

 

FLASHBACK_ON

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

NO

 

SQL> alter database flashback on;

 

資料庫已更改。

 

SQL> select flashback_on from v$database;

 

FLASHBACK_ON

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

YES

 

1.4 修改最長閃回時間

SQL> show parameter db_flashback

 

NAME                                 TYPE        VALUE

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

db_flashback_retention_target        integer     1440

SQL> alter system set db_flashback_retention_target=14400;

 

系統已更改。

 

SQL> show parameter db_flashback

 

NAME                                 TYPE        VALUE

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

db_flashback_retention_target        integer     14400

 

1.5 啟用Force Logging

SQL> select force_logging from v$database;

 

FOR

---

NO

 

SQL> alter database force logging;

 

資料庫已更改。

 

SQL> select force_logging from v$database;

 

FOR

---

YES

 

 

2、閃回操作

2.1 查詢當前的SCN(也可以記錄下操作前時間)

SQL> select dbms_flashback.get_system_change_number from dual;

 

GET_SYSTEM_CHANGE_NUMBER

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

               461951241

 

2.2 業務操作後關閉資料庫啟動到mount

SQL> shutdown immediate

資料庫已經關閉。

已經解除安裝資料庫。

ORACLE 例程已經關閉。

SQL> startup mount;

ORACLE 例程已經啟動。

 

Total System Global Area 1085640704 bytes

Fixed Size                  2174928 bytes

Variable Size             822083632 bytes

Database Buffers          251658240 bytes

Redo Buffers                9723904 bytes

資料庫裝載完畢。

 

2.3 閃回資料庫

SQL> flashback database to scn 461951241;

SQL> flashback database to timestamp to_timestamp ('2015-01-08 08:04:30','yyyy-mm-dd hh24:mi:ss');#閃回到指定時間點

閃回完成。

 

2.4 開啟資料庫

SQL> alter database open resetlogs;

 

資料庫已更改。

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

相關文章