Oralce中processes和sessions的设置关系

发布时间 2023-08-03 20:06:06作者: wangb172866

一,基本概念

Sessions:指定了一个Instance中能够同时存在的sessions数量,或者说,就是能同时登陆到数据库的并发用户数。通常,我们设定这个参数时需要考虑我们可能会有多少个同时连接到数据库的并发用户,并加上后台进程的进程数,最后乘以1.1。

processes:指定了InstanceOS层面所能同时运行的进程数。基于和sessions设定同样的考虑,我们在设定processes时,也应该考虑我们可能会有多少个同时连接到数据库的并发用户,并加上后台进程的进程数。

二,设置关系

跟oracle版本有关

11g  sessions=(1.1 * processes) + 5
18c  sessions=(1.5 * processes) + 22
19c sessions=(1.5 * PROCESSES) + 28

三,查看processes和sessions参数

登录Oracle服务,

su - orcale

以管理员用户登录,sqlplus / as sysdba

查看processes的参数:show parameter processes

查看sessions的参数:show parameter sessions

 

修改processes的参数:alter system set processes=2000 scope=spfile;

修改sessions的参数: alter system set sessions=3024 scope=spfile;

 

查一下是使用什么文件启动的:show parameter spfile

要动态修改一定要用spfile启动。如果现在是用pfile启动,可以这样切换成spfile启动:create spfile from pfile;

停止服务:shutdown immediate,启动服务:startup
 

四,启动服务遇到的问题(大问题,切记)

 

原因:ORACLE数据库启动实例时无法加载参数文件spfile初始化数据库导致,可能原因是spfile损坏或误删除导致。

ORACLE数据库启动实例时,通过参数文件中配置参数进行数据库初始化,参数文件的位置一般在$ORACLE_HOME/dbs目录下,9i之前参数文件是pfile,9i及以后参数文件是spfile,

spfileorcl.orcl是oracle启动时需要加载的参数文件,init.ora文件相当于参数文件的备份

 

(1)pfile文件:格式为init+ORACLE_SID.ora ,该文件是普通文本文件格式,如实例名为orcl,则pfile文件名为initorcl.ora

(2)spfile文件:格式为spfile+ORACLE_SID.ora ,该文本二进制文件格式,如实例名为orcl,则spfile文件名为spfileorcl.ora

 

启动oracle时,参数加载顺序:默认读取 $ORACLE_HOME/dbs/spfileorcl.ora,如果读取不到则会读取$ORACLE_HOME/dbs/initorcl.ora

 oracle为了防止spfile文件损坏丢失及误删除,会在/opt/oracle/admin/ORA19C/pfile目录下备份一份pfile文件。以上两个文件读取不到的时候会去备份文件读取

pfile启动:startup nomount pfile='/opt/oracle/admin/ORA19C/pfile/init.ora.10272019181139';

重新创建spfile的方法:1,使用pfile创建spfile:create spfile from pfile='/opt/oracle/admin/ORA19C/pfile/init.ora.10272019181139'

           2,使用MEMORY内存中参数创建spfile:create spfile from memory;

 

 

 

五、spfile和pfile互相创建:
1、通过spfile的配置生成pfile
格式:create pfile=全路径 from spfile=全路径;–不加路径默认在$ORACLE_HOME/dbs下
例:create pfile=’/home/oracle/initorcl.ora.20220304’ from spfile;

2、通过pfile的配置生成spfile
格式:create spfile=全路径 from pfile=全路径; --不加路径默认在$ORACLE_HOME/dbs下
例:create spfile from pfile='/u01/app/oracle/admin/orcl/pfile/init.ora.0172022233121';

3、通过内存创建spfile和pfile
create pfile from memory;–默认创建$ORACLE_HOME/dbs下initorcl.ora,pfile后加路径相当于备份到路径目录下

create spfile from memory;–默认创建$ORACLE_HOME/dbs下spfileorcl.ora,spfile后加路径相当于备份到路径目录下