千家信息网

Oracle10g闪回恢复区的示例分析

发表于:2024-09-26 作者:千家信息网编辑
千家信息网最后更新 2024年09月26日,本篇文章为大家展示了Oracle10g闪回恢复区的示例分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。何为闪回恢复区Oracle 10g 有一项新功能称为:
千家信息网最后更新 2024年09月26日Oracle10g闪回恢复区的示例分析

本篇文章为大家展示了Oracle10g闪回恢复区的示例分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

何为闪回恢复区

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_destNAME                        TYPE        VALUE----------------------- ---------     ---------------------------------db_recovery_file_dest       string      /u01/app/oracle/flash_recovery_areadb_recovery_file_dest_size  big integer 2GSQL>

如上所示,我们设定了闪回恢复区,位置在 /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_0vcnBbz_.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_0vdz23B_.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.dbf7 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                                    NUMBERSQL> 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         30SQL>

在一些 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 YESSQL>

闪回恢复区中文件的保持策略

  • 持久文件从不会被删除。

  • 通过RMAN 配置策略过期的文件会被删除。

  • 已经拷贝到磁带上的临时性文件会被删除。

  • 在 Data Guard 环境中,当已归档的重作日志文件可以从闪回恢复区中删除的时候,可以应用归档的重作日志删除策略进行自动删除(在恢复管理器中CONFIGURE ARCHIVELOG DELETION POLICY TO ......)

在闪回恢复区中的空间使用超过 85% 的时候,数据库将会向 alert 文件中写入告警信息。而当超过 97% 的时候将会写入严重告警信息。当闪回恢复区空间不够的时候,Oracle将报告如下类似的错误:

ORA-19809: limit exceeded for recovery filesORA-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 tertiaryd and has 148509184 remaining                    device, delete files from recovery areabytes available.                                 using RMAN, consider changing RMAN rete                                                 ntion policy or consider changing RMAN a                                                 rchivelog deletion policy.1 rows selected.SQL>

会给出相关的原因和建议的操作。

注意事项

自动化的东西总是给人不确定性。如果您在测试环境中启用了闪回恢复区,那么一定要注意监控空间的使用。在生产数据库上使用(如果有这样的人的话),必须要把闪回恢复区放到单独的磁盘上。

上述内容就是Oracle10g闪回恢复区的示例分析,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

文件 磁盘 存储 空间 备份 数据 时候 视图 位置 参数 日志 信息 数据库 系统 管理 大小 技术 环境 策略 控制 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 将数据库连接字符串加密 无锡软件开发区邮编 oracle数据库怎么打开新建 网络技术第四章本章自测答案 服务器一个月赚多少钱 现在学网络安全有前途吗 从数据库修改凭证上的核算项目 现在软件开发的趋势 落实网络安全宣传情况汇报 数据库如何计算虚值 教育部六个一网络安全 什么叫自主服务器 前锦网络技术西安分公司电话 杭州筑巢网络技术有限公司 对象直接存储到数据库 网络安全和信息化安全会议 天津人事软件开发 学习网络技术买什么电脑好 重庆众人互联网科技有限公司 数据库上机实验答案正式版 高端机器人属于软件开发行业吗 网络安全行为不一致 招募不同服务器 广西学校卫星授时服务器 大量数据导入数据库用什么开发 北京hr软件开发公司 我国信息网络安全问题损失 顺口溜网络安全 500万人游戏服务器租用多少钱 网络技术智能家居
0