ORACLE数据库闪回步骤详解

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/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/28536251/viewspace-1430185/

你可能感兴趣的:(ORACLE数据库闪回步骤详解)