当前位置:  数据库>oracle

Oracle 基于用户管理恢复的处理

    来源: 互联网  发布时间:2017-03-30

    本文导语: --================================ -- Oracle 基于用户管理恢复的处理 --================================       Oracle支持多种方式来管理数据文件的备份与恢复来保证数据库的可靠与完整。除了使用RMAN工具以及第三方备份与恢复工具之外,基于 ...

--================================

-- Oracle 基于用户管理恢复的处理

--================================

 

    Oracle支持多种方式来管理数据文件的备份与恢复来保证数据库的可靠与完整。除了使用RMAN工具以及第三方备份与恢复工具之外,基于

用户管理的备份与恢复也是DBA经常使用的方式之一。本文首先介绍了恢复的相关概念,接下来详细讲述了在归档模式下使用基于用户管理恢

复的处理过程。

 

 

一、恢复的相关概念     

    介质恢复

        首先使用备份还原数据,然后再应用归档日志、重做日志的恢复方式称为介质恢复。

        介质恢复能将一个经过还原的数据更新到当前的时间点或之前的某个时间点。

        通常介质恢复这个术语专指对数据文件进行恢复的过程。

        数据块的介质恢复指数据文件中的个别数据块出现错误时进行的特殊恢复操作。

        介质恢复通常又可以分为完全恢复和不完全恢复

       

    完全恢复

        使用数据库,表空间或数据文件的备份进行还原,再使用归档,重做日志或增量备份将数据更新到当前时间点

        用户可以实现基于对数据库、表空间、数据文件执行完全恢复

        对整个数据库实现完全恢复的步骤

            启动数据库到mount 状态

            确保所有需要被恢复的数据文件处于联机(online)状态

            还原数据库或需要恢复的数据文件

            应用联机重做日志或/与归档重做日志

        对表空间及数据文件实现完全恢复的步骤

            如果数据库处于打开状态,应将需要恢复的表空间或数据文件置为脱机(offline)状态

            还原需要恢复的数据文件

            应用联机重做日志或/与归档重做日志

            使表空间或数据文件联机

           

    不完全恢复

        与完全恢复是同样的步骤,只不过不完全恢复仅仅是将数据恢复到某一个特定的时间点或特定的SCN,而

        不是当前时间点。下列情况通常需要进行不完全恢复:

            介质故障(media failure)导致部分或全部联机重做日志(online redo log)损坏

            用户操作失误(user error)导致数据丢失,例如,用户由于疏忽而移除了表,提交了无效的数据到表

            由于归档重做日志(archived redo log)丢失而无法进行完全恢复(complete recovery)

            当前控制文件(control file)丢失,必须使用备份的控制文件打开(open)数据库

        不完全恢复的步骤

            关闭数据库并备份数据库(以防止恢复失败)

            启动数据库到mount 状态

            还原所有受损的数据文件,同时可以选择还原控制文件

            将数据库恢复至某个时间点、序列、或系统改变号

            使用RESETLOGS关键字打开数据库

        注意:

            在做不完全恢复前建议在恢复前后做一次备份,避免恢复失败导致不必要的损失

            不完全恢复完成后,建议不要直接使用OPEN RESETLOGS 命令以读/写模式打开(open)数据库,而应先以只读模式打开数据库,

                并检查是否已将数据库恢复到正确的时间点。如果恢复的时间点有误,在没有使用OPEN RESETLOGS命令的情况下,重新执

                行恢复操作相对简单。如果恢复结果早于指定的时间点,只需重新执行恢复操作。如果恢复结果超过了指定的时间点,则

                应再次还原数据库并重新进行恢复。

            Flashback Database(闪回数据库)是一种进行不完全恢复的方法

           

        不完全介质恢复的几种类型:

            基于时间的恢复(Time-based recovery) 将数据恢复到指定的时间点

           用户控制的恢复(Cancel-based recovery) 当用户提交CANCEL后停止恢复(此选项在使用RMAN时无效)

           基于SCN 的恢复(Change-based recovery) 将数据恢复到指定的SCN

            按重做日志序号恢复(Log sequence recovery)将数据恢复到指定的重做日志序号(仅使用RMAN时有效)

 

        表空间按时间点恢复(tablespace point-in-time recovery,TSPITR)

            可以将一个或多个表空间恢复到与数据库中其他表空间不同的时间点

            TSPITR的适用情况:

                因错误地移除(drop)及清除(truncate)表而进行的恢复

                恢复存在逻辑错误的表

                由于不正确的批处理作业或其他DML 语句导致数据库中部分数据有误,因而需要恢复

                单独将某个方案(schema)恢复到与物理数据库中其他方案不同的时间点

                    (假设数据库中不同的方案使用不同的表空间)

                恢复大型数据库(VLDB)中的一个表空间,而不必先使用备份复原整个数据库再执行所有前滚(roll-forward)操作

            TSPITR的限制

                SYSTEM表空间,UNDO表空间,或任何包含回滚段(rollback segment)的表空间无法使用TSPITR功能

                与其它表空间有依赖性的表空间应当同时恢复被依赖的表空间,如两张表存在依赖性且位于不同的表空间

   

    数据文件的介质恢复

        用于对丢失或损坏的数据文件及控制文件进行恢复

        也可恢复因没有使用OFFLINE NORMAL 选项执行脱机操作而造成数据丢失的表空间

       

        数据文件介质恢复具有以下特点:

            能够将数据修改应用到被还原(restore)的受损数据文件中。

            能够使用归档重做日志(archived redo log)及联机重做日志(online redo log)。

            需要用户显式的执行。

            不能自动地检测介质故障(media failure)(即不能自动地执行复原操作)。但在使用备份进行复原后,能够自动地检测是否需要

                通过介质恢复(media recovery)来恢复数据。

            恢复所需时间完全由用户备份恢复策略(例如备份频率,并行恢复参数,上次备份后数据库内的事务量)决定,与Oracle内部机制无关

 

        如果数据库内存在需要介质恢复(media recovery)的联机数据文件(online datafile),那么此数据库将无法打开(open),如果一个

        数据文件需要介质恢复,那么此文件将无法联机。因此需要脱机该数据文件(非系统数据文件)再打开数据库。

       

        在出现以下情况时需要进行介质恢复:

            使用备份还原了一个数据文件。

            使用备份还原了一个控制文件(即使此时所有数据文件都是最新的)。

            将数据文件脱机(offline)时(无论是用户手动执行的,还是Oracle 自动执行的)没有使用OFFLINE NORMAL 选项。

 

        如果数据库已经被一个实例打开,数据文件介质恢复将只能针对脱机数据文件。即便数据库只需进行崩溃恢复(crash recovery),

        用户也可以在数据库打开前执行介质恢复。此时,崩溃恢复仍会在数据库打开时自动运行。

       

       需要注意的是,如果一个文件需要介质恢复,即使所有对此文件的修改都包含在联机重做日志文件中也必须进行介质恢复.也就是说,

        即使无需应用归档重做日志也必须进行介质恢复。如果对无需恢复的数据文件执行了介质恢复,那么介质恢复将发现自己无需进行

        任何处理,并发出"no recovery required(无需恢复)"错误。

 

    数据块介质恢复(block media recovery) 

        能够在所有数据文件联机且可用的情况下对个别的数据块进行还原(restore)及恢复(recover)。如果数据错误局限在某些数据文件的

        少量数据块中,此时适宜采用数据块介质恢复来对数据文件进行恢复。

 

        数据块介质恢复是通过RMAN 来执行的。如果用户没有使用RMAN 作为数据库的备份方案,可以向RMAN存储仓库(repository)中添

        加相关的用户管理的数据文件(user-managed datafile)信息及归档重做日志备份(archived redo log backup)信息,这样也能使用

        RMAN 进行数据块介质恢复。 


    
 
 

