Oracle实例恢复阶段以及flashback简介

实例恢复阶段:

1.数据文件不同步

2.前滚(重做redo)

3.文件中的提交和未提交数据

4.打开数据库

5.回退(还原undo)

6.文件中的提交数据

优化实例恢复:(加快脏数据的写)

使用 MTTR

fast_start_mttr_target (建议不要设置/增加系统负担)

db_writer_pricesses(DBWn的进程)

flashback;

位置由 DB_RECOVERY_FILE_DEST 参数指定 大小由 DB_RECOVERY_FILE_DEST_SIZE 参数指定 足够大,可存放备份、归档日志、闪回日志、镜像控制文件和镜像重做日志 根据保留策略自动进行管理

闪回查询:flashback query

闪回事务查询:

闪回版本查询:

闪回表删除:

闪回数据库:

闪回归档:11g新特性

闪回恢复区:所有与恢复相关的文件的默认位置,简化还原和恢复所需文件的管理.

永久文件:  控制文件多路复用副本

、联机重做日志文件多路复用副本

临时文件: 归档日志、 rman备份,副本

、控制文件自动备份

、闪回日志文件,

除了闪回日志,其它文件都可以重定向的别的地方.

archive log list;

--查看是否打开归档

select log_mode from v$database;

--数据库是否打开归档

数据字典的is_recovery_dest_file可以看出是否放到闪回恢复区.

V$controlfile,v$logfile,v$archived_log

v$recovery_file_dest

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

select GROUP#, BYTES/1024/1024 size_m ,MEMBERS ,STATUS from v$log;

--查看日志组

alter system switch logfile;

--切换日志

select GROUP# ,STATUS,TYPE ,MEMBER,IS_RECOVERY_DEST_FILE from v$logfile;

--查看v$logfile中的信息

实例恢复:instance recovery

崩溃恢复:crash recovery

时间: 2024-10-08 10:14:07

Oracle实例恢复阶段以及flashback简介的相关文章

Oracle 实例恢复

-======================= -- Oracle 实例恢复 --======================= 一.Oracle实例失败 Oracle实例失败多为实例非一致性关闭所致,通常称为崩溃(crash).实例失败的结果等同于shutdown abort. 实例失败的原因 电源负载故障 硬件故障 后台进程失败 异常关闭数据库 实例失败后的状况 数据库可能丢失已提交的事务以及存储了未提交的事务,导致数据库出现不一致的情况 解决方案 使用startup 重新启动实例.实例实

关于oracle实例恢复的前滚和回滚的理解

关于oracle实例恢复的一些理解,一直都有误区,今天通过查看相关资料和与同学探讨,发觉了自己的错误,探讨结果如下: 实例恢复:当数据库非正常关闭的时候(断电或者shu  abort等等非一致性关闭),当你从新启动数据库的时候,数据库相关进程自动进行实例恢复,无须人工干预. 什么时候需要实例恢复 在shutdown normal or shutdown immediate下,也就是所谓的clean shutdown,checkpoint也会自动触发,并且把SCN纪录写回. 当发生checkpoi

Oracle实例的恢复、介质恢复( crash recovery)( Media recovery)

实例的恢复( crash recovery) 什么时候发生Oracle实例恢复? shutdown abort; 数据库异常down掉(机器死机,掉电...) 实例恢复的原因是数据有丢掉,使用redo数据恢复 实例恢复是一个自动的过程,不需要人工干预. 控制文件就是为了检查一致性,如果不一致就会实例恢复 实例恢复发生在那个阶段? sql>startup nomount(读取spfle) ,启动实例,oracle给自己分了一些内存,oracle的内存起来,这个时候没有实例恢复. SQL> sta

SQL Server的实例恢复解析

同Oracle一样,SQL Server在非一致性关闭的时候也会进行实例恢复(Instance Recovery),本文根据stack overflow的文章介绍一些SQL Server实例恢复的知识. 原文链接:https://stackoverflow.com/questions/41932735/sql-server-instance-recovery 关于Oracle的实例恢复参考之前的博文:http://www.cnblogs.com/leohahah/p/6973600.html 首

实例恢复与Oracle的SCN

简单理解oracle的SCN就是自己的时间功能,好比linux系统自己的时间一样,oracle它也有自己的一套时间. 在你干净的关闭数据库时shutdown immediate或者使用alter system checkpoint都会把SCN的值写入4个位置,其中有3个位于controlfile内,还有1个位于datafile header内 controlfile里面的三个SCN分别是:1.system checkpoint SCN  2.datafile checkpoint SCN  3.

将oracle冷备份恢复到另外一个数据库实例中

因更换服务器需要将Oracle数据库转移到另外台Oracle中.说明: 1.测试环境为:windows server2003 和 oracle 10g. 2.2台服务器安装的程序目录一样,数据目录不一样.特别借签了Afshen兄弟发的实践将oracle冷备份恢复到另外一个数据库实例中操作文章.但是对于新手来说没有详细说明,且我的操作有点点差异.另外我是新手,只知道工作完成,但是不知道是否此操作是否对于数据库使用存在何影响,还需要后期开发使用在知道,希望能给大家提供对比作为操作中的参考.(因时间仓

oracle介质恢复和实例恢复的异同

1.概念 ? ? REDO LOG是Oracle为确保已经提交的事务不会丢失而建立的一个机制.实际上REDO LOG的存在是为两种场景准备的: 实例恢复(INSTANCE RECOVERY): 介质恢复(MEDIA RECOVERY). ? ? 实例恢复的目的是在数据库发生故障时,确保BUFFER CACHE中的数据不会丢失,不会造成数据库的不一致: 介质恢复的目的是当数据文件发生故障时,能够恢复数据. 虽然这两种恢复使用的机制类似的,但是这两种恢复也有着十分本质的不同,这一点也是很多DBA经常

[精]Oracle 数据库启动阶段详解

Oracle Server主要由两部分组成:Instance 和Database .Instance 是指一组后台进程/线程和一块共享内存区域,而 Database是指存储在磁盘上的一组物理文件.本文由数据库 如何启动入手.本文地址:http://blog.csdn.net/sunansheng/article/details/51913155 数据库的启动 首先来分析一下数据库的启动过程,Oracle 数据库的启动主要包含 3 个步骤:(1)启动数据库到 nomount 状态:(2)启动数据库

ORACLE启动三阶段

startup nomount ##启动实例,启动第一步,ORACLE首先寻找参数文件,然后根据参数文件中的设置(内存分配设置),创建实例,分配内存.启动后台进程,nomount过程也就是启动数据库实例的过程, 首先根据ORACLE_SID来决定和寻找spfile<ORACLE_SID>参数文件启动实例,在ORACLE实例启动时,在操作系统上fork的进程就依据这个ORACLE_SID来创建. DB_NAME用来定义数据库名称,必须是一个不超过8个字符的文本串,DB_NAME代表了实例即将挂载