打开数据库
※成功打开数据库的条件:
- 所有控制文件都必须存在且已同步
- 所有联机数据文件都必须存在且已同步
- 每个重做日志组必须至少有一个成员
※数据库从关闭到完全打开,数据库会在相应阶段执行一致性检查,包括:
①NOMOUNT阶段:实例要到达NOMOUNT状态,就必须读取初始化参数文件。
②MOUNT阶段:实例进入MOUNT状态,要经过检查控制文件是否存在且已同步。即使有一个控制文件缺失或损坏都会报错并保持在NOMOUNT状态。
③OPEN阶段:
- 检查控制文件知道的所有重做日志组是否都至少有一个成员。
- 验证所有联机数据文件是否存在,但不验证脱机文件。
- 验证所有联机数据文件或只读文件是否与控制文件同步。
△只要数据文件不属于SYSTEM或UNDO 表空间,管理员就可使数据文件脱机并打开实例。
※更改实例状态
- NOMOUNT:SQL>STARTUP NOMOUNT;
- MOUNT:SQL>ALTER DATABASE MOUNT;
- OPEN:SQL>ALTER DATABASE OPEN;
实例失败
※打开实例后,丢失以下项时,实例会失败:
- 任何控制文件
- 属于系统或者还原表空间的数据文件(丢失其他表空间的数据文件不会导致故障,可在实例处于打开状态时恢复数据库,此时其他表空间中的工作可以继续运行)
- 整个重做日志组(只要组中至少有一个成员可用,实例就会保持在打开状态)
※多数情况下,实例失败后并没完全关闭,但不能继续工作。
△必须在关闭数据库后才能从这些类型的介质故障进行恢复,因此,管理员必须先执行SHUTDOWN ABORT命令,然后才能开始恢复工作。
恢复方法——丢失控制文件
※只要至少保留了一个控制文件,可按如下步骤恢复:
- 如果实例尚未失败,使用SHUTDOWN ABORT关闭实例。
- 将剩余的一个控制文件复制到缺失文件的位置(或将控制文件复制到其他位置,然后更新参数文件来指向新位置。也可以从初始化参数文件中删除对缺失控制文件的引用)
- 启动实例
△建议在任何时间至少要保留两个控制文件
恢复方法——丢失重做日志文件
※丢失了单个重做日志组成员后进行恢复并不会影响运行的实例,按如下步骤恢复:
①检查预警日志,确定是否有缺失的日志文件
②通过以下方式恢复缺失的文件,先删除丢失的重做日志成员:
SQL> ALTER DATABASE DROP LOGFILE MEMBER 'redo01a.log'; |
③然后添加新的成员以替换丢失的重做日志成员:
SQL> ALTER DATABASE ADD LOGFILE MEMBER 'redo01a.log' TO GROUP 2; |
※△如果介质故障是由于丢失了磁盘驱动器或控制器造成的,请重命名缺失文件。
※如果重做日志组已归档,或者您处于NOARCHIVELOG 模式下,恢复如下:
①选择清除受影响的日志组
SQL> ALTER DATABASE CLEAR LOGFILE GROUP #; |
#为相应组号
②重新创建缺失文件来解决问题
SQL>ALTER DATABASE ADD LOGFILE GROUP # 'redo#.rdo'; |
△清除未归档的日志组,使用以下命令:
SQL> ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP #; |
恢复方式——NOARCHIVELOG/ARCHIVELOG模式下
(一)NOARCHIVELOG模式下丢失数据文件
※如果在NOARCHIVELOG 模式下丢失了数据库中的任何数据文件,则需要完全还原数据库,包括控制文件和所有数据文件。
※恢复步骤如下:
- 关闭实例(如果尚未关闭)。
- 从备份还原整个数据库,包括数据文件与控制文件。
- 打开数据库。
- 让用户重新输入自上次备份以来所做过的所有修改
(二)ARCHIVELOG模式下丢失非关键数据文件
※如果在NOARCHIVELOG 模式下丢失了数据库中的任何数据文件,则需要完全还原数据库,包括控制文件和所有数据文件。
- 无需关闭数据库实例
- 选择需要恢复的数据文件与还原时间
- 提交RMAN作业以还原并恢复缺失的文件
※由于数据库处于ARCHIVELOG 模式,因此可恢复到上次提交的时间,用户不必重新输入任何数据
(三)ARCHIVELOG模式下丢失系统关键数据文件
※如果某个数据文件丢失或损坏了,且该文件属于SYSTEM或UNDO 表空间,恢复过程如下:
- 若实例未关闭,使用SHUTDOWN ABORT关闭实例
- 装载数据库(即启动到MOUNT状态)
- 选择需要恢复的数据文件与还原时间
- 提交RMAN作业以还原并恢复缺失的文件
※由于数据库处于ARCHIVELOG 模式,因此可恢复到上次提交的时间,用户不必重新输入任何数据。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26121819/viewspace-707988/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/26121819/viewspace-707988/