您可能感兴趣的文章:

  • Oracle数据库恢复后心得
  • 关于系统重装后Oracle数据库完全恢复的解决办法
  • oracle drop table(表)数据恢复方法
  • Oracle数据库备份和恢复工具 RMan
  • oracle备份恢复的具体方法
  • oracle中误删除表后恢复语句(FLASHBACK)
  • oracle冷备份恢复和oracle异机恢复使用方法
  • 在Oracle 10gR2中设定指定的恢复点实现轻松闪回
  • Oracle重做日志文件损坏或丢失后的恢复
  • Oracle11g备份和恢复功能的提高
  • 实战Oracle数据库备份与恢复
  • Oracle数据库冷备份的异地恢复
  • oracle下实现恢复一个丢失的数据文件的代码
  • 详解通过Backup Exec来实施Oracle灾难恢复
  • Oracle的恢复管理器及DBMS_JOB包分析
  • Oracle数据库文件恢复以及备份思路
  • Oracle数据库备份恢复最佳实践
  • oracle如何恢复被覆盖的存储过程
  • rman恢复方案和oracle异机恢复
  • oracle数据库创建备份与恢复脚本整理
  • 在Redhat7.2+Oracle8i如果硬件配置中用P4处理器,对oracle的安装有没有影响(100分)
  • Oracle控制文件多元化处理
  • 关于ORACLE中执行批处理的问题
  • oracle删除文件后数据库启动不了的处理方法
  • MS Server和Oracle中对NULL处理的一些细节差异
  • ORACLE DATAGUARD中手工处理日志v$archive_GAP的方法
  • Oracle 10g中用FIRALL处理非连续数组
  • 重新安装主机后ORACLE DB的处理
  • 轻轻松松学会在Oracle中实现时间相加处理
  • Linux系统下导出ORACLE数据库出现Exporting questionable statistics.错误 处理
  • 处理Oracle数据库中杀不掉的锁
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请问在solaris下安装ORACLE,用root用户和用oracle用户安装有什么区别么?
  • oracle创建删除用户示例分享(oracle删除用户命令及授权)
  • linux6.0下安装oracle11g, 新建用户后,在用户目录下为什么没有.bash_profile文件生成? 求教高手。谢谢!
  • Oracle一个用户如何访问其它用户的表应用指南
  • oracle用户口令丢了
  • 修改oracle用户的.bash_profile之后无法正常登陆
  • linux下如何查看是什么用户安装的oracle
  • oracle+jsp 多用户查询系统讨论:
  • ORACLE 中修改用户密码的方法
  • linux中定时任务 oracle用户该如何做?
  • 杀掉oracle在线用户脚本分享
  • linux能够通过执行脚本添加oracle数据库的用户吗
  • Oracle exp 导出用户对象
  • oracle怎么删除用户提供解决方案
  • Oracle初始参数与当前用户
  • Oracle发布Oracle SQL Developer 1.2数据库开发工具 帮助用户简化开发工作
  • Oracle中查看当前用户的表
  • 怎样知道一个用户的主目录,也就是.bash_profile所在的目录?如/home/oracle
  • Linux下修改Oracle用户密码
  • Oracle创建用户权限的过程
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3