知识大全 Oracle备份与恢复案例一

Posted 数据库

篇首语:若我是万千繁星其中一个,你便是我的星轨,使我昼夜不知停。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Oracle备份与恢复案例一相关的知识,希望对你有一定的参考价值。

Oracle备份与恢复案例一  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

   一 理解什么是数据库恢复    当我们使用一个数据库时 总希望数据库的内容是可靠的 正确的 但由于计算机系统的故障(硬件故障 软件故障 网络故障 进程故障和系统故障)影响数据库系统的操作 影响数据库中数据的正确性 甚至破坏数据库 使数据库中全部或部分数据丢失 因此当发生上述故障后 希望能重构这个完整的数据库 该处理称为数据库恢复 恢复过程大致可以分为复原(Restore)与恢复(Recover)过程     数据库恢复可以分为以下两类      实例故障的一致性恢复    当实例意外地(如掉电 后台进程故障等)或预料地(发出SHUTDOUM ABORT语句)中止时出现实例故障 此时需要实例恢复 实例恢复将数据库恢复到故障之前的事务一致状态 如果在在线后备发现实例故障 则需介质恢复 在其它情况Oracle在下次数据库起动时(对新实例装配和打开) 自动地执行实例恢复 如果需要 从装配状态变为打开状态 自动地激发实例恢复 由下列处理     ( ) 为了解恢复数据文件中没有记录的数据 进行向前滚 该数据记录在在线日志     包括对回滚段的内容恢复     ( ) 回滚未提交的事务 按步 重新生成回滚段所指定的操作     ( ) 释放在故障时正在处理事务所持有的资源     ( ) 解决在故障时正经历一阶段提交的任何悬而未决的分布事务      介质故障或文件错误的不一致恢复    介质故障是当一个文件 一个文件的部分或磁盘不能读或不能写时出现的故障 文件错误一般指意外的错误导致文件被删除或意外事故导致文件的不一致 这种状态下的数据库都是不一致的 需要DBA手工来进行数据库的恢复 这种恢复有两种形式 决定于数据库运行的归档方式和备份方式     ( ) 完全介质恢复可恢复全部丢失的修改 一般情况下需要有数据库的备份且数据库运行在归档状态下并且有可用归档日志时才可能 对于不同类型的错误 有不同类型的完全恢复可使用 其决定于毁坏文件和数据库的可用性     ( ) 不完全介质恢复是在完全介质恢复不可能或不要求时进行的介质恢复 重构受损的数据库 使其恢复介质故障前或用户出错之前的一个事务一致性状态 不完全介质恢复有不同类型的使用 决定于需要不完全介质恢复的情况 有下列类型 基于撤消 基于时间和基于修改的不完全恢复     基于撤消(CANCEL)恢复 在某种情况 不完全介质恢复必须被控制 DBA可撤消在指定点的操作 基于撤消的恢复地在一个或多个日志组(在线的或归档的)已被介质故障所破坏 不能用于恢复过程时使用 所以介质恢复必须控制 以致在使用最近的 未损的日志组于数据文件后中止恢复操作     基于时间(TIME)和基于修改(SCN)的恢复 如果DBA希望恢复到过去的某个指定点 是一种理想的不完全介质恢复 一般发生在恢复到某个特定操作之前 恢复到如意外删除某个数据表之前      第二章 数据库恢复案例测试环境     数据库环境    以下的所有案例都是通过测试经过 环境为     OS Windows Server    DB Oracle     DBNAME TEST    数据文件     SQL> select file# status enabled name from v$datafile;    FILE# STATUS ENABLED   NAME          SYSTEM READ WRITE D:\\Oracle\\ORADATA\\TEST\\SYSTEM DBF     ONLINE READ WRITE D:\\Oracle\\ORADATA\\TEST\\RBS DBF     ONLINE READ WRITE D:\\Oracle\\ORADATA\\TEST\\USERS DBF     ONLINE READ WRITE D:\\Oracle\\ORADATA\\TEST\\TEMP DBF     ONLINE READ WRITE D:\\Oracle\\ORADATA\\TEST\\TOOLS DBF     ONLINE READ WRITE D:\\Oracle\\ORADATA\\TEST\\INDX DBF    控制文件     SQL> select * from v$controlfile;    STATUS NAME         D:\\Oracle\\ORADATA\\TEST\\CONTROL CTL    D:\\Oracle\\ORADATA\\TEST\\CONTROL CTL    D:\\Oracle\\ORADATA\\TEST\\CONTROL CTL    联机日志     SQL> select * from v$logfile;    GROUP# STATUS   MEMBER             STALE   D:\\Oracle\\ORADATA\\TEST\\REDO LOG             D:\\Oracle\\ORADATA\\TEST\\REDO LOG        STALE   D:\\Oracle\\ORADATA\\TEST\\REDO LOG     数据库备份脚本    冷备份脚本:    rem   script:coldbak sql    rem   creater:chenjiping    rem   date:     rem   desc:offline full backup database     connect database    connect internal/password;     shutdown database    shutdown immediate;     Copy Data file    !xcopy d:\\Oracle\\oradata\\test\\* dbf d:\\database/H/R;     Copy Control file    !xcopy d:\\Oracle\\oradata\\test\\* ctl d:\\database/H/R;     Copy Log file    !xcopy d:\\Oracle\\oradata\\test\\* log d:\\database/H/R;     startup database    startup;    说明      以上脚本在数据库关闭状态下备份数据库所有的数据文件 联机日志 控制文件(在一个目    录下) 如果成功备份 所有文件是一致的;     没有备份参数文件 参数文件可以另外备份 没有必要每次都备份 只需要在改变设置后备份一次;     如果以上命令没有成功依次执行 那么备份将是无效的 如连接数据库不成功 那么肯定关闭数据库也不成功 那么备份则无效;     冷备份建议下人工干预下执行     数据库OS热全备份脚本    rem   script:hotbak sql    rem   creater:chenjiping    rem   date:     rem   desc:backup all database datafile in archive     connect database    connect internal/password;     archive    alter system archive log current;     start    alter tablespace system begin backup;    !xcopy d:\\Oracle\\oradata\\test\\system dbf d:\\databak/H/R;    alter tablespace system end backup;    alter tablespace rbs begin backup;    !xcopy d:\\Oracle\\oradata\\test\\rbs dbf d:\\databak/H/R;    alter tablespace rbs end backup;    alter tablespace users begin backup;    !xcopy d:\\Oracle\\oradata\\test\\users dbf d:\\databak/H/R;    alter tablespace users end backup;    alter tablespace tools begin backup;    !xcopy d:\\Oracle\\oradata\\test\\tools dbf d:\\databak/H/R;    alter tablespace tools end backup;    alter tablespace indx begin backup;    !xcopy d:\\Oracle\\oradata\\test\\indx dbf d:\\databak/H/R;    alter tablespace indx end backup;     end     bak control file     binary    alter database backup controlfile to d:\\databak\\controlbinbak ;     ascii    alter database backup controlfile to trace;    alter system archive log current;    说明      热备份必须在数据库归档方式下才可以运行      以上脚本可以在数据库运行状态下备份数据库所有的数据文件(除了临时数据文件) 没有必要备份联机日志      归档日志至少需要一次完整备份之后的所有日志      如果以上命令没有成功依次执行 那么备份也是无效的 如连接数据库不成功 那么备份则无效     RMAN备份只讲叙有恢复目录的情况 如果没有恢复目录 情形大致相似 以下是RMAN的热备份全备份的脚本     #  script:bakup rcv    #  creater:chenjiping    #  date:     #  desc:backup all database datafile in archive with rman    # connect database    connect rcvcat rman/rman@back;    connect target internal/virpure;    # start backup database    run    allocate channel c type disk;    backup full tag dbfull format d:\\backup\\full%u_%s_%p database    include current controlfile;    sql alter system archive log current ;    release channel c ;        # end cha138/Article/program/Oracle/201311/17129

