flashback技术之---flashback database

flashback database可以实现基于时间点的不完全恢复,将数据库闪回到某个时间点,而不需要漫长的restore操作

1. flashback database的一些限制:
--只能用来undo changes to a datafile made by an oracle database,不能用来修复media failures或者是数据文件被删除的情况
--如果控制文件是restore的或重建过的,那么所有的flashback信息将丢失。
--对于nologging操作,flashback无法恢复,比如direct-path insert操作,恢复后相关的数据块状态是corruption的。

2.开启flashback database的需求
--数据库运行在归档模式
--配置flash recovery area
--对于rac,flash recovery area必须配置在 a clustered file system or in ASM.

3.启用flashback database

--确认数据库目前未开启flashback
SQL> select flashback_on from v$database;

FLASHBACK_ON
------------------
NO

--配置闪回区
SQL> alter system set db_recovery_file_dest_size=1g;

System altered.

SQL> alter system set db_recovery_file_dest='/home/db/oracle/recovery/';

System altered.

--启动数据库到mount状态

SQL> startup mount;
ORACLE instance started.

Total System Global Area  167772160 bytes
Fixed Size                  1218316 bytes
Variable Size              92276980 bytes
Database Buffers           71303168 bytes
Redo Buffers                2973696 bytes
Database mounted.

SQL> ALTER SYSTEM SET DB_FLASHBACK_RETENTION_TARGET=1440;

System altered.

SQL>  ALTER DATABASE ARCHIVELOG;

Database altered.

SQL> ALTER DATABASE FLASHBACK ON;

Database altered.

SQL> alter database open;

Database altered.

SQL> select flashback_on from v$database;

FLASHBACK_ON
------------------
YES

4.使用flashback database恢复被误删除的表

SQL> select count(*) from test; 

  COUNT(*)
----------
     44936

SQL>  select sysdate from dual;

SYSDATE
-------------------
2012-07-18 03:26:59


SQL> drop table test;

Table dropped.

RMAN> shutdown immediate

using target database control file instead of recovery catalog

database closed
database dismounted
Oracle instance shut down

[oracle@rhel bin]$ ./rman target /

Recovery Manager: Release 10.2.0.1.0 - Production on Wed Jul 18 03:34:16 2012

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

connected to target database: MBS (DBID=1440741932)
RMAN> STARTUP MOUNT;

connected to target database (not started)
Oracle instance started
database mounted

Total System Global Area     167772160 bytes

Fixed Size                     1218316 bytes
Variable Size                 92276980 bytes
Database Buffers              71303168 bytes
Redo Buffers                   2973696 bytes

RMAN> FLASHBACK DATABASE TO TIME    "TO_DATE('2012-07-18 03:26:59','yyyy-mm-dd hh24:mi:ss')";

Starting flashback at 18-JUL-12
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=157 devtype=DISK


starting media recovery
media recovery complete, elapsed time: 00:00:03

Finished flashback at 18-JUL-12

RMAN> SQL 'ALTER DATABASE OPEN READ ONLY';  --启动数据库到只读状态

sql statement: ALTER DATABASE OPEN READ ONLY

--登陆到数据库,查看test表是否存在及其记录数
[oracle@rhel bin]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Wed Jul 18 03:37:48 2012

Copyright (c) 1982, 2005, Oracle.  All rights reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

SQL> select count(*) from test;

  COUNT(*)
----------
     44936

--确认闪回没有问题后,数据库需要以OPEN RESETLOGS 的方式打开:

SQL> startup mount;
ORACLE instance started.

Total System Global Area  167772160 bytes
Fixed Size                  1218316 bytes
Variable Size              92276980 bytes
Database Buffers           71303168 bytes
Redo Buffers                2973696 bytes
Database mounted.
SQL> ALTER DATABASE OPEN RESETLOGS;

Database altered.

--如果需要将数据库恢复到最近的状态,同时恢复test表,则先导出test表
[oracle@rhel ~]$ exp \'/ as sysdba\' tables=test file=test.dmp statistics=none

Export: Release 10.2.0.1.0 - Production on Wed Jul 18 03:44:04 2012

Copyright (c) 1982, 2005, Oracle.  All rights reserved.


Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
Export done in US7ASCII character set and AL16UTF16 NCHAR character set
server uses ZHS16GBK character set (possible charset conversion)

About to export specified tables via Conventional Path ...
. . exporting table                           TEST      44936 rows exported
Export terminated successfully without warnings.

--导出表后,可以将数据库重新恢复到最近的状态, 然后将表test导入,这样就完成了表test的数据恢复。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10972173/viewspace-738202/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10972173/viewspace-738202/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值