- 浏览: 1747071 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (520)
- Oracle (10)
- Oracle错误集 (8)
- Oracle安装升级 (15)
- Oracle日常管理 (51)
- Oracle字符集 (7)
- Oracle备份恢复 (24)
- Oracle优化 (4)
- Oracle编程 (52)
- Oracle导入导出 (19)
- Oracle体系结构 (15)
- Oracle网络 (2)
- Oracle安全 (2)
- Oracle权限 (3)
- Oracle数据字典和性能视图 (2)
- Oracle常用地址 (5)
- SQLPLUS专栏 (7)
- SqlServer (13)
- SqlServer2005编程 (27)
- SqlServer2005管理 (15)
- MySQL (20)
- Dorado应用 (1)
- C# (24)
- Arcgis Server开发 (20)
- ArcSDE技术 (19)
- UML学习 (2)
- 设计模式 (2)
- JAVA EE (4)
- JavaScript (3)
- OFBIZ (27)
- JAVA WEB开发 (22)
- Linux&Unix (34)
- SHELL编程 (14)
- C语言 (11)
- 网络协议 (14)
- FREEMARKER (2)
- GROOVY (2)
- JAVA语言 (3)
- 防火墙 (0)
- PHP (2)
- Apache (2)
- Loader Runner (1)
- Nginx (3)
- 数据库理论 (2)
- maven (1)
最新评论
-
怼怼怼怼:
oracle的timestamp类型使用 -
怼怼怼怼:
oracle的timestamp类型使用 -
怼怼怼怼:
oracle的timestamp类型使用 -
pg_guo:
感谢
oracle中查看用户权限 -
xu234234:
5、MapResourceManager控件中添加了两个服务, ...
北京ArcGis Server应用基础培训笔记1
何为闪回恢复区
Oracle 10g 有一项新功能称为:自动的基于磁盘的备份与恢复( Automatic Disk-Based Backup and Recovery )。实现该功能的基础为本文要讲述的闪回恢复区( Flash Recovery Area )。闪回恢复区是 Oracle 10g 中的新事物。简单的说,闪回恢复区是一块用以存储恢复相关的文件的存储空间。允许用户集中存储所有恢复相关的文件。
闪回恢复区可以放在如下几种存储形式上:
- 目录
- 一个文件系统
- 自动存储管理(ASM)磁盘组
在 RAC 环境中,这个该位置必须为 集群文件系统 (cluster file system) 或是 ASM 磁盘组亦或是通过 NFS 控制的文件共享目录,还要注意的是,所有实例的位置和操作系统的磁盘限额 (disk quota) 必须一致。
如下几种文件可以放到闪回恢复区中:
- 控制文件
- 归档的日志文件(注:Oracle 手册上所说的在设定flash recovery area之后,LOG_ARCHIVE_DEST_10的值将自动设定为flash recovery area的位置,这个变化在笔者测试过程中观察不到)
- 闪回日志
- 控制文件和 SPFILE 自动备份
- RMAN 备份集
- 数据文件拷贝
为何要用闪回恢复区?
如前所述,闪回恢复区提供了一个集中化的存储区域,很大程度上减小了管理开销。这是其最主要的优点。与 RMAN 结合使用可以进行快速恢复。
近年来随着存储技术的发展,单个磁盘的存储能力已经加强。这使自动的基于磁盘的备份与恢复的技术实现成为可能。而闪回恢复区恰是基于磁盘的备份与恢复的基础。把闪回恢复区和 OMF 与 ASM 结合运用看起来是比较完美的方案。当然,不可否认的是,自动备份恢复技术还远远不够成熟。
设定闪回恢复区
如果您使用DBCA创建的数据库,在安装时可以设定闪回恢复区的位置以及大小(点击这里查看安装截图)--这也是 Oracle 10g OUI 的新功能之一。如果在开始的时候没有启用闪回恢复区,可以通过如下方式设定。
调整如下两个动态初始化参数(无需重新启动实例):
SQL> ALTER SYSTEM SET db_recovery_file_dest_size=2g SCOPE=BOTH; System altered. SQL> SQL> ALTER SYSTEM SET db_recovery_file_dest='/u01/app/oracle/flash_recovery_area' 2 SCOPE=BOTH; System altered. SQL>
之后查看所作的修改是否生效:
SQL> SHOW parameter db_recovery_file_dest NAME TYPE VALUE -------------------------------- ----------- ----------------------------------- db_recovery_file_dest string /u01/app/oracle/flash_recovery_area db_recovery_file_dest_size big integer 2G SQL>
如上所示,我们设定了闪回恢复区,位置在 /u01/app/oracle/flash_recovery_area,上限为2G。如果要撤销闪回恢复区,把初始化参数 DB_RECOVERY_FILE_DEST 的值清空即可。
注意: DB_RECOVERY_FILE_DEST_SIZE 只有在 DB_RECOVERY_FILE_DEST 清空之后才可以清空。
初始化参数 db_recovery_file_dest_size 的设定有一点点需要注意的地方:
- 文件的第0块和操作系统数据块头的空间大小不包含在内
- 该参数并不代表实际占用的空间大小。如果空间被压缩、镜像、RAID 的话,该参数的值意义是不一样的
管理并监控闪回恢复区
我们先看看闪回恢复区内的文架结构层次
SQL> host tree /u01/app/oracle/flash_recovery_area /u01/app/oracle/flash_recovery_area |-- DEMO | |-- archivelog | | |-- 2004_12_07 | | | |-- o1_mf_1_10_0vbwz2fm_.arc | | | |-- o1_mf_1_11_0vc1yj14_.arc | | | |-- o1_mf_1_12_0vc6vvws_.arc | | | |-- o1_mf_1_13_0vcbv6cg_.arc | | | |-- o1_mf_1_14_0vchlxb3_.arc | | | |-- o1_mf_1_15_0vcnh2bz_.arc | | | |-- o1_mf_1_5_0vbk8goo_.arc | | | |-- o1_mf_1_6_0vbkq6dk_.arc | | | |-- o1_mf_1_7_0vbktl5f_.arc | | | |-- o1_mf_1_8_0vbo97xp_.arc | | | `-- o1_mf_1_9_0vbrrlo6_.arc | | `-- 2004_12_08 | | |-- o1_mf_1_16_0vcnyqvf_.arc | | |-- o1_mf_1_17_0vcp58bj_.arc | | |-- o1_mf_1_18_0vcv4qxb_.arc | | |-- o1_mf_1_19_0vczcsl0_.arc | | |-- o1_mf_1_20_0vd34svw_.arc | | |-- o1_mf_1_21_0vd7tg4h_.arc | | |-- o1_mf_1_22_0vddq7lc_.arc | | |-- o1_mf_1_23_0vdk0nbh_.arc | | |-- o1_mf_1_24_0vdojjky_.arc | | |-- o1_mf_1_25_0vdtg1rq_.arc | | |-- o1_mf_1_26_0vdz23h2_.arc | | |-- o1_mf_1_27_0vf3nlnw_.arc | | |-- o1_mf_1_28_0vf6hon5_.arc | | |-- o1_mf_1_29_0vf867lt_.arc | | |-- o1_mf_1_30_0vf86pkg_.arc | | `-- o1_mf_1_31_0vfjphqm_.arc | `-- backupset | |-- 2004_12_07 | | |-- o1_mf_ncsn1_TAG20041207T150715_0vboq7kv_.bkp | | `-- o1_mf_nnnd1_TAG20041207T150715_0vboo3t2_.bkp | `-- 2004_12_08 | |-- o1_mf_ncsnf_TAG20041208T161219_0vffxv2n_.bkp | |-- o1_mf_ncsnf_TAG20041208T165456_0vfjcvgl_.bkp | `-- o1_mf_nnndf_TAG20041208T161219_0vffv40q_.bkp `-- tracking.dbf 7 directories, 33 files
闪回恢复区中添加或删除文件等变化都将记录在数据库的 alert 日志中,Oracle 10g 也针对该新特性提供了一个新的视图, DBA_OUTSTANDING_ALERTS,通过该视图可以得到相关的信息。
DBA_OUTSTANDING_ALERTS 视图的存在体现了 Oracle 愈加人性化的一面。我们先来看一下该视图的基本结构,后面会用到。
SQL> DESC dba_outstanding_alerts Name Null? Type ----------------------------------------- -------- ---------------------------- SEQUENCE_ID NUMBER REASON_ID NOT NULL NUMBER OWNER VARCHAR2(30) OBJECT_NAME VARCHAR2(513) SUBOBJECT_NAME VARCHAR2(30) OBJECT_TYPE VARCHAR2(64) REASON VARCHAR2(4000) TIME_SUGGESTED TIMESTAMP(6) WITH TIME ZONE CREATION_TIME TIMESTAMP(6) WITH TIME ZONE SUGGESTED_ACTION VARCHAR2(4000) ADVISOR_NAME VARCHAR2(30) METRIC_VALUE NUMBER MESSAGE_TYPE VARCHAR2(12) MESSAGE_GROUP VARCHAR2(64) MESSAGE_LEVEL NUMBER HOSTING_CLIENT_ID VARCHAR2(64) MODULE_ID VARCHAR2(64) PROCESS_ID VARCHAR2(128) HOST_ID VARCHAR2(256) HOST_NW_ADDR VARCHAR2(256) INSTANCE_NAME VARCHAR2(16) INSTANCE_NUMBER NUMBER USER_ID VARCHAR2(30) EXECUTION_CONTEXT_ID VARCHAR2(60) ERROR_INSTANCE_ID VARCHAR2(142) SQL>
10g 的新视图 V$RECOVERY_FILE_DEST 包含闪回恢复区的相关信息:
SQL> desc V$RECOVERY_FILE_DEST Name Null? Type ----------------------------------------- -------- ---------------------------- NAME VARCHAR2(513) SPACE_LIMIT NUMBER SPACE_USED NUMBER SPACE_RECLAIMABLE NUMBER NUMBER_OF_FILES NUMBER SQL> SELECT NAME, space_limit, space_used, space_reclaimable space_rec, 2 number_of_files file_num 3 FROM v$recovery_file_dest; NAME SPACE_LIMIT SPACE_USED SPACE_REC FILE_NUM ----------------------------------- ----------- ---------- ---------- ---------- /u01/app/oracle/flash_recovery_area 2147483648 1106849280 602410496 30 SQL>
在一些 10g 的动态视图里( V$CONTROLFILE, V$LOGFILE, V$ARCHIVED_LOG, V$DATAFILE_COPY 等 )的新的列 IS_RECOVERY_DEST_FILE ,指明相关的文件是否在恢复区内。
SQL> SELECT recid, blocks, is_recovery_dest_file 2 FROM v$archived_log 3 WHERE recid < 5; RECID BLOCKS IS_RECOVERY_DEST_FILE ---------- ---------- ---------------------------------------- 1 20072 YES 2 19566 YES 3 19566 YES 4 19566 YES SQL>
闪回恢复区中文件的保持策略
- 持久文件从不会被删除。
- 通过RMAN 配置策略过期的文件会被删除。
- 已经拷贝到磁带上的临时性文件会被删除。
- 在 Data Guard 环境中,当已归档的重作日志文件可以从闪回恢复区中删除的时候,可以应用归档的重作日志删除策略进行自动删除(在恢复管理器中CONFIGURE ARCHIVELOG DELETION POLICY TO ......)
在闪回恢复区中的空间使用超过 85% 的时候,数据库将会向 alert 文件中写入告警信息。而当超过 97% 的时候将会写入严重告警信息。当闪回恢复区空间不够的时候,Oracle将报告如下类似的错误:
ORA-19809: limit exceeded for recovery files ORA-19804: cannot reclaim 52428800 bytes disk space from 1258291200 limit
这个时候查询 dba_outstanding_alerts:
SQL> select reason,object_type,suggested_action from dba_outstanding_alerts; REASON OBJECT_TYPE SUGGESTED_ACTION ------------------------------ -------------------- ---------------------------------------- db_recovery_file_dest_size of RECOVERY AREA Add disk space and increase db_recovery_ 1258291200 bytes is 88.20% use file_dest_size, backup files to tertiary d and has 148509184 remaining device, delete files from recovery area bytes available. using RMAN, consider changing RMAN rete ntion policy or consider changing RMAN a rchivelog deletion policy. 1 rows selected. SQL>
会给出相关的原因和建议的操作。
注意事项
自动化的东西总是给人不确定性。如果您在测试环境中启用了闪回恢复区,那么一定要注意监控空间的使用。在生产数据库上使用(如果有这样的人的话),必须要把闪回恢复区放到单独的磁盘上。
结束语
本文介绍了闪回恢复区 -- Oracle 10g 的又一个华而不实的新功能 -- 的基本功能。在后续的文档中我会结合RMAN的新特性展示闪回恢复区的其他方面。
发表评论
-
Rman备份中obsolete和expired的区别
2014-01-23 09:07 1006obsolete:与retention policy ... -
ORACLE联机日志文件丢失或损坏的处理方法
2008-10-15 11:01 2979经验总结: 联机日志分为当前联机日志和非当前联机日志,非当前 ... -
怎样才能提高Oracle 10G增量备份速度
2008-10-13 16:37 18781.你可以通过发布以下命令来启用该跟踪机制: SQL> ... -
Oracle 8i下temp表空间文件缺失时的恢复
2008-09-08 17:20 2070[描述] Errors in file e:\oracle\a ... -
使用RMAN恢复数据库到不同主机
2008-09-04 17:38 5215当未使用catalog方式进行rman备份时,将备份集转移到其 ... -
完全恢复与Resetlogs
2008-08-21 12:16 1593很多朋友经常会对完全恢复与Resetlogs产生误解,以为使用 ... -
using backup controlfile和 until cancel 区别
2008-08-21 11:19 19101. recover database using backu ... -
不完全恢复类别
2008-08-21 11:17 1710用户管理备份的三种不完全恢复:1. 基于变化的不完全恢复 Ch ... -
Nocatalog方式的备份方案
2008-08-14 14:30 1970在没有目录数据库的情况下,Oracle的备份信息是存储在控制文 ... -
Oracle9i rman备份恢复总结
2008-08-11 17:18 4538Recovery Manager(RMAN)是一种用于备份(b ... -
10g:ora_rowscn伪列介绍和使用
2008-08-01 09:13 393210g里为表新增加了一个伪列ora_rowscn下面一段英文是 ... -
Oracle闪回特性
2008-07-31 13:57 2970在利用闪回功能前需要 ... -
按日期区分exp导出的文件名称
2008-07-17 12:08 3434方法一、通过数据库查询获取日期 1、创建expbydt.s ... -
ORACLE自动备份方法
2008-04-28 13:27 2458步骤如下: 1. AP服务器上建立c:\backup文件夹(文 ... -
自己做的一次不完全恢复试验
2007-11-12 17:07 1507C:\>rman target sys/admin@ac ... -
利用incarnation恢复数据库到resetlogs前的某状态
2007-11-12 16:57 2112前提:有resetlogs前的备份文件和归档日至备份文件 Mi ... -
RMAN中常用configure命令
2007-11-08 16:26 25841 显示当前的配置信息 =================== ... -
RMAN 动态性能视图
2007-11-07 16:40 2054以下是与RMAN 备份有关系的一些动态性能视图 ... -
RMAN增量备份
2007-11-07 16:27 3860在说明增量备份之前,首先要理解差异增量与累计增量备份,以及增量 ... -
RMAN备份文件格式
2007-11-07 13:47 3404备份文件可以自定义各种各样的格式,如下: %c 备份片的拷贝数 ...
相关推荐
实现该功能的基础为本文要讲述的闪回恢复区( Flash Recovery Area )。闪回恢复区是 Oracle 10g 中的新事物。简单的说,闪回恢复区是一块用以存储恢复相关的文件的存储空间。允许用户集中存储所有恢复相关的文件。
一片有关oracle 闪回恢复原理知识的书,为巩固基础知识,数据原理详解。
V$FLASH_RECOVERY_AREA_USAGE 2-18 备份快速恢复区 2-20 使用快速恢复区的优点 2-21 设置影响 RMAN 的参数 2-22 RMAN 使用注意事项 2-24 RMAN 的连接类型 2-25 启动 RMAN 2-26 其它 RMAN 命令行参数 2-27 ...
V$FLASH_RECOVERY_AREA_USAGE 2-18 备份快速恢复区 2-20 使用快速恢复区的优点 2-21 设置影响 RMAN 的参数 2-22 RMAN 使用注意事项 2-24 RMAN 的连接类型 2-25 启动 RMAN 2-26 其它 RMAN 命令行参数 2-27 ...
这将显示 Flash Recovery Area 的使用情况,包括控制文件、在线日志、归档日志、备份片段、图像副本、闪回日志等的使用情况。 5. 计算 Flash Recovery Area 已经占用的空间 使用以下命令计算 Flash Recovery Area ...
Oracle数据库归档日志满问题解决方案 Oracle数据库中的归档日志是指...通过查看归档日志的状态、位置和大小,检查flash recovery area的使用情况,我们可以了解归档日志的使用情况,并采取相应的解决方案来解决问题。
设备设置包括磁盘备份和磁带备份的选项,磁盘备份位置默认为 DB_RECOVERY_FILE_DEST 参数的值, ORACLE_HOME 主目录中的 flash_recovery_area 目录。 Oracle 数据库备份的目的是为了保证在各种故障发生后,数据库...
■ flash recovery area:指定的一个磁盘上的位置。在这个位置上,数据库可以存储和管理与备份恢复相关的文件。 ■ Media management software:介质管理软件可由第三方提供,但需要RMAN的备份接口。 ■ recovery ...
o Install Flash Recovery Area in $ORACLE_BASE/flash_recovery_area in a mount point different from db files. o Administrative Files are to be created in ORACLE_BASE/admin/dbname o Store Oracle DB files...
停止 Oracle RAC 10g 环境 第一步是停止 Oracle 实例。当此实例(和相关服务)关闭后,关闭 ASM 实例。最后,关闭节点应用程序(虚拟IP、GSD、TNS 监听器和 ONS)。 $ export ORACLE_SID=orcl1 $ emctl stop ...
*.db_recovery_file_dest='E:\\app\\oracle\\flash_recovery_area' *.db_recovery_file_dest_size=2147483648 *.diagnostic_dest='E:\\app\\oracle' *.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)' *....
db_recovery_file_dest='D:/oracle/product/10.2.0/flash_recovery_area' db_recovery_file_dest_size=2147483648 pga_aggregate_target=41943040 processes=150 remote_login_passwordfile='EXCLUSIVE' sga_max_...
Oracle 数据库文件目录结构是指 Oracle 数据库文件的组织结构,包括 Admin 目录、db_1 目录、Oradata 目录、flash_recovery_area 目录等。 最后,需要检查数据库服务,包括打开服务、查看和 Oracle 相关的服务等...
发现默认的归档路径为C:\app\Administrator\flash_recovery_area,而限制使用空间为 3852M。 六、 扩大归档日志空间 可以通过增加磁盘空间并调整db_recovery_file_dest_size参数来扩大归档日志空间。例如,可以将...
■ flash recovery area:指定的一个磁盘上的位置。在这个位置上,数据库可以存储和管理与备份恢复相关的文件。 ■ Media management software:介质管理软件可由第三方提供,但需要RMAN的备份接口。 ■ recovery ...
Oracle Database XE completely automates the management of its logical and physical structures and flash recovery area storage. You use the Oracle Database XE graphical user interface to monitor these ...
SQL> select * from V$FLASH_RECOVERY_AREA_USAGE; –查看归档内容使用情况 FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES ———— —————— ————————- ————— ...
SQL> select * from V$FLASH_RECOVERY_AREA_USAGE; ARCHIVELOG 96.62 0 141 SQL> select sum(percent_space_used)*3/100 from v$flash_recovery_area_usage; 2.9904 SQL> show parameter recover; db_recovery_file...
在 Oracle 10g 中,默认的归档路径为 $ORACLE_BASE/flash_recovery_area。这个路径有一个限制,就是默认只能有 2G 的空间给归档日志使用。如果归档日志数量大于 2G,那么就会由于没有更多的空间去容纳更多的归档日志...