修改oracle的processes和session

[color=blue]1.process 和session的概念:
process:这个参数限制了能够连接到SGA的操作系统进程数(或者是Windows 系统中的线程数),这个总数必须足够大,从而能够适用于后台进程与所有的专用服务器进程,此外,共享服务器进程与调度进程的数目也被计算在内.此外,共享服务器进程与调度进程的数目也被计算在内.因此,在专用服务器环境中,这是一种限制并发连接数的方法.

疑点一:能够连接到SGA的操作系统进程数,这种进程包括哪些进程? Windows系统中的线程数,是指所有与oracle相关的进程的线程数之和?

疑点二:在共享服务器和专用服务器环境中,算法有什么不同?

哪位兄弟了解比较透彻,请指点一下,拜谢!

Sessions:是被应用于oracle层次而非操作系统层次.在不考虑通过专用服务器或共享服务器进行登录的情况下,这个参数限制了对指定实例的并发登陆数.

疑问:在C/架构中,是指Oracle用户登陆建立的会话数?在B/S架构中又怎么算呢?

2,尽管概念不是很明白,遇到这种问题还得干活先:

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
SQL>


【注:sessions是个派生值,由processes的值决定,公式sessions=1.1*process + 5】[/color]
### 修改 Oracle PDB 数据库中会话的大小限制 在 Oracle 数据库中,会话(session)的内存大小或限制可以通过调整 `PROCESSES` `SESSIONS` 参数来实现。这些参数控制了数据库实例可以支持的最大并发连接数会话数。对于 PDB(可插拔数据库),修改这些参数需要通过 CDB(容器数据库)进行配置,并确保更改永久生效。 以下是具体的配置方法: 1. **调整 `PROCESSES` 参数** `PROCESSES` 参数定义了数据库实例能够支持的最大进程数。每个用户会话都需要一个进程,因此该参数直接影响会话数量的上限。可以通过以下 SQL 命令修改 `PROCESSES` 参数[^2]: ```sql ALTER SYSTEM SET PROCESSES=3000 SCOPE=SPFILE; ``` 这里的值 `3000` 是示例,可以根据实际需求调整。 2. **调整 `SESSIONS` 参数** `SESSIONS` 参数定义了数据库实例能够支持的最大会话数。通常情况下,`SESSIONS` 的值应略高于 `PROCESSES` 的值。可以通过以下 SQL 命令修改 `SESSIONS` 参数[^2]: ```sql ALTER SYSTEM SET SESSIONS=5000 SCOPE=SPFILE; ``` 同样,这里的值 `5000` 是示例,具体数值需根据实际需求设定。 3. **重启数据库以使更改生效** 修改上述参数后,需要重启数据库以使更改永久生效。可以使用以下命令重启数据库: ```bash shutdown immediate; startup; ``` 4. **验证更改是否生效** 可以通过查询视图 `V$PARAMETER` 来验证参数是否已成功修改: ```sql SELECT NAME, VALUE FROM V$PARAMETER WHERE NAME IN ('processes', 'sessions'); ``` 5. **针对 PDB 的特殊处理** 在多租户环境中,PDB 的资源限制可以通过资源管理器(Resource Manager)进一步细化。如果需要对特定 PDB 的会话数进行限制,可以创建或修改资源计划(Resource Plan)[^1]。例如: ```sql BEGIN DBMS_RESOURCE_MANAGER.CREATE_PLAN( PLAN => 'PDB_SESSION_LIMIT', COMMENT => 'Limit sessions for specific PDB' ); END; / ``` ### 注意事项 - 修改 `PROCESSES` `SESSIONS` 参数时,必须确保有足够的系统资源(如内存、CPU)来支持增加的会话数。 - 如果仅修改 PDB 的会话限制而不调整 CDB 的全局参数,可能会导致冲突或限制无法生效。 - 在生产环境中进行此类更改前,建议先在测试环境中验证其影响。 ### 示例代码 以下是一个完整的示例,展示如何修改 PDB 的会话限制并验证结果: ```sql -- 修改 PROCESES 参数 ALTER SYSTEM SET PROCESSES=3000 SCOPE=SPFILE; -- 修改 SESSIONS 参数 ALTER SYSTEM SET SESSIONS=5000 SCOPE=SPFILE; -- 重启数据库 shutdown immediate; startup; -- 验证参数是否生效 SELECT NAME, VALUE FROM V$PARAMETER WHERE NAME IN ('processes', 'sessions'); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值