闪回数据库

  • Flashbacking a database means going back to a previous database state.闪回数据库到之前数据库的状态
  • The Flashback Database feature provides a way to quickly revert entire Oracle database to the state it was in at a past point in time. 闪回数据库特性提供了一种快速恢复数据库到过去一个时间点的方法 后台进程RVWR把数据块的前映像写入到闪回日志中
  • A new background process RVWR introduced which is responsible for writing flashback logs which stores pre-image(s) of data blocks 后台进程RVWR把数据块的前映像写入到闪回日志中
  • One can use Flashback Database to back out changes that:
    • Have resulted in logical data corruptions.
    • Are a result of user error.
  • This feature is not applicable for recovering the database in case of media failure. 不适用于介质恢复

配置闪回数据库

Prerequisite

a) Database must be in archivelog mode.
b) Last clean shutdown.

Steps

  • 1. Configure the following parameters in parameter file(init.ora) or spfile
参数属性解释
DB_RECOVERY_FILE_DESTdynamically modifiablePhysical location where RVWR background process writes flashback logs
DB_RECOVERY_FILE_DEST_SIZEdynamically modifiableMaximum size flashback logs can occupy in
DB_RECOVERY_FILE_DESTDB_FLASHBACK_RETENTION_TARGETdynamically modifiableUpper limit in minutes on how far back one can flashback the database
  • Example:
    1. \**db_recovery_file_dest参数为0时,不能设定flash_recovery_area参数*\
    2. SQL> alter system set db_recovery_file_dest_size=2147483648 scope=spfile;
    3. SQL> alter system set db_recovery_file_dest='/u01/app/oracle/flash_recovery_area' scope=spfile;
    4. SQL> alter system set DB_FLASHBACK_RETENTION_TARGET=2880; (2 days) |
  • 2. Turn flashback on:
    1. SQL> Startup mount exclusive;
    2. SQL> alter database archivelog;
    3. SQL> Alter database flashback on;
    4. SQL> Alter database open; |
  • 3. Check status
    1. SQL> SELECT flashback_on, log_mode FROM gv$database;
    2.     SQL> SELECT estimated_flashback_size FROM gv$flashback_database_log;
    3. $ ps -eaf | grep rvwr |

禁用Flashback Database

  1. Alter database flashback on;

Flashback Database Using SQL or RMAN Commands

1.使用SQLPLUS

  • Use an SCN or a time stamp in the SQL version
  • Example: Flash back the database to a day before using SQL
    1. SQL> shutdown immediate;
    2. SQL> startup mount exclusive;
    3. SQL> flashback database to timestamp(sysdate-1);
    4. SQL> alter database open resetlogs;

2.使用 RMAN

  • Using RMAN, you can flash back to a time stamp, SCN, or log sequence number (SEQUENCE) and thread number (THREAD).
  • Example:
    1. RMAN> FLASHBACK DATABASE TO TIME = TO_DATE('2002-12-10 16:00:00','YYYY-MM-DD HH24:MI:SS');
    2. RMAN> FLASHBACK DATABASE TO SCN=23565;
    3. RMAN> FLASHBACK DATABASE TO SEQUENCE=223 THREAD=1;

视图

  • **VFLASHBACKDATABASELOGmonitortheestimatedandactualsizeoftheflashbacklogsintheflashrecoveryCheckflashrecoveryareadiskquota:SQL>selectretentiontarget,flashbacksize,estimatedflashbacksizeFROMVFLASHBACK_DATABASE_LOG;
    1. - Determine the current flashback window:
    SQL> SELECT oldest_flashback_scn,oldest_flashback_time FROM VFLASHBACKDATABASELOG;VFLASHBACK_DATABASE_STAT -** monitors the overhead of logging flashback data in the flashback logs. It contains at most 24 rows, with one row for each of the last 24 hours.
    • The flashback generation for the last hour:
      1. SQL> select to_char(end_time,'yyyy-mm-dd hh:miAM') end_timestamp, flashback_data, db_data, redo_data from v$flashback_database_stat where rownum=1;

从Flashback Database中排除表空间

  1. SQL> ALTER TABLESPACE <ts_name> FLASHBACK {ON|OFF}
  2. SQL> SELECT name, flashback_on 2 FROM v$tablespace;


Note

  • Take the tablespace offline before you perform the database flashback operation.
  • After performing Flashback Database, drop the tablespace or recover the offline files with traditional point-in-time recovery.

