简答题 3.  RFS、LNSn、MRP、LSP进程的作用分别是什么?
【正确答案】这几个进程是DG结构中日志传输、接受和应用的关键性进程,下面分别介绍这几个进程。
   (1)RFS进程 RFS (Remote File Server)进程主要用来接受从主库传送过来的日志信息。对于物理备库而言,RFS进程可以直接将日志写进Standby Redo logs,也可以直接将日志信息写到归档日志中。一般可以在主备库的告警日志中看到如下的信息:
   主库:
   
   备库:
   
   在数据库中查询:
   
   对于Oracle 11g而言,该进程一般会自动启动,但是,对于Oracle 10g而言,由于某些特殊原因,该进程可能不会自动启动,那么可以使用如下的步骤来手动启动该进程:
   
   (2)LNSn(LGWR Network Server process)进程 DG可以使用ARCn、LGWR来传送日志,但它们都是把日志发送给本地的LNSn(如果有多个目标备库,那么会启动相应数量的LNSn进程,同时发送数据)进程,然后备库的RFS进程接收数据,接收到的数据可以存储在备库的备用Redo日志文件中或备库的归档日志中,然后再应用到备库中。
   一般情况下,主库切换(ALTER SYSTEM SWITCH LOGFILE;)日志可以启动LNSn进程,若不能正常启动则可以按照如下的步骤来处理:
   
   进程查询 (ps -ef|grep -v grep|grep -E "ora_lns|ora_nsa|ora_nss"):
   
   需要注意的是,若在Oracle 10g中采用LGWR传输日志的时候,则进程表现为LNSn,但在Oracle 11g中,若采用LGWR ASYNC(异步方式)来传输日志的时候,则进程表现为nsa,若采用LGWR SYNC(同步方式)来传输日志的时候,则进程表现为nss,且通过视图GV$MANAGED_STANDBY查询的结果不尽相同,具体参考下表。
   
DG传输进程及其模式的关系
   

   (3)MRP (Managed Recovery Process)进程 该进程只针对物理备库,作用为应用从主库传递过来的Redo日志到物理备库,称为Redo Apply。如果使用SQL语句“ALTER DATABASE RECOVER MANAGED STANDBY DATABASE”启用该进程,那么前台进程将会做恢复。如果加上DISCONNECT语句,那么恢复过程将在后台进程,发出该语句的进程可以继续做其他的事情,进程如下:
   
   (4)LSP (logical standby process)进程只有逻辑备库才会有该进程。LSP进程应用Redo日志到逻辑备库,进程如下:
   
【答案解析】