zoukankan      html  css  js  c++  java
  • ORACLE数据库不同故障下的恢复总结

    ORACLE数据库不同故障下的恢复总结
    1. 非归档模式下丢失或损坏的文件
    --1.1 数据文件
    --启动数据库的状态到MOUNT
    --恢复方法:
    通过之前创建的数据库完整备份,修复整个数据库,不过备份之后发生的所有修改将丢失;修复数据库之后不需要进行RECOVER操作。(由于没有归档,也无从RECOVER),直接通过RESETLOGS方式打开数据库即可。

    --1.2 数据文件及联机重做日志文件
    --启动数据库的状态到MOUNT
    --恢复方法(同上):
    通过之前创建的数据库完整备份,修复整个数据库,不过备份之后发生的所有修改将丢失;修复数据库之后不需要进行RECOVER操作。(由于没有归档,也无从RECOVER),直接通过RESETLOGS方式打开数据库即可。

    --1.3 数据文件及控制文件
    --启动数据库的状态到NOMOUNT(控制文件丢失或损坏,只能启动数据库到NOMOUNT状态)
    --恢复方法(同上):
    通过之前创建的数据库完整备份,修复整个数据库,不过备份之后发生的所有修改将丢失;修复数据库之后不需要进行RECOVER操作。(由于没有归档,也无从RECOVER),直接通过RESETLOGS方式打开数据库即可。
    ======
    说明:以上三种情况下执行数据库修复,都必须有正确的控制文件备份。另外,在上述几种情况下进行数据库恢复时,唯一一种可以不使用RESETLOGS选项打开数据库的情况,就是创建数据库完整备份之后,联机重做日志文件中的内容还没有被覆盖掉,那么可心通过RECOVER操作应用这部分日志。
    ============================
    2. 归档模式下丢失或损坏的文件
    --2.1 一个或多个数据文件
    --启动数据库的状态到MOUNT/OPEN均可
    --恢复方法:
    在数据库打开可是加载的状态下执行表空间或数据文件的恢复操作,首先要将表空间或数据文件置于OFFLINE状态,然后通过备份RETORE和RECOVER,最后再将其置为ONLINE状态。这种操作不会丢失数据,并且在操作的过程中,数据库的其他数据文件仍可被正常访问。

    --2.2 全部数据文件
    --启动数据库的状态到NOMOUNT
    --恢复方法
    应用之前的全库备份进行恢复,在联机重做日志文件和归档文件仍在的情况下,不会丢失数据。

    --2.3 控制文件及一个或多个数据文件
    --启动数据库的状态到NOMOUNT
    --恢复方法:
    首先通过备份的控制文件先对控制文件进行恢复,然后即可打开数据库到MOUNT状态。再对数据文件进行RESTORE和RECOVER操作;在联机重做日志文件都在的情况下,这种操作不会丢失数据。
    ==========================================
    只要是有控制文件或是全部的数据文件丢失,则只能启动数据库到NOMOUNT状态。在归档模式下,不需要以OPEN RESETLOGS方式打开数据库。

  • 相关阅读:
    SQL Server 自动备份数据脚本
    数据库还原,System.Data.SqlClient.SqlError: 因为数据库正在使用,所以无法获得对数据库的独占访问权。 (Microsoft.SqlServer.SmoExtended)
    AD 域中给AD 用加登录本地计算的权限
    share point CSOM 客户端模式 创建表 增删改查
    .net 修改AD域中的密码
    ES6——Object.assign() 对象的合并
    nodeJs —— 从零搭建一个koa项目
    nodeJs —— mongoose学习及案例
    nodeJs —— koa 常用中间件
    js计算舍入误差解决办法
  • 原文地址:https://www.cnblogs.com/rusking/p/4183720.html
Copyright © 2011-2022 走看看