Instance 恢复
概览

相关动态视图:
Oracle 服务器提供许多标准视图以获取有关数据库和例程的信息。这些视图包括:
V$SGA :查询有关例程的以下各项的大小:共享池、日志缓冲区、数据缓冲区高速缓存以及固定内存大小(取决于操作系统)
V$INSTANCE :查询例程的状态,如例程模式、例程名、启动时间和主机名
V$PROCESS :查询为例程创建的后台进程和服务器进程
V$BGPROCESS :查询为例程创建的后台进程
V$DATABASE :列出数据库的状态和恢复信息。其中包括有关数据库名、数据库唯一标识符、创建日期、控制文件创建的日期和时间、最后一个数据库检查点的信息,以及其它信息。
V$DATAFILE :列出数据库中包含的数据文件的位置和名称。其中包括文件编号和名称、创建日期、状态(联机/脱机)、启用状态(只读、读写)、最后一个数据文件检查点及文件大小等相关信息。
 
崩溃恢复阶段
1. 数据文件未同步。
2. 在高速缓存恢复期间或前滚阶段,重做日志文件中自上一个检查点之后记录的所有更改都将重新应用于这些数据文件。此阶段还重新生成还原或回退数据。
3. 数据文件中包含了已提交的更改,还可能包含未提交的更改。此时数据库处于open状态。
4. 在事务处理恢复期间或回退阶段,尚未实际提交的任何更改都将被回退。
5. 数据文件中只包含已提交的对数据库所做的更改。
 

优化例程恢复的持续时间
可以使用这三个初始化参数来影响Oracle 执行检查点的频率。
快速启动检查点可持续进行,只要写入块,检查点时间即会前移。完成恢复前滚阶段的目标(限定)时间可通过参数FAST_START_MTTR_TARGET 来指定,Oracle 将按照该目标时间要求自动调整检查点的写入频率。
建议您只使用FAST_START_MTTR_TARGET 参数,而不要再象在先前版本中那样组合使用FAST_START_IO_TARGET、LOG_CHECKPOINT_INTERVAL 和LOG_CHECKPOINT_TIMEOUT。FAST_START_MTTR_TARGET 可以最精确地控制恢复持
续时间,而且不需要手动为LOG_CHECKPOINT_INTERVAL 和LOG_CHECKPOINT_TIMEOUT 设置值。
动态视图V$INSTANCE_RECOVERY 提供了当前的恢复参数设置。
优化前滚阶段
RECOVERY_PARALLELISM 初始化参数用来指定例程或崩溃恢复操作中并发进程的数量。使用多个进程实际上相当于提供并行块恢复。在前滚阶段,不同的进程分配给不同的块。RECOVERY_PARALLELISM 初始化参数仅指定例程或崩溃恢复中并发恢复进程的数量。介质恢复不受此参数影响。
优化回退阶段
快速启动按需回退是一种自动功能,借助此功能,恢复操作的前滚阶段一结束,就可以立即开始新的事务处理。如果用户试图访问被死事务处理锁定的行,则仅回退完成该事务处理所需的更改。回退是根据需要进行的。
用户事务处理仅对该事务处理试图访问的块启动回退。剩余的块由SMON 在后台恢复(可能是并行的)。这样做的优势在于:不必等到一个较长事务的处理工作被全部回退即可完成另一个事务处理。
快速启动并行回退
快速启动并行回退使SMON 可以充当协调程序并使用多个服务器进程来完成回退操作。当SMON 确定死事务处理已生成大量的还原块时,它会自动启动并行回退。对于长时间运行事务处理的系统,特别是对执行并行的INSERT、UPDATE 和DELETE 操作的系统,该功能非常有用。
控制快速启动并行回退
事务处理恢复中所涉及的进程数量由动态初始化参数FAST_START_PARALLEL_ROLLBACK 设置。上表显示了该参数的有效值及其对快速启 动并行回退的影响。
 

监视并行回退
V$FAST_START_SERVERS
V$FAST_START_TRANSACTIONS