数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

Oracle10g学习之闪回数据库


发布日期:2021年07月11日
 
Oracle10g学习之闪回数据库

目标

闪回数据库

去定为每种恢复情形使用哪种闪回技术

配置和使用闪回数据库

监视闪回数据库

使用EM管理闪回数据库

管理(维护)Flash Recovery Area

闪回技术概述

i中首次引入闪回技术第一个出现的是闪回查询(flackback query)

g里有了显着的扩展

闪回数据库(Flashback Database)

闪回删除(Flashbackup Drop)

闪回版本查询(Flashback Versions Query)

闪回事务查询(Flashback Transaction Query)

闪回表(FlashbackTable)

所有的闪回技术除了闪回数据库都是基于撤销数据(undodata)

闪回数据库技术可以替代不完全恢复优势在于闪回数据库更快效率更高它是基于闪回日志的

闪回删除闪回版本查询闪回事务和闪回表最佳用法是恢复单独的对象或者对象中的行

闪回删除虚拟回收站允许被删除的对象重建

闪回版本查询闪回事务查询识别和确定需要恢复到先前状态的数据行

闪回表从错误中恢复单独的表或表组

闪回数据库最适用于从某些种类的失误中恢复如截短大表不完整的批任务或删除了用户

闪回数据库概述

闪回数据库能使整个数据库闪回到特定的时间点

闪回数据库恢复比传统恢复操作更快的原因是恢复不再受数据库大小的影响

闪回数据库恢复时间正比于恢复过程汇总需要备份的变化的数量而不是数据文件和归档日志大小

闪回数据库恢复的结构恢复写入器(PVWR)后台进程和闪回数据库日志组成

PVWR在闪回控制区写入闪回数据库日志

闪回恢复区

闪回数据库的局限

不能解决介质故障介质故障仍然需要重建数据文件和恢复归档日志

缩小数据文件到较小的尺寸也被称为截短数据文件闪回数据库不能撤销

如果控制文件被重建不能使用闪回数据库

不能完成删除一个表空间并用resetlogs恢复

不能将数据库闪回到一个SCN值(如果该SCN早于闪回日志中最早的可用的SCN)

使用Recovery Manager管理闪回恢复区

闪回恢复区专门用于将所有恢复文件集中存储于磁盘上的某个区域

闪回恢复区对恢复过程提供两个主要好处

所有恢复文件集中存储在一个区域

它提供更快的备份和重建方法因为信息被写入磁盘而不是磁带

闪回恢复区通过初始化数据库参数而建立同时也在参数中定义恢复区大小和位置

BDA_OUTSTANDING_ALERTS视图可查看闪回恢复区状态信息

恢复区使用率达到%和%时g数据库将向警告日志发送警告信息%时g将自动把已废弃的 文件从闪回恢复区删除

配置闪回恢复区

只需在数据库增加一对数据库参数:db_recovery_file_dest_size db_recovery_file_dest

例子

SQL>altersystemsetdb_recovery_file_dest_size=mscope=both

SQL>altersystemsetdb_recovery_file_dest=d:oracleflash_recovery_areatest;

修改用alter system

停用闪回恢复区alter system set db_recovery_file_dest= ;

使用闪回恢复区

闪回恢复区是一个集中的恢复区域

这些文件和数据文件及控制文件有关系这就减少了手工清除不需要的归档日志

V$recovery_file_dest检查消耗的空间和其他关于闪回恢复区的统计信息

闪回恢复区可以包括数据文件控制文件联机重做日志各种各样的RMAN文件和闪回日志用户可以在建立重做日志控制文件和归档日志文件时将他们存储在闪回恢复区

影响联机重做日志的参数

DB_CREATE_ONLINE_LOG_DEST_n

DB_RECOVERY_FILE_DEST

DB_CREATE_FILE_DEST

闪回去建立的重做日志默认大小为M

影响控制文件的一些参数

CONTROL_FILES

DB_CREATE_ONLINE_LOG_DEST_n

DB_RECOVERY_FILE_DEST

DB_CREATE_FILE_DEST

影响归档日志的一些参数

LOG_ARCHIVE_DEST_n

LOG_ARCHIVE_DEST

LOG_ARCHIVE_DUPLEX_DEST

备份闪回恢复区

复制闪回恢复区

BACKUP RECOVERY AREA 备份整个恢复区

BACKUP RECOVERY FILES 只备份恢复区中的文件

命令必须与磁带设备和媒介管理器一起使用而且媒介管理器要被设置为使用RMAN

配置闪回恢复区

数据库必须处于归档状态必须配置闪回恢复区

库起到mount状态

设置DB_FLASHBACK_RETENTION_TARGET闪回数据的最大保留时间单位为分钟Alter DB_FLASHBACK_RETENTION_TARGET=; 其值为

启动闪回能力 alter database flashback on;

Alter database open;

在RMAN中使用闪回数据库

如过配置好闪回数据库后只需在mount模式下启动数据库就做好准备完成闪回数据库恢复了

可以从v$FLASHBACK_DATABASE_LOG视图中获得OLDEST_FLASHBACK_SCN或者OLDEST_FLASHBACK_TIME

查出来的SCN或者TIME用于数据库闪回的子句

flashbackdatabasetoscn=;

flashbackdatabasetotime=::;

例子闪回数据库恢复到指定SCN

查出SCN号

Selectoldest_flashback_scnfromv$flashback_database_log;

启动数据库到mount状态

从RMAN发出闪回数据库恢复命令

Connecttarget

Flashbackdatabasetoscn=……;

alter database open resetlogs;

监视闪回数据库

动态视图

V$DATABASE 显示闪回数据库是启动还是关闭

Selectflashback_onfromv$database;

V$FLASHBACK_DATABASE_LOG g的新特性查看所需的空间数量

Select

oldest_flashback_scn

oldest_flashback_time

retention_target

Flashback_size 闪回数据的大小

estimated_flashback_size 估计数据的大小

Fromv$flashback_database_log;

V$FLASHBACK_DATABASE_STAT 显示闪回数据库日志的使用情况

Select*fromv$flashback_database_stat;

在EM使用闪回数据库

上一篇:Oracle的TNS-12502错误原因及解决

下一篇:一个生成Oracle用户密码的通用小程序