西湖附近的美食街:Oracle关于进程会话的查询 - 若水上善的日志 - 网易博客

来源:百度文库 编辑:九乡新闻网 时间:2024/05/02 13:52:44

Oracle关于进程会话的查询

Oracle之道 2010-12-09 14:31:10 阅读78 评论0   字号: 订阅

1、查看当前多少会话

SQL> select count(*) from v$session;  

  COUNT(*)
----------
        26

2、查看当前多少进程
SQL> select count(*) from v$process;     

  COUNT(*)
----------
        27

3、查看允许进程数
SQL> show parameter process

NAME                                       TYPE        VALUE
------------------------------------ -----------     - -----------------------------
aq_tm_processes                      integer     0
db_writer_processes                 integer     1
gcs_server_processes              integer     0
global_txn_processes               integer     1
job_queue_processes               integer     1000
log_archive_max_processes     integer     4
processes                                 integer     150


4、查看允许会话数
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
session_cached_cursors            integer     50
session_max_open_files             integer     10
sessions                                      integer     170
shared_server_sessions            integer

5、修改会话和进程
SQL> alter system set processes=200 SCOPE=spfile;

System altered.


SQL> alter system set sessions=200 SCOPE=spfile; 

System altered.


6、检查发现没有修改成功

SQL> show parameter process

NAME                                       TYPE        VALUE
------------------------------------ -----------     - -----------------------------
aq_tm_processes                      integer     0
db_writer_processes                 integer     1
gcs_server_processes              integer     0
global_txn_processes               integer     1
job_queue_processes               integer     1000
log_archive_max_processes     integer     4
processes                                 integer     150

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
session_cached_cursors            integer     50
session_max_open_files             integer     10
sessions                                      integer     170
shared_server_sessions            integer


 

7、重启数据库 再次检查

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.

Total System Global Area  422670336 bytes
Fixed Size                  1300352 bytes
Variable Size             331352192 bytes
Database Buffers           83886080 bytes
Redo Buffers                6131712 bytes
Database mounted.
Database opened.
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
session_cached_cursors               integer     50
session_max_open_files               integer     10
sessions                                       integer     225
shared_server_sessions               integer
SQL> show parameter process

NAME                                            TYPE        VALUE
------------------------------------ -----------        ------------------------------
aq_tm_processes                        integer     0
db_writer_processes                   integer     1
gcs_server_processes                 integer     0
global_txn_processes                  integer     1
job_queue_processes                 integer     1000
log_archive_max_processes       integer     4
processes                                   integer     200

这里我们发现,修改的session是200 为什么重启之后大了呢?下面有解释
ORACLE的连接数(sessions)与其参数文件中的进程数(process)有关,它们的关系如下:sessions=(1.1*process+5)

这里要注意,如果process增加后,数据库不能启动了,可能是由于UNIX系统参数限制了,它是核心参数semmns,这是UNIX系统的信号量参数。每个process会占用一个信号量。semmns调整后,需要重新启动UNIX操作系统,该参数才能生效.

 

有的时候我们需要调整oracle数据库的最大链接数,而这个链接数的调整是在oacle下的dbs目录下init.ora文件中调整的。

ORACLE的连接数(sessions)与其参数文件中的进程数(process)有关,它们的关系如下: sessions=(1.1*process+5)    

但是我们增加process数时,往往数据库不能启动了。这因为我们还漏调了一个unix系统参数:它是核心参数中的semmns,这是unix系统的信号量参数。每个process会占用一个信号量。semmns调整后,需要重新启动unix操作系统,参数才能生效。不过它的大小会受制于硬件的内存或ORACLE SGA。范围可从200——2000不等。   

