正文
oracle进程怎么设置 oracle进程数设置多少
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
如何提高Oracle进程的优先级
在繁忙oracle进程怎么设置的系统中,oracle进程怎么设置我们总是会期望提高某些Oracle进程的优先级,使其能够更容易的获得CPU资源,执行重要的任务。在Oracle 10g之前,这样的工作要通过操作系统上的设置来实现,在Oracle 10gR2中,一个新的隐含参数被引入到数据库中,用于配置提升Oracle后台进程的优先级。
这个核心参数是: _high_priority_processes
在 10.2 版本中,Oracle 缺省的对 LMS* 设置高优先级,在11g开始,对 LMS*||VKTM 设置高优先级。
在Linux平台上,进程的内核调用分为三类:
TS - SCHED_OTHER (SCHED_NORMAL) ,这是分时调度策略,缺省的正常级别;
FF - SCHED_FIFO,这是实时调度策略,先到先服务,先进先出;
RR - SCHED_RR,实时调度策略,时间片轮转;
其中 FF,RR 都是实时调度队列的,实时进程调度队列,是从优先级最高的进程运行,如果当前运行的是FIFO进程,如果进程不主动让出CPU,其他进程都不能运行,如果是RR(时间片轮转)的,则不会一直独占CPU,运行一段时间会被切换出来。
以下是在Linux中设置PMON进程提高优先级的测试。
[eygle@enmoteam2 ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Fri Aug 9 10:43:50 2013
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to an idle instance.
SQL startup
ORACLE instance started.
Total System Global Area 1670221824 bytes
Fixed Size 2228944 bytes
Variable Size 402656560 bytes
Database Buffers 1258291200 bytes
Redo Buffers 7045120 bytes
Database mounted.
Database opened.
检查此时PMON进程的优先级为:TS 。
[eygle@enmoteam2 ~]$ ps -eo pid,class,pri,nice,time,args |grep pmon |grep -v grep
25424 TS 19 0 00:00:00 ora_pmon_enmot2
设置PMON进程,重新启动数据库:
SQL alter system set "_high_priority_processes"="PMON" scope=spfile;
System altered.
SQL shutdown abort;
ORACLE instance shut down.
SQL startup
ORACLE instance started.
Total System Global Area 1670221824 bytes
Fixed Size 2228944 bytes
Variable Size 402656560 bytes
Database Buffers 1258291200 bytes
Redo Buffers 7045120 bytes
Database mounted.
Database opened.
此时检查,可以发现PMON进程运行在RR模式:
SQL ! ps -eo pid,class,pri,nice,time,args |grep pmon |grep -v grep
26222 RR 41 - 00:00:00 ora_pmon_enmot2
在Solaris下有所不同,高优先级进程运行在RT模式 - Real Time,实时模式:
SQL show parameter pri
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_high_priority_processes string LMS*|LGWR|PMON
oracle@solaris:$ ps -eo pid,class,pri,nice,time,args |egrep 'lgwr|pmon' |grep -v grep
27674 RT 101 RT 00:00 ora_pmon_orcl
27694 RT 101 RT 00:00 ora_lgwr_orcl
注意,在RAC系统中,LMS*可能会导致一系列的LMS进程都获得高优先级,这可能是不必要的,也会抢占其他进程的资源,所以可以根据具体情况进行设置。
当系统中既有分时调度 - TS,又有时间片轮转调度(RR)和先进先出调度(FF)时,以下是一些细节上的说明:
当实时进程准备就绪后,如果当前CPU正在运行非实时进程,则实时进程立即抢占非实时进程;
RR进程和FIFO进程都采用实时优先级做为调度的权值标准,RR实际上是FIFO的一个延伸;
FIFO时,如果两个进程的优先级一样,则这两个优先级一样的进程具体执行哪一个是由其在队列中的位置决定的,这样导致一些不公正性,如果将两个优先级一样的任务的调度策略都设为RR,则保证了这两个任务可以循环执行,保证了公平。
在MOS (My Oracle Support)的文档:602419.1 上,还描述了这样一种情况:LMS not running in RT (real time) mode in 10.2.0.3 RAC database (Doc ID 602419.1)。
该案例提示:当 $ORACLE_HOME/bin/oradism 权限不对时,可能会导致进程无法运行在实时模式。
在该案例中oradism的权限如下:
384 -r-sr-s--- 1 oracle oinstall 186568 Dec 20 2006 /n01/app/oracle/product/10.2.0/bin/oradism ===
正常情况下,oradism 的属主应该为root,并且具有setuid位设置,以下是在oracle进程怎么设置我的系统中oradism的正确权限设置:
[eygle@enmoteam1 bin]$ ls -l oradism
-rwsr-x--- 1 root oinstall 71758 9月 17 2011 oradism
如何修改oracle 服务器进程数
session设多少和你的应用环境有关系,说一下你的应用部署情况
Sessions = (IIS process number) X (min pool size)
按照这个公式算,如iis进程数为30,连接池min pool size为10,那么安全的Oracle Sessions的数量应该为300。如果不按照这个数量进行设置,那么系统运行的过程中IIS会经常报告一些莫名奇妙的错误,如认证失败。很多人可能会认为IIS已经Crash了,实际上是由于Session的数量超过了Oracle允许的数量。
当然我们还必须将由于程序异常处理不当等造成的坏死的Session的可能数量计算在内。为了保证系统的运行问题,应该在上文所说的计算方法上加一个保险值,如350。
oracle的进程数应该设置多少是合理的
尽量多一点。一般设置300左右oracle进程怎么设置,可以随时修改oracle进程怎么设置的。
oracle进程怎么设置的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于oracle进程数设置多少、oracle进程怎么设置的信息别忘了在本站进行查找喔。