Flash back a RESETLOGS operation

可以闪回到resetlogs之前的一个时间点

  1. SQL> FLASHBACK DATABASE TO BEFORE RESETLOGS;

Limitations

  • You cannot use Flashback Database in the following situations:

  • The control file has been restored or re-created.

  • A tablespace has been dropped.
  • A data file has been shrunk
  • 需要开启FRA特性

闪回数据库的一些命令:

  1. \**闪回到指定的日期**\
  2. FLASHBACK DATABASE TO TIMESTAMP(to_data('2015.07.11 20:03:00','YYYY.MM.DD HH24:MI:SS'));
  3. \**闪回到5分钟之前**\
  4. FLASHBACK DATABASE TO TIMESTAMP SYSDATE-(1/24/12);
  5. FLASHBACK DATABASE TO BEFORE TIMESTAMP my_date;
  6. \**回退到过去的某个SCN点**\
  7. FLASHBACK DATABASE TO SCN my_scn;
  8. FLASHBACK DATABASE TO BEFORE SCN my_scn;
  9. \**回退到某个Log Sequence号*\
  10. flashback database to sequence=223 thread=1;
  11. \**回退完成之后以resetlogs的方式打开数据库*\
  12. alter database open resetlogs;

  1. \**也可以创建一个恢复点*\
  2. CREATE RESTORE POINT before_changes;
  3. FLASHBACK DATABASE TO RESTORE POINT before_changes;



来自为知笔记(Wiz)


转载于:https://www.cnblogs.com/haoxiaoyu/p/24eab1b4c44b3516d8061eb9d56d4675.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/273121.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ruby on Rails Tutorial 第六章 用户模型

1、用户模型&#xff08;1&#xff09;数据库迁移Rails默认使用关系数据库存储数据&#xff0c;数据库中的表有数据行组成&#xff0c;每一行都有相应的列&#xff0c;对应数据属性。把列名命名为相应的名字后&#xff0c;ActiveRecord会自动把他们识别为用户对象的属性。 $ ra…

java dcl 失效解决_DCL失效原因和解决方案

Java内存模型 在了解Java的同步秘密之前&#xff0c;先来看看JMM(Java Memory Model)。Java被设计为跨平台的语言&#xff0c;在内存管理上&#xff0c;显然也要有一个统一的模型。而且Java语言最大的特点就是废除了指针&#xff0c;把程序员从痛苦中解脱出来&#xff0c;不…

李宁-2015年7月13日-个人文档

姓名 李宁 日期 2015年7月13日 主要工作及心得 由于我负责服务器端的编写工作&#xff0c;而各部分的客户端的操作都要与服务器端通信&#xff0c;所以在今天的调试中&#xff0c;我贯穿于各部分模块的调试和检测&#xff0c;主要负责在出现问题…

java.net.unknown_android -------- java.net.UnknownServiceException

最近升级了Android的API版本时 &#xff0c;导致我的网络请求失败了&#xff0c;出现了这个错误 java.net.UnknownServiceException&#xff0c;这个错误&#xff0c;我在网上查到这个主要是由于&#xff0c;我们的OkHttp3会默认使用密文传输&#xff0c;而我们的代码中使用Htt…

无忧开通了博客园博客主页

无忧开通了博客园博客主页&#xff0c;今后在这里安家了。 分享一点工作经验和学习心得&#xff0c;有事没事常来看看。另一个独立博客www.wuyouseo.com 转载于:https://www.cnblogs.com/wuyoublog/p/4646481.html

pythonif语句的多分支使用_Python多分支if语句的使用

注意&#xff1a;if语句代码是从上往下执行的&#xff0c;当执行到满足条件的语句时&#xff0c;代码会停止往下执行注意&#xff1a;if语句后面要加上冒号score int (input("score&#xff1a;"))if score > 90:print("A")elif score > 80:print(&…

Visual Studio下Qt调用IDL

一&#xff0e;简单介绍&#xff1a; 1.ActiveQt包含QAxContainer和QAxServer组件。 1) QAxContainer允许使用COM对象&#xff0c;并且可以将ActiveX控件嵌入到Qt程序中去。 QAxContainer是有三个类组成的。分别是&#xff1a; QAxObject封装了COM对象 QAxWidget封装了ActiveX控…

安装java过程_Java的安装过程

