Oracle的process和Session修改介绍


 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】

  2).通过修改oracle配置文件进行修改

  修改SPFILEORCL.ORA文件中的processes的值。8.1.5中是init.ora文件,在9i中修改init.ora文件是无效的,这个文件由于是一个二进制的文件,不能直接使用notepad此类的编辑器打开。

  否则会报错误ORA-27101 Shared memory realm does not exist。使用UltraEdit或者EditPlus之类的可以编辑二进制文件的编辑器打开此文件(直接编辑二进制文件),然后在Windows服务中重新启动Oracle服务器即可。

  3).通过Oracle Enterprise Manager Console在图形化管理器中修改

  a.以系统管理员的身份登入

  b.进入数据库的例程-配置-一般信息-所有初始化参数

  c.修改processes的值

  d.Sessions的值由公式sessions=1.1*process + 5派生得到


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3