processes与sessions参数的学习

来源:互联网 发布:mysql可视化工具导入 编辑:程序博客网 时间:2024/05/17 01:48

今天服务器突然遇到了ORA-12518的错误,如下:

 

ORA-12518: TNS:listener could not hand off client connection
Cause: The process of handing off a client connection to another process failed.
Action: Turn on listener tracing and re-execute the operation. Verify that the listener and database instance are properly configured for direct handoff. If problem persists, call Oracle Support.

 

    说是监听程序无法分发客户机连接。怎么回事?一开始以为是session设置太小了,一看,session有335,在session browser中看到才80多个session,没有超。为什么呢?回来又查了一下,原来还有一个参数processes,这个默认是150的,在专用服务模式的下服务器可以通过增加processes的值来解决这个问题,不过,因为这个参数是静态的,修改后不是马上生效的,要重启服务器才能生效。怎么修改processes这个参数呢?

 

  如下图:

 

这个做完后之后,重启数据库,新的参数就生效了。

 

对于sessions:

SQL> alter system set sessions=400 scope=spfile;

System altered.

SLQ>create pfile='/backup/mypfile.ora.20101211' from spfile;   //备份新的参数文件

FileCreated.

 

注意,上面的操作都没的对原来参数作备分,正常来说,要修改数据的参数,最好是先把原来的参数作个备份,方法很简单(在linux下):

SQL>create pfile='/backup/mypfile.ora.20110901' from spfile;

File Created.

这样之后,在/backup目录下就有了一个名叫mypfile.ora.20110901的数据库原参数的备份文件。作了备份之后再进行alter system set 之类的修改参数的操作就放心多了,因为有后悔药吃了。

 

对于上面的scope=spfile,有如下解释(解释抄网上的)

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

解释start

SCOPE的设定取值有如下三种:
1. SCOPE = SPFILE
既适用于动态初始化参数的修改,也使用与静态初始化参数的修改。也是静态参数唯一可以使用的方式。
对参数的修改仅记录在服务器初始化参数文件中,更改将在下次DB启动时生效。
2. SCOPE = MEMORY
只适用于动态初始化参数的修改。静态参数不允许。
对参数的修改仅在内存上,立即生效,但重启后将不再有效,因为并没有写入到初始化参数文件。
DB重启后这个修改会丢失,参数复原为修改前的参数值。
3. SCOPE = BOTH
只适用于动态初始化参数的修改。静态参数不允许。
对参数的修改同时既写入到初始化参数文件,也在内存上修改,立即生效。

注意:
1. 在修改静态初始化参数时,我们只能指定scope=spfile;
2. 在修改动态初始化参数时,我们可以指定 deferred 关键字来对所做的修改延迟到新的session产生时生效

解释end

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 

 

对于processes与sessions的学习和oracle中专用服务与共享服务的学习,还要进一步学习,下次再写上来。

0 0
原创粉丝点击