- 浏览: 33052 次
- 性别:
- 来自: 西安
文章分类
最新评论
【摘自jslfl的微博,感谢大神的总结,很有帮助所以收藏了】
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 of processes (%s) exceeded"
// *Cause: All process state objects are in use.
// *Action: Increase the value of the PROCESSES initialization parameter.
1).通过SQLPlus修改
Oracle的sessions和processes的关系是
sessions=1.1*processes + 5
使用sys,以sysdba权限登录:
SQL> show parameter processes;
NAME TYPE VALUE
------------------------------------ ----------- ---------------------------------------
aq_tm_processes integer 1
db_writer_processes integer 1
job_queue_processes integer 10
log_archive_max_processes integer 1
processes integer 150
SQL> alter system set processes=400 scope = spfile;
系统已更改。
SQL> show parameter processes;
NAME TYPE VALUE
------------------------------------ ----------- -----------------------------------------
aq_tm_processes integer 1
db_writer_processes integer 1
job_queue_processes integer 10
log_archive_max_processes integer 1
processes integer 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 parameter processes;
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
注:sessions是个派生值,由processes的值决定,公式sessions=1.1*process + 5
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 of processes (%s) exceeded"
// *Cause: All process state objects are in use.
// *Action: Increase the value of the PROCESSES initialization parameter.
1).通过SQLPlus修改
Oracle的sessions和processes的关系是
sessions=1.1*processes + 5
使用sys,以sysdba权限登录:
SQL> show parameter processes;
NAME TYPE VALUE
------------------------------------ ----------- ---------------------------------------
aq_tm_processes integer 1
db_writer_processes integer 1
job_queue_processes integer 10
log_archive_max_processes integer 1
processes integer 150
SQL> alter system set processes=400 scope = spfile;
系统已更改。
SQL> show parameter processes;
NAME TYPE VALUE
------------------------------------ ----------- -----------------------------------------
aq_tm_processes integer 1
db_writer_processes integer 1
job_queue_processes integer 10
log_archive_max_processes integer 1
processes integer 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 parameter processes;
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
注:sessions是个派生值,由processes的值决定,公式sessions=1.1*process + 5
发表评论
-
java.sql.SQLException: 无效的列索引
2016-01-04 11:44 1570java.sql.SQLException: 无效的列索引 “ ... -
32位hadoop编译实现与64位操作系统兼容
2015-12-08 20:47 1243没有安装过集群的朋友,可能没有发现,hadoop版本没有64位 ... -
shell中的tput命令讲解
2015-12-04 15:05 2302什么是 tput? tput 命令将通过 terminfo ... -
linux的bc计算器
2015-11-23 13:06 1355bc 命令: bc 命令是用于命令行计算器。 它类似 ... -
pctfree和pctused
2015-11-19 11:19 815一、建立表时候,注意PCTFREE参数的作用 P ... -
物化视图
2015-11-19 10:52 477一、准备条件以及备注 假设双方数据库都是ORAC ... -
oracle的高水位问题处理方式
2015-11-19 10:13 4861最近遇到Oracle 表中数据量很大查询和更新比较慢 需要删除 ... -
set feedback
2015-11-19 09:27 6611。set feedback 有三种方式: set feedb ... -
hive 的CLI使用手册
2015-11-18 15:18 1760写的不够全,后面有时间再补吧<个人汉语水平有限,语言组织 ... -
面试经验总结
2015-11-06 21:53 673今天是面试的第一天,从西安来北京这么久,感觉今天的挫败感 ... -
MapReduce 从作业、任务(task)、管理员角度调优
2015-10-14 00:53 1002【摘自hyj博主】 Hadoop为 ... -
hadoop作业的优化常用手段
2015-10-13 23:38 814在mapreduce应用机制全部完成后,常面临一个常见问题“作 ... -
oracle中修改有数据的表的字段类型
2015-10-10 02:00 5998【修改时会涉及到数据类型转换,小心】 在修改列的长度时候,只能 ... -
ORACLE并行度
2015-10-10 00:50 1760在索引create 和rebuild的时候,在CPU 允许的情 ...
相关推荐
本文将详细介绍如何修改与监控`Process`, `Session`, `SGA`, 和 `PGA` 相关的初始化参数,并提供具体的SQL命令。 #### 1. Process和Session参数 ##### 查看Process和Session参数 首先,我们需要查看当前系统中`...
本文将从查询、设定以及二者之间的关系等方面详细介绍如何修改Oracle的`process`与`session`初始化参数。 #### 一、查询Process与Session 首先,我们需要了解当前系统中的`process`和`session`的数量,这可以通过...
### Oracle中Session与Processes参数的设置详解 #### 一、引言 在Oracle数据库管理过程中,合理设置系统参数对于确保数据库稳定运行至关重要。其中,“session”与“processes”两个参数直接影响到数据库能够同时...
- 接着,配置初始化文件(如`initmyora8.ora`)中的SNP参数`job_queue_processes`(SNP进程数量)和`job_queue_interval`(唤醒进程的间隔时间)。 3. **配置参数**: - `job_queue_processes`:设定SNP进程的...
此命令显示了与 session 相关的初始化参数设置。这些参数对于理解数据库如何处理会话非常重要,例如最大 session 数量等。 4. **查看 processes 参数:** ```sql SQL> show parameter processes; ``` 查看与 ...
2. 配置启动参数:在初始化文件`init<sid>.ora`(如`initmyora8.ora`)中设置`job_queue_processes`和`job_queue_interval`参数。前者定义SNP进程的数量,后者设置SNP唤醒间隔。根据实际任务需求调整这两个值,然后...
2. 初始化参数设置:需要根据服务器的硬件条件和数据库实际的运行情况,逐步调整参数的值,以确保数据库的性能和效率。 3. 将数据库设置成归档模式:需要将数据库设置成归档模式,并开启最小附加日志,以确保数据库...
3. 修改初始化参数`processes`,确保其值符合系统需求。例如,通过`alter system set processes = <新值> scope=spfile`命令来调整,其中`<新值>`是你希望设置的新进程数。 4. 如果连接数达到上限,关闭一些不必要的...
在Oracle中,这个参数通常由`PROCESSES`初始化参数控制。你可以通过SQL查询来获取这个值: ```sql SELECT value FROM v$parameter WHERE name = 'processes'; ``` 执行上述SQL语句后,返回的结果就是当前数据库设置...
- `show parameters`:显示数据库的初始化参数。 - `session`:过滤条件,只显示与 session 相关的参数。 **示例输出:** ```plaintext NAME TYPE VALUE ------------------------------------ ----------- -------...
这里需要注意的是,`scope=spfile`表示更改将保存到初始化参数文件(SPFILE)中,使得重启数据库后新设置仍然有效。然而,即使执行了上述命令,立即使用`show parameter`查看,参数的值可能不会立即更新,因为更改...
每个Oracle实例都有一个预设的最大进程数限制,这个限制在初始化参数文件(init.ora或spfile)中的`PROCESSES`参数中定义。当这个值被超过时,新的连接尝试就会失败,并抛出"ORA-00020"错误。 要解决这个问题,我们...
修改完最大进程数后,可能需要创建一个新的初始化参数文件(PFILE)以便在不重启数据库的情况下查看更改。这可以通过`CREATE PFILE FROM SPFILE`命令实现。创建PFILE后,可以编辑这个文本文件,然后使用`ALTER ...
`可以查看与进程相关的参数设置;通过`SELECT * FROM v$license;`可以查看数据库的许可信息,包括可用的会话数量。 ### 5. Oracle归档日志模式设置 文档提到如何将Oracle数据库设置为归档日志模式,这通常是通过...
- **启动参数检查**:如果发现启动参数不正确,需检查初始化参数文件(`init.ora`或`spfile`)并调整。 - **重做日志切换问题**:频繁的重做日志切换问题可能需要增加重做日志组或提升检查点或归档操作效率。 - **...
1. **查看初始化参数:** 使用`show parameter`命令可以查看与并发相关的系统参数。例如,执行`show parameter processes;`命令,可以显示`PROCESSES`参数的值,该参数定义了数据库实例允许的最大并发进程数,其中...
`:修改最大连接数并保存至初始化参数文件,需重启数据库; 5. `SELECT * FROM all_users`:查看所有用户。 监控Oracle警告日志文件(alert_SID.log)也是日常维护的一部分。日志会记录数据库的启动、关闭、参数...
- **PFILE**:这是一个文本文件,也可以用来设置数据库的初始化参数。通过 `create pfile from spfile;` 命令可以从SPFILE创建一个PFILE,这样就可以手动编辑这个文件来修改参数。 通过理解这些基本概念和命令,你...