`
long_yu2
  • 浏览: 334624 次
社区版块
存档分类
最新评论

oracle 闪回恢复区的空间管理

阅读更多

闪回恢复区中添加或删除文件等变化都将记录在数据库的 alert 日志中,Oracle 10g 也针对该新特性提供了一个新的视图, DBA_OUTSTANDING_ALERTS,通过该视图可以得到相关的信息。

 

SQL>  DESC dba_outstanding_alerts

 名称                                      是否为空类型

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

 

 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(128)

 ERROR_INSTANCE_ID                                  VARCHAR2(142)

 

 

在闪回恢复区中的空间使用超过 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.

 

 

同时,oraclealert中还会给出解决该问题的建议
************************************************************************
You have following choices to free up space from flash recovery area:
1. Consider changing RMAN RETENTION POLICY. If you are using Data Guard,then consider changing RMAN ARCHIVELOG DELETION POLICY.
2. Back up files to tertiary device such as tape using RMANB ACKUP RECOVERY AREA command.
3. Add disk space and increase db_recovery_file_dest_size parameter to reflect the new space.
4. Delete unnecessary files using RMAN DELETE command. If an operating system command was used to delete files, then use RMAN CROSSCHECK and DELETE EXPIRED commands.
************************************************************************

 

V$RECOVERY_FILE_DEST视图 包含闪回恢复区的相关信息:

SQL> desc V$RECOVERY_FILE_DEST

 名称                                      是否为空类型

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

 

 NAME                                               VARCHAR2(513)

 SPACE_LIMIT                                        NUMBER

 SPACE_USED                                         NUMBER

 SPACE_RECLAIMABLE                                  NUMBER

 NUMBER_OF_FILES                                    NUMBER

 

SQL> select * from v$recovery_file_dest;
NAME  SPACE_LIMIT SPACE_USED SPACE_RECLAIMABLE NUMBER_OF_FILES

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

    4039114752          0                 0               0

 

通过查询视图v$flash_recovery_area_usage,可以获得当前闪回恢复区的空间使用情况,并且可以知道是哪些文件占中了空间,据此可以做出相应的处理,或者加大闪回恢复区,或者移走相应的文件。


SQL> select * from v$flash_recovery_area_usage;
FILE_TYPE     PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE

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

CONTROL FILE           0                         0

REDO LOG               0                         0

ARCHIVED LOG          0                         0

BACKUP PIECE           0                         0

IMAGE COPY             0                         0

FLASHBACK LOG        0                         0

FOREIGN ARCHIVED LOG     0                         0

 

如果闪回恢复区空间耗尽,且归档路径设置到了闪回恢复区中,则由于日志无法归档,数据库会hang。所以,对于生产库,如果将归档放到闪回恢复区中,需要密切关注闪回恢复区的空间使用情况,否则一旦闪回恢复区的空间用尽,将导致数据库无法提供服务。

 

分享到:
评论

相关推荐

    利用oracle 闪回技术恢复数据

    综上所述,Oracle闪回技术是数据库管理和恢复的重要组成部分,通过充分利用这些工具,可以在面对数据丢失或错误时迅速、准确地恢复数据,极大地提高了数据安全性。然而,这也需要数据库管理员具备足够的知识和经验,...

    Oracle 闪回,实验加解释

    通过本文对Oracle闪回技术的介绍,我们可以了解到如何设置和管理闪回恢复区,以及如何启用和禁用闪回数据库功能。这些步骤对于保障数据的安全性和提高数据库恢复能力具有重要意义。同时,我们也探讨了闪回恢复区中的...

    oracle闪回技术

    总结来说,Oracle的闪回技术是数据库管理员的有力工具,它提供了灵活的数据恢复选项,可以帮助用户快速处理误操作或进行历史数据分析。通过闪回删除、闪回查询和闪回表数据,用户可以在不影响数据库正常运行的情况下...

    Oracle 10g 闪回恢复区

    ### Oracle 10g 闪回恢复区详解 #### 一、引言 随着数据库规模的不断增大和技术的发展,数据库的备份与恢复成为了确保数据安全的重要环节。Oracle 10g 引入了一项名为“闪回恢复区”(Flash Recovery Area)的新...

    oracle闪回数据库

    Oracle闪回数据库是一种高效的数据恢复技术,它允许管理员迅速恢复数据库至某一特定时间点,而无需执行完整的数据库恢复过程。这种技术显著提高了数据恢复的速度和便捷性,特别适合处理逻辑错误,例如用户误操作导致...

    Oracle10g闪回恢复区详细解析

    此外,使用Oracle的管理工具,如Enterprise Manager,可以更详细地监控闪回恢复区的状态,包括空间使用、文件过期策略等,从而确保数据库的稳定性和可恢复性。 综上所述,Oracle10g的闪回恢复区是一个强大的功能,...

    Oracle闪回特性

    Oracle闪回特性是Oracle数据库提供的一种强大的数据恢复和时间旅行功能,它允许用户查看和恢复到数据库的某个历史状态,而无需依赖传统的备份和恢复过程。这一特性在故障排查、误操作恢复以及历史数据分析等方面有着...

    用Oracle闪回功能恢复偶然丢失的数据.txt

    ### Oracle闪回功能详解与数据恢复实践 #### 引言 在数据库管理中,数据丢失是一种常见的风险,可能由各种原因造成,如误操作、硬件故障或软件错误等。为应对这种挑战,Oracle数据库自第10g版本起引入了强大的闪回...

    oracle 闪回已删除的表

    在Oracle数据库管理中,**闪回删除的表**是一项非常实用的功能,它允许数据库管理员(DBA)恢复被误删的表及其所有数据。这一特性最早出现在Oracle 9i版本中,但在Oracle Database 10g中得到了进一步的增强和完善。 ...

    用Oracle闪回功能恢复偶然丢失的数据.rar

    本教程将深入探讨如何利用Oracle闪回功能来恢复偶然丢失的数据。 首先,我们需要了解Oracle闪回功能的基础概念。闪回功能包括闪回查询(Flashback Query)、闪回表(Flashback Table)、闪回事务(Flashback ...

    DAVE Oracle 闪回 学习笔记

    Oracle闪回技术是一种非常实用且强大的功能,它允许用户恢复到过去某个时间点的状态,而无需执行复杂的恢复操作。通过闪回功能,Oracle数据库能够实现数据的撤销、数据库的闪回以及事务的撤销等功能。 #### 二、闪...

    用Oracle闪回功能恢复偶然丢失的数据

    下面将详细探讨Oracle闪回功能及其在数据恢复中的应用。 1. **闪回查询** (Flashback Query) 闪回查询允许用户查看数据库在特定时间点的状态,就像时光倒流一样。通过使用`SELECT AS OF TIMESTAMP`或`SELECT AS OF...

    彻底删除和闪回oracle表

    总的来说,Oracle的回收站和闪回技术为数据库管理员提供了强大的数据保护措施。在处理重要数据时,了解并正确使用这些功能可以避免因误操作导致的数据丢失。然而,尽管闪回技术提供了额外的安全保障,但最佳实践仍然...

    Oracle 8大闪回模式及其特性及其详细实验解释

    Oracle 闪回技术是数据库管理系统中的一个重要特性,它允许用户恢复到某一特定时间点的数据状态,从而有效地处理逻辑错误或误操作。以下是关于Oracle 闪回的详细知识点: 1. **闪回概念**: 闪回是Oracle数据库...

    Oracle9i使用闪回操作

    ### Oracle 9i 使用闪回操作 #### 一、Oracle闪回技术概述 ...通过上述介绍,我们可以看到Oracle闪回技术的强大之处,它能够有效地帮助用户在数据丢失的情况下恢复数据,是Oracle数据库管理员不可或缺的一个工具。

    Oracle 备份恢复闪回技术实战

    Oracle闪回技术是一种先进的数据恢复机制,能够帮助数据库管理员迅速恢复因逻辑错误而导致的数据损失。它不同于传统的备份与恢复方法,无需依赖备份文件,而是利用数据库内部的特殊机制来实现数据的即时恢复。这种...

    第16章Oracle闪回(Flashback)技术.pptx

    为了使用闪回数据库技术,必须启用撤销表空间自动管理回滚信息。 3. 闪回表(Flashback Table) 闪回表可以将表恢复到过去的某个时间点或某个 SCN 值时的状态。该功能允许选择性地复原某些对象,减小恢复时间。 4...

    Oracle闪回操作

    Oracle 闪回操作是Oracle数据库提供的一种高级恢复技术,它允许用户恢复数据库、表或单个行至一个特定的时间点或系统改变号 (SCN)。这种功能在处理误操作,如误删数据、错误更新等场景时尤其有用,因为它可以避免...

Global site tag (gtag.js) - Google Analytics