Oracle 中session和processes的初始设置

摘要:
Processes参数指定了Instance在OS层面所能同时运行的进程数。基于和sessions设定同样的考虑,我们在设定processes时,也应考虑我们可能会有多少个同时连接到数据库的并发用户,并加上后台进程的进程数。当Oracle需要启动新的process而又已经达到processes参数时,就会报错:00020,00000,"maximumnumberofprocesses(%s)exceeded"//*Cause:Allprocessstateobjectsareinuse.//*Action:IncreasethevalueofthePROCESSESinitializationparameter.1).通过SQLPlus修改Oracle的sessions和processes的关系是sessions=1.1*processes+5使用sys,以sysdba权限登录:SQL˃showparameterprocesses;NAMETYPEVALUE--------------------------------------------------------------------------------------aq_tm_processesinteger1db_writer_processesinteger1job_queue_processesinteger10log_archive_max_processesinteger1processesinteger150SQL˃altersystemsetprocesses=400scope=spfile;系统已更改。TotalSystemGlobalArea171966464bytesFixedSize787988bytesVariableSize145488364bytesDatabaseBuffers25165824bytesRedoBuffers524288bytes数据库装载完毕。
http://blog.163.com/succu/blog/static/193917174201252911727149/
1.sessions
在初始化参数所设定的限制中,最为人所知的估计就是sessions和processes
Sessions 参数指定了一个 Instance中能够同时存在的sessions数量,或者说,就是能同时登陆到数据库的并发用户数。通常,我们设定这个数字时需要考虑我们可能会有多少个同时连接到数据库的并发用户,并加上后台进程的进程数,最后乘与1.1.
比如说,估计系统中可能会同时有100个用户连接到数据库,那么,你的session最少应该为
(100 + 10 ) * 1.1 = 121
当数据库连接的并发用户已经达到这个值时,又有新session连进来,就会报错
00018, 00000, "maximum number of sessions exceeded"
// *Cause: All session state objects are in use.
// *Action: Increase the value of the SESSIONS initialization parameter.
2.Processes
和Sessions是类似的是processes这个参数。
Processes参数指定了Instance在OS层面所能同时运行的进程数。基于和sessions设定同样的考虑,我们在设定processes时,也应考虑我们可能会有多少个同时连接到数据库的并发用户,并加上后台进程的进程数。
当然,在MTS(shared server)的配置下,这个值的确定会有所不同。应该是普通后台进程+最大共享服务器的进程数(max_shared_servers) + 最大Dispatcher进程数(max_dispatchers).
另外,由于在window平台中,Oracle是以单一一个进程的形式存在,Processes参数变成了限制Oracle进程里的线程数了。
当Oracle需要启动新的process而又已经达到processes参数时,就会报错:
00020, 00000, "maximum number ofprocesses(%s) exceeded"
// *Cause: All process state objects are in use.
// *Action: Increase the value of thePROCESSESinitialization parameter.
1).通过SQLPlus修改
Oracle的sessions和processes的关系是
sessions=1.1*processes+ 5
使用sys,以sysdba权限登录:
SQL> show parameterprocesses;
NAME TYPE VALUE
------------------------------------ ----------- ---------------------------------------
aq_tm_processesinteger 1
db_writer_processesinteger 1
job_queue_processesinteger 10
log_archive_max_processesinteger 1
processesinteger 150
SQL> alter system setprocesses=400 scope = spfile;
系统已更改。
SQL> show parameterprocesses;
NAME TYPE VALUE
------------------------------------ ----------- -----------------------------------------
aq_tm_processesinteger 1
db_writer_processesinteger 1
job_queue_processesinteger 10
log_archive_max_processesinteger 1
processesinteger 150
SQL> create pfile from spfile;
文件已创建。
重启数据库,OK!
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE例程已经关闭。
SQL> startup
ORACLE例程已经启动。
Total System Global Area 171966464 bytes
Fixed Size 787988 bytes
Variable Size 145488364 bytes
Database Buffers 25165824 bytes
Redo Buffers 524288 bytes
数据库装载完毕。
数据库已经打开。
SQL> show parameterprocesses;
NAME TYPE VALUE
------------------------------------ ----------- ----------------
aq_tm_processes integer 0
db_writer_processes integer 1
gcs_server_processes integer 0
job_queue_processes integer 10
log_archive_max_processes integer 2
processes integer 400
SQL> show parameter session;
NAME TYPE VALUE
------------------------------------ ----------- ----------------
java_max_sessionspace_size integer 0
java_soft_sessionspace_limit integer 0
license_max_sessions integer 0
license_sessions_warning integer 0
logmnr_max_persistent_sessions integer 1
session_cached_cursors integer 0
session_max_open_files integer 10
sessions integer 445
shared_server_sessions integer
SQL>
【注:sessions是个派生值,由processes的值决定,公式sessions=1.1*process + 5】

免责声明:文章转载自《Oracle 中session和processes的初始设置》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇swap分区和内存Shell脚本1下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

RMAN备份与恢复深入解<一>

一数据库版本 SQL> select *from v$version; BANNER ---------------------------------------------------------------- OracleDatabase 10g Enterprise Edition Release 10.2.0.4.0 - 64bi PL/S...

Centos6.5安装Oracle11.2.0.4 RAC(完整版)

环境参数:Linux:Centos6.5 Grid和Oracle:11.2.0.4 一、环境配置 1.配置Node1和Node2两个节点之间的网卡 Node1: [sql]view plaincopy [root@rac1 network-scripts]# cat ifcfg-eth0   DEVICE=eth0   HWADDR=08:00:2...

关于MYSQL字符集问题(一)

  MySQL的字符集支持(Character Set Support)有两个方面:     字符集(Character set)和排序方式(Collation)。   对于字符集的支持细化到四个层次:     服务器(server),数据库(database),数据表(table)和连接(connection)。MySQL默认字符集   MySQL对于...

WebSocket 详解教程

目录   概述  WebSocket 客户端  WebSocket 服务端  WebSocket 代理  FAQ  完整示例  资料 概述 WebSocket 是什么? WebSocket 是一种网络通信协议。RFC6455 定义了它的通信标准。 WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。 为什么...

oracle 12c 警告日志位置

Oracle 12c环境下查询,alert日志并不在bdump目录下,看到网上和书上都写着可以通过初始化参数background_dump_dest来查看alter日志路径,还说警告日志文件的缺省位置是%Oracle_base%adminorcldump,其实12c中,上述路径都不是真正存放警告日志的路径。真实路径是要需要通过v$diag_info视图来查...

JDBC连接数据库及其执行操作

作者:Alvin 功能:数据库连接与实现增删改查 时间:2019年3月4日08点33分 参考文章:https://www.2cto.com/database/201805/743741.html 一、总结 数据库加载分为以下几个步骤 第一步、加载驱动 MySQL的加载方式 Class.forName("com.mysql.jdbc.Driver"); O...