但是,Processes的修改不仅应该调整init.ora文件中的参数,而且应该调整OS的内核参数,象AIX,HPUX,Solaris,SCO,UNIXWare都是这样,OS的调整是需要重新启动的,而且这个参数的设置不能简单按照多少个终端要连到这个服务器上而定,最关键是考虑会有多少同时连上的session(在使用一些共享连接的中间件时,一般就不需要太大),当然还要考虑一些Oracle的后台进程,还有一些系统维护工作需要多一些连接等。   

我的atmp大前置机器上对oracle调整的时候,其使用的是unixware操作系统,在做链接数调整的时候,要先对核心参数进行调整。
   
核心主要相关的参数的调整如下:
SHMMAX    1000000000
SHMMIN    1
SHMMNI    200
SHMSEG    15
SEMMNI    1000
SEMMSL    300
SEMMNS    230
SEMOPM    20

其中semmni,semmns,semmsl要加大至少要比processes大18 ;
SEMMNI(10,10000;150):指定在核心中信号识别的数量。这是可以在任意给定时间被激活的唯一信号设置数量。缺省值是150。最大值由系统自动调整产生。
SEMMSL(25,300;150):指定每个信号识别中信号量的最大值。缺省值是25。
SEMMNS 除最大db外的所有db 的PROCESSES之和+2*最大db的PROCESSES+10*实例数。如3个实例进程数分别为100、100、200,则=(100+100)+2*200+10*3=630
SEMOPM(10,20;10):指定在每个系统调用semop中能够被执行的信号操作量的最大值。 缺省值是10。
SHMMAX(131072,1073741824;524288):指定了共享内存部分大小的最大值。等于0.5×物理内存字节数
SHMMNI(10,1000;100):指定了系统范围内共享内存标识的最大值。
SHMSEG(6,15;6):指定了与每个进程相关连的共享内存块(或标识)的数量。缺省值是6。与每个进程相关连的共享内存块的最大值与进程拥有的未使用空间有关。因此,尽管一个进程拥有少于SHMSEG数值的共享内存块,它也有可能因为其有限的空间而不能与其它进程相联系。
init.ora中调整为:
processes = 50                       # SMALL 
#processes = 100                     # MEDIUM
#processes = 200                     # LARGE 
其中的processes就是要调整的最大连接数的数目,我们只要调整这个参数就可以了,其它的参数可以保持默认值。

Oracle关于进程会话的查询 - 若水上善的日志 - 网易博客 eclipse如何连接oracle数据库? - Lee的日志 - 网易博客 范文在线查询大全 - 香儿的日志 - 网易博客 生日密码查询表 - 博啦的日志 - 网易博客 各种查询服务 - 漫话人生的日志 - 网易博客 全国商务酒店查询大全 - 香儿的日志 - 网易博客 品牌酒店 查询大全 - 香儿的日志 - 网易博客 范文在线查询大全 - 香儿的日志 - 网易博客 国内大学查询大全 - 香儿的日志 - 网易博客 在线查询导航 - 香儿的日志 - 网易博客 万能查询 - 琳琳的日志 - 网易博客 百科查询实用工具(原创) - 发呆的日志 - 网易博客 全国景点在线查询 - 香儿的日志 - 网易博客 全国列车时刻查询大全 - 香儿的日志 - 网易博客 全国天气预报查询 - 博啦的日志 - 网易博客 【引用】生男生女查询 - 小馨的日志 - 网易博客 Oracle 10g在AIX上的安装 - 景芳9楼的日志 - 网易博客sdfsdf 系列之一:ORACLE ERP 的前世今生 - season的日志 - 网易博客 Oracle主要的配置文件解释 - 香烟爱火柴的日志 - 网易博客 [轉] Oracle面试过程中常见的二十个问题 - suny628的日志 - 网易博客 oracle中修改密码的方法(转) - 平凡的日志 - 网易博客 【oracle转载】10g初始化参数 - bkeep的日志 - 网易博客 系列之五:ORACLE EBS 系统主数据管理(J) - season的日志 - 网易博客 Oracle启动例程: STARTUP参数说明 - informix的日志 - 网易博客