日志线程 redo thread(专业术语解析)

日志线程(Redo Thread)

每个实例用到的联机日志就是一个Redo Thread,单实例有且只有一个Redo Thread。在RAC环境下,每个实例都需要自己的联机日志,也就是每个实例都有自己的Redo Thread。    
RAC中每实例一个Redo Thread的设计是为了避免实例间共享Redo文件引发的竞争,提高系统性能。

每个日志线程都有一个状态,数据库启动过程中会根据这个状态判断是否要恢复,RAC数据库通过thread这个参数用来指定实例使用的Redo Thread线程号,
一般和该实例的INSTANCE_NUMBER参数相同。通过视图V$LOG的THREAD#列可以确认日志组所属的线程。

因为RAC环境下有多个日志线程,所以在添加日志时必须指定线程号。

    SQL> alter database add logfile thread 1
    group 5 ('/oracle/oradata/redo5') size 50M;

而在单实例的DB中,添加日志组的时候可以不指定 thread 线程号

    SQL> alter database add logfile
    group 5 ('/oracle/oradata/redo5') size 50M;
请使用浏览器的分享功能分享到微信等