400-090-9964


博客 | 论坛

教学文章

ORACLE数据库闪回步骤详解

时间:2020-04-10 来源:

  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;

  数据库已更改。

版权所有@北京神脑资讯技术有限公司(CUUG,中国UNIX用户协会) Copyright 2017 ALL Rights Reserved 京ICP备11008061号 京公网110108006275号

CUUG旗下网站:www.cuug.com.cn www.cuug.com oracle.cuug.com bbs.cuug.com bd.cuug.com

电话:010-59426307 010-59426319 邮政编码:100089

海淀校区:北京市海淀区紫竹院路88号紫竹花园4号楼D座703(CUUG)