当前位置: 首页 > 科技观察

LMSn没有运行在RT (real time) 模式Oracle 19c RAC-

时间:2023-03-12 10:53:03 科技观察

LMSn不在RT(实时)模式下运行Oracle19cRAC?转载本文请联系数据和云公众号。Oracle希望当数据库主机的CPU占用率耗尽时,核心的后台进程能够尽可能获得优先级最高的CPU。当然,如果CPU太高,I/O响应时间会变长,增加网络延迟,也会间接影响数据。整体表现。从Oracle10g开始,有一个隐藏参数_high_priority_processes来控制哪些进程的优先级高。19c的参数除了_high_priority_processes之外,还增加了_highest_priority_processes来控制高优先级。Oracle在10.2版本缺少_high_priority_processes为RAC核心进程LMS*设置高优先级,11g版本为LMS*|VKTM设置高优先级,19c版本_highest_priority_processes为VKTM设置最高优先级,并提供更多LMS*|LM*|LCK0|GCR*|CKPT|DBRM|RMS0|LGWR|CR*|RMV*配置为高优先级。请记住,在10.2.0.3之前有一个错误会导致进程使用过多的CPU。最近有客户19cRAC在CPU使用率超过90%时遇到GC问题。查看LMS时,RT模式的状态并没有引起注意。LMS在19c中还是有一些变化的,下面做一个简单的记录。在Linux平台上,进程的内核调用方式分为三类:TS-SCHED_OTHER(SCHED_NORMAL),即分时调度策略,默认通用级别;FF–SCHED_FIFO,即实时调度策略,先进先出;RR-Sched_rr,实时实时调度,时间片;先轮转先看一个一个正常正常正常环境正常正常环境环境环境环境环境环境环境环境环境环境环境环境环境正常环境环境环境环境环境环境正常正常正常正常正常正常正常正常正常正常正常环境环境环境正常一环境一一一一一一一一一一一一一一一一一一一一一一08:00IPC0startedwithpid=5,OSid=29420StartingbackgroundprocessVKTMStartingbackgroundprocessGEN0VKTMstartedwithpid=6,OSid=29445atelevated(RT)priorityVKTMrunningat(1)millisecprecisionwithDBRMquantum(100)msStartingbackgroundprocessMMANStartingbackgroundprocessLMD1LMD0startedwithpid=23,OSid=29631*LoadMonitorusedforhighloadcheck*NewLow-HighLoadThresholdRange=[130560-174080]LMS1startedwithpid=26,OSid=29640_29663atelevated(RT)priorityLMS0startedwithpid=24,OSid=29635_29662atelevated(RT)priorityLMS2startedwithpid=28,OSid=29646_29666priorityStartingbackgroundprocessLMD2LMD1startedwithpid=36,OSid=29659LMS3startedwithpid=30,OSid=29649_29667atelevated(RT)priorityLMS4startedwithpid=32,OSid=29651_29672atelevated(RT)priorityLMS5startedwithpid=34,OSid=29653_29677atelevated(RT)priorityStartingbackgroundprocessLMD3LMD2startedwithpid=37,OSid=29681LMD3startedwithpid=38,OSid=29686StartingbackgroundprocessRMS0RMS0startedwithpid=39,OSid=29689oracle@anbob_com:/home/oracle>ps-efc|grepvktmgrid348741RR41Jun03?00:06:20asm_vktm_+ASM1oracle423581RR41Jun03?00:05:24ora_vktm_anbob1grid584621RR41Jun03?00:06:18mdb_vktm_-MGMTDBNote:使用ps-c选项查看进程优先级When,vktmisRRmodeoracle@anbob_com:/home/oracle>ps-efc|greplmsoracle3514890946TS1916:02pts/300:00:00grep--color=autolmsoracle665731TS19May21?04:32:32ora_lms0_anbob1oracle665761TS19May21?04:29:41ora_lms1_anbob1oracle665781TS19May21?04:26:33ora_lms2_anbob1oracle665811TS19May21?04:26:51ora_lms3_anbob1oracle665861TS19May21?04:25:38ora_lms4_anbob1oracle665891TS19May21?04:28:44ora_lms5_anbob1oracle665961TS19May21?04:25:44ora_lms6_anbob1oracle665991TS19May21?04:50:02ora_lms7_anbob1oracle666031TS19May21?04:22:42ora_lms8_anbob1oracle666091TS19May21?04:21:31ora_lms9_anbob1oracle666151TS19May21?04:25:41ora_lmsa_anbob1oracle666201TS19May21?04:29:43ora_lmsb_anbob1grid1290221TS19May14?00:36:49asm_lms0_+ASM1注意:使用ps-c选项查看进程优先级时,lms仍处于TS模式。在12c版本及之前PS也是显示RRmode,如下:#sqlplus-VSQL*Plus:Release12.2.0.1.0Production#ps-eLfc|head-n1;ps-eLfc|greplmsUIDPIDPPIDLWPNLWPCLSPRISTIMETTYTIMECMDgrid146611146611RR412019?1-08:14:40asm_lms0_+ASM1oracle621061621061RR412019?17-22:45:22ora_lms0_weejar1oracle621091621091RR412019?18-10:30:26ora_lms1_weejar1oracle621111621111RR412019?18-00:13:16ora_lms2_weejar1oracle621131621131RR412019?17-22:02:20ora_lms3_weejar1oracle621151621151RR412019?17-22:07:53ora_lms4_weejar1检查oradism文件oracle@anbob_com:/home/oracle>ls-l$ORACLE_HOME/bin/oradism-rwsr-x---1rootoinstall147848Apr172019/oracle/app/oracle/product/19c/db_1/bin/oradismisnormal.注意:对于10gR2和11gR1安装,验证oradism可执行文件是否匹配以下所有权和权限“-rwsr-sr-x1rootdbaoradism”并确保lms在实时模式下运行。查看oracle_HOME文件系统挂载点oracle@anbob_com:/home/oracle>cat/proc/mounts|greporacle/dev/mapper/fusioncube-oracle/oracleext4rw,relatime,stripe=16,data=ordered00正常。AWR中lmsracStatisticsbeginendNumberofInstances:22numberoflms的:1212numberofrealtimelms's:1212(0priorityChanges)检查sssql>sql>select'lms',inst_id,inst_id,ints_Id,instery,countcount(*)--------------------------------------LMS1RT12LMS2RT12显示当前LMS进程在RTmode,但是PS显示的过程还是TS。是显示问题吗?或者Oracle中是否有新的功能更改?答案是确实发生了新的变化。从18c开始,LMS进程改为线程模式。oracle@anbob_com:/home/oracle>ps-eLfc|head-n1;ps-eLfc|greplmsUIDPIDPPIDLWPNLWPCLSPRISTIMETTYTIMECMDoracle665731665734TS19May21?00:00:08ora_lms0_anbob1oracle665731665804RR41May21?03:15:29ora_lms0_anbob1oracle665731672194TS19May21?00:23:08ora_lms0_anbob1oracle665731672404TS19May21?00:53:41ora_lms0_anbob1oracle665761665764TS19May21?00:00:08ora_lms1_anbob1oracle665761665824RR41May21?03:12:36ora_lms1_anbob1oracle665761672704TS19May21?00:23:09ora_lms1_anbob1oracle665761673014TS19May21?00:53:43ora_lms1_anbob1oracle665781665784TS19May21?00:00:08ora_lms2_anbob1oracle665781665914RR41May21?03:10:10ora_lms2_anbob1oracle665781673394TS19May21?00:22:52ora_lms2_anbob1...OK.再看另一个问题环境Oracle19.42-nodesRAConRHEL7.5RACStatisticsBeginEndNumberofInstances:22NumberofLMS's:4040NumberofrealtimeLMS's:00(0prioritychanges)SQL>select*fromv$bgprocesswherenamelike'LMS%';PADDRPSERIAL#NAMEDESCRIPTIONPRIORITYCON_ID-----------------------------------------------------------------------------0000001E01B628A01LMS0globalcacheserviceprocessTS00000001E01B65360...数据库警报日志2021-06-03T10:50:19.500768+08:00LMONstartedwithpid=22,OSid=98747StartingbackgroundprocessLMD02021-06-03T10:50:19.527437+08:00LMD0startedwithpid=23,OSid=98749StartingbackgroundprocessLMD12021-06-03T10:50:19.528918+08:00*LoadMonitorusedforhighloadcheck*NewLow-HighLoadThresholdRange=[230400-307200]2021-06-03T10:50:19.703222+08:00Errorsinfile/u01/oracle/diag/rdbms/anbob1/anbob11/trace/anbob11_lms0_98751_98758.trc(事件=873064):ORA-00800:softexternalerror,参数:[SetPriorityFailed],[LMS0],[ChecktracesandOSconfiguration],[CheckOracledocumentandMOSnotes],[]Incidentdetailsin:/u01/oracle/diag/rdbms/anbob1/anbob11/incident/incdir_873064/anbob11_lms0_98751_98758_i873064.trc2021-06-03T10:50:19.711460+08:00ErrorattemptingtoelevateLMS0'spriority:nofurtherprioritychangeswillbeattemptedforthisprocessLMS0startedwithpid=24,OSid=98751_987582021-06-03T10:50:19.800751+08:00Errorsinfile/u01/oracle/diag/rdbms/anbob1/anbob11/trace/anbob11_lmsd_98808_98825.trc(事件=873065):ORA-00800:softexternalerror,参数:[SetPriorityLM[ority]Failed],,[ChecktracesandOSconfiguration],[CheckOracledocumentandMOSnotes],[]2021-06-03T10:50:19.815049+08:00ErrorattemptingtoelevateLMSD'spriority:nofurtherprioritychangeswillbeattemptedforthisprocessLMSDstartedwithpid=50,OSid=98808_988252021-06-03T10:50:19.924836+08:00LMD1startedwithpid=104,OSid=989502021-06-03T10:50:19.924929+08:00StartingbackgroundprocessLMD22021-06-03T10:50:19.944617+08:00Error1borabmsinfile/anbo1/udiag0anbob11/trace/anbob11_lmsb_98797_98815.trc(事件=873066):ORA-00800:softexternalerror,参数:[SetPriorityFailed],[LMSB],[ChecktracesandOSconfiguration],[CheckOracledocumentandMOSnotes],[]2021-06:59-08:1:00ErrorattempttingtoelevateLMSB'spriority:nofurtherprioritychangeswillbeatemptedforthisprocessD36220进程启动后台进程103T10:50:19.949748+08:00注:本环境LMS进程运行在TS模式下,因为实例启动时遇到ORA-800错误[SetPriorityFailed]oradismoracle@anbob1a:/home/oracle/scripts_oracle$ls-l$ORACLE_HOME/bin/oradism-rwxr-x---1oracleoinstall147848Apr172019/u01/oracle/product/bin/oradism这个环境的属主和权限错误,修正后重启实例即可解决。root用户也可以使用chrt在线将进程改成RR模式。#chrt-r-p1[lmspid]作者简介张伟钊,云和恩墨技术总监,OracleACE-A。2006年开始从事数据库管理工作,2009年开始从事ORACLEDBA维护工作,十余年来专注于数据库技术和架构的研究,热衷于学习和分享Oracle数据库故障诊断、性能优化、内部原理和新特性。在BLOG分享很多学习和案例经验。从事多套TB级省级工商、医疗、交通、人力资源、社会、政府、电信运营商等行业数据库项目经验。