相关参考

知识大全 Oracle数据库备份与恢复

Oracle数据库备份与恢复  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一导出/导入(Exp

知识大全 oracle数据库备份与恢复apieceofcake(4)

  oracle数据库日志备份(windows平台)  本片是接上次的数据库在线备份进行数据库全备份后需要备份归档的日志文件  建立数据库备份的脚本  在上面建立的目录下建立如下的两个脚本  建立执行

知识大全 实战Oracle数据库备份与恢复

实战Oracle数据库备份与恢复  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  用户可以留意一下

知识大全 Oracle数据库的备份与恢复

Oracle数据库的备份与恢复  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  河南省新乡市电信局

知识大全 Oracle FAQ 之备份与恢复篇

OracleFAQ之备份与恢复篇  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  [Q]如何开启/

知识大全 Oracle数据库备份与恢复精华资料集锦

Oracle数据库备份与恢复精华资料集锦  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!主要介绍了O

知识大全 Oracle数据库的备份与恢复的三种方法

Oracle数据库的备份与恢复的三种方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Orac

知识大全 RMAN(备份与恢复管理器)

Oracle数据库备份与恢复之四:RMAN(备份与恢复管理器)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来

知识大全 OracleRMAN物理备份技术之恢复案例三

OracleRMAN物理备份技术之恢复案例三  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  恢复

知识大全 OracleRMAN物理备份技术之恢复案例五

OracleRMAN物理备份技术之恢复案例五  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  恢复