记录一下自己在Windowns下安装java的过程打开网址后要先登录&#xff0c;如果没有号就先注册&#xff0c;然后才能下载step1&#xff1a;下载JDK(1)将鼠标指向download&#xff0c;会出现如下界面:(2)点击左上角PopularDownloads下的 Java for Developers进入如下界面&#xff…

HDU2571

早期昨晚&#xff0c;跪&#xff0c;体倦&#xff0c;简直太CF该。早上起来刷标题。Then,写python&#xff0c;shell,一天后基础。 标题或标题中国&#xff5e;&#xff01;思维&#xff1a;本主题开始寻找一个dfs&#xff0c;但是&#xff0c;这个矩阵外观似太大&#xff0c;d…

dockerfile源码安装mysql_docker容器详解五: dockerfile实现tomcat环境以及源码安装mysql...

tomcat上一节讲到了dockerfile的基础&#xff0c;这一次咱们来作一个小的练习首先要了解tomcat安装的整个过程首先搭建 jdk环境&#xff1a;下载jdk包&#xff0c;解压以后添加环境变量而后搭建tomcat&#xff1a;下载tomcat包&#xff0c;解压&#xff0c;修改配置文件到一个工…

pom.xml的配置详解

<!--可以免费转载&#xff0c;转载时请注明出处 http://pengqb.iteye.com 。--><project xmlns"http://maven.apache.org/POM/4.0.0 " xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance " xsi:schemaLocation"http://maven.apache.or…

azkaban 与 java任务_azkaban任务报错java.lang.RuntimeException: The root scratch dir: /tmp/hive...

azkaban运行任务的时候失败报错如下&#xff1a;23-03-2016 08:16:14 CST analyzer-kafka2hdfs_new ERROR - Exception in thread "main" org.apache.hive.service.cli.HiveSQLException: java.lang.RuntimeException: The root scratch dir: /tmp/hive on HDFS shou…

php-fpm的重启/关闭

php 5.3.3 下的php-fpm 不再支持 php-fpm 以前具有的 /usr/local/php/sbin/php-fpm (start|stop|reload)等命令&#xff0c;需要使用信号控制&#xff1a; INT, TERM 立刻终止QUIT 平滑终止USR1 重新打开日志文件USR2 平滑重载所有worker进程并重新载入配置和二进制模块 kill -…

SQL server 2008数据库的备份与还原、分离(转)

一、SQL数据库的备份&#xff1a; 1、依次打开 开始菜单 → 程序 → Microsoft SQL Server 2008 → SQL Server Management Studio → 数据库&#xff1a;Dsideal_school_db既是我们需要备份的学籍数据库 图&#xff08;1&#xff09; 2、选择要备份的数据库“Dsideal_school_d…

Java做一个动画效果音量调节_设计与实现一个 ISoundable 接口,该接口具有发声功能、还能调节音量大小...

[java]代码库package experiment6;public interface ISoundable {public void increaseVolume();public void decreaseVolume();public void stopSound();public void playSound();}package experiment6;public class Radio implements ISoundable {public void increaseVolume…

人人都有极客精神

http://www.jisuanke.com/minicourse/59/438 人人公司是一家极为鼓励极客精神的公司&#xff0c;当有重要的项目需要上线但又时间太紧&#xff0c;甚至需要当天上线的时候&#xff0c;往往会挂起海盗旗开启电子日期显示&#xff0c;让大家可以在对时间有更明确的感知的情况下&a…

WPF入门教程系列十三——依赖属性(三)

四、 只读依赖属性 在以前在对于非WPF的功能来说&#xff0c;对于类的属性的封装中&#xff0c;经常会对那些希望暴露给外界只读操作的字段封装成只读属性&#xff0c;同样在WPF中也提供了只读属性的概念&#xff0c;如一些 WPF控件的依赖属性是只读的&#xff0c;它们经常用于…

java 反编译 类名_java javassist创建类和反编译类

public class Byte {public static void main(String[] args) throws Exception {//获得类池ClassPool poolClassPool.getDefault();//创建类CtClass ccpool.makeClass("cn.sxt.in.Emp");//创建属性CtField f1 CtField.make("private int empno;", cc);Ct…

java生成动态验证码_动态生成验证码案例

servlet代码package cn.guizimo.web.servlet;import javax.imageio.ImageIO;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.…

TCP、UDP、HTTP、SOCKET之间的区别

http://blog.csdn.net/magister_feng/article/details/8634518 转载于:https://www.cnblogs.com/luningning0901/p/4667733.html