1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > oracle rfs进程过多 【DB笔试面试755】在Oracle的DG中 RFS LNSn MRP LSP进程的作用分别是什么?...

oracle rfs进程过多 【DB笔试面试755】在Oracle的DG中 RFS LNSn MRP LSP进程的作用分别是什么?...

时间:2018-08-26 22:52:30

相关推荐

oracle rfs进程过多 【DB笔试面试755】在Oracle的DG中 RFS LNSn MRP LSP进程的作用分别是什么?...

答案部分

这几个进程是DG结构中日志传输、接受和应用的关键性进程,下面分别介绍这几个进程。

(一)RFS进程

RFS(Remote File Server)进程主要用来接受从主库传送过来的日志信息。对于物理备库而言,RFS进程可以直接将日志写进Standby Redo logs,也可以直接将日志信息写到归档日志中。一般可以在主备库的告警日志中看到如下的信息:

主库:

1LNS1startedwithpid=21,OSid=11222

备库:

1RFS[2]:Successfullyopenedstandbylog5:'/opt/oracle/oradata/lhrdb/std_redo5a.log'

在数据库中查询:

1SQL>SELECTPROCESS,PID,STATUSFROMV$MANAGED_STANDBY;

2PROCESSPIDSTATUS

3-------------------------------

4ARCH18547CLOSING

5ARCH18549CLOSING

6MRP023485APPLYING_LOG

7RFS1092IDLE

8RFS1090IDLE

9[oracle@Oracle1~]$ps-ef|grep'1092\|1090'

10oracle109210May05?00:00:18oraclelhrdb(LOCAL=NO)

11oracle109010May05?00:00:00oraclelhrdb(LOCAL=NO)

对于Oracle 11g而言,该进程一般会自动启动,但是,对于Oracle 10g而言,由于某些特殊原因,该进程可能不会自动启动,那么可以使用如下的步骤来手动启动该进程:

1①启动实时应用

2物理:ALTERDATABASERECOVERMANAGEDSTANDBYDATABASEUSINGCURRENTLOGFILEDISCONNECTFROMSESSION;

3逻辑:ALTERDATABASESTARTLOGICALSTANDBYAPPLYIMMEDIATE;

4②altersystemsetlog_archive_dest_state_2='defer';

5altersystemswitchlogfile;

6altersystemsetlog_archive_dest_state_2='enable';

7altersystemswitchlogfile;

8③重启备库

(二)LNSn(LGWR Network Server process)进程

DG可以使用ARCn、LGWR来传送日志,但它们都是把日志发送给本地的LNSn(如果有多个目标备库,那么会启动相应数量的LNSn进程,同时发送数据)进程,然后备库的RFS进程接收数据,接收到的数据可以存储在备库的备用Redo日志文件中或备库的归档日志中,然后再应用到备库中。

一般情况下,主库切换(ALTER SYSTEM SWITCH LOGFILE;)日志可以启动LNSn进程,若不能正常启动则可以按照如下的步骤来处理:

1①ALTERSYSTEMSWITCHLOGFILE;

2②备库启动实时应用后,主库:

3ALTERSYSTEMSETLOG_ARCHIVE_DEST_STATE_2='DEFER';

4ALTERSYSTEMSWITCHLOGFILE;

5ALTERSYSTEMSETLOG_ARCHIVE_DEST_STATE_2='ENABLE';

6ALTERSYSTEMSWITCHLOGFILE;

7③重启备库、主库

进程查询(ps -ef|grep -v grep|grep -E "ora_lns|ora_nsa|ora_nss"):

1[root@rhel6_lhrlhr]#ps-ef|grep-vgrep|grep-E"ora_lns|ora_nsa|ora_nss"

2oracle80901003:57?00:01:40ora_lns1_oradg10g

3oracle80921003:57?00:01:40ora_nsa2_oradg11g

4oracle80951003:57?00:01:40ora_nss2_orawl11g

需要注意的是,若在Oracle 10g中采用LGWR传输日志的时候,则进程表现为LNSn,但在Oracle 11g中,若采用LGWR ASYNC(异步方式)来传输日志的时候,则进程表现为nsa,若采用LGWR SYNC(同步方式)来传输日志的时候,则进程表现为nss,且通过视图GV$MANAGED_STANDBY查询的结果不尽相同,具体参考【表3-31DG传输进程及其模式表】。

表3-31DG传输进程及其模式表

版本

10g

11g

传输模式

LGWR ASYNC(异步)

LGWR SYNC(同步)

ARCH

LGWR ASYNC

LGWR SYNC

ARCH

后台进程表现(ps -ef|grep -v grep|grep -E "ora_lns|ora_nsa|ora_nss")

ora_lns1_mydg

ora_lnsb_mydg

ora_arc3_mydg

ora_nsa2_mydg

ora_nss2_mydg

ora_arc3_mydg

视图GV$MANAGED_STANDBY

LNS

LGWR

ARCH

LNS

LGWR

ARCH

切换日志的时候告警日志

出现过一次,LNS: Standby redo logfile selected for thread 1 sequence 13 for destination LOG_ARCHIVE_DEST_2,但再切换的时候就不出现了

LNS: Standby redo logfile selected for thread 1 sequence 98 for destination LOG_ARCHIVE_DEST_2

LNS: Standby redo logfile selected for thread 1 sequence 98 for destination LOG_ARCHIVE_DEST_2

ARC0: Standby redo logfile selected for thread 1 sequence 102 for destination LOG_ARCHIVE_DEST_2

是否默认

是,默认采用归档进程传送

是,默认采用LGWR异步模式传送

(三)MRP(Managed Recovery Process)进程

该进程只针对物理备库,作用为应用从主库传递过来的Redo日志到物理备库,称为Redo Apply。如果使用SQL语句“ALTER DATABASE RECOVER MANAGED STANDBY DATABASE”启用该进程,那么前台进程将会做恢复。如果加上DISCONNECT语句,那么恢复过程将在后台进程,发出该语句的进程可以继续做其它的事情,进程如下所示:

1[oracle@rhel6_lhr~]$ps-ef|grepora_mrp

2oracle47941010:33?00:00:00ora_mrp0_orawldg

(四)LSP(logical standby process)进程

只有逻辑备库才会有该进程。LSP进程控应用Redo日志到逻辑备库。进程如下所示:

1[oracle@rhel6_lhr~]$ps-ef|grepora_lsp

2oracle46831010:31?00:00:01ora_lsp0_oraljdg

本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。