`

Oracle并发连接数的参数设置

 
阅读更多

提示相关的错误
    OERR: ORA-12519 TNS:no appropriate service handler found
    客户端连接间歇性失败,报错ORA-12519
    Cause: the listener could not find any available service handlers that are
    appropriate for the client connection.
    Action: run "lsnrctl services" to ensure that the instance(s) have registered
    with the listener, and are accepting connections. 检查lsnrctl service ,instance已经注册,
    状态显示ready时,可以连接。
    When the listener believes the current number of connections has reached maximum load,
    it may set the state of the service handler for an instance to "blocked" and begin refusing
    incoming client connections with either of the following errors: ora-12519 or ora-12516
    采用服务动态注册的方式,由PMON 通过SERVICE_UPDATE 来得到目前连接情况,但SERVICE_UPDATE 有时间间隔,
    所以,listener显示的连接数和当前实际的连接数可能不同。
    查询解决方法:
    查看一下数据库现有的进程数,是否已经达到参数processes的大小。
    1.select count(*) from v$process;                         取得数据库目前的进程数。
    2.select value from v$parameter where name = 'processes'; 取得进程数的上限。
    3.如已达到上限,修改initSID.ora中的processes的大小。
    4.重新启动数据库到nomount状态下,执行create spfile from pfile; 并startup open。
    查询数据库自启动以来最大的并发数量
    修改最大连接数:
    alter system set processes = 300 scope = spfile;
    重启数据库:
    shutdown immediate;
    startup;
    --查看当前有哪些用户正在使用数据
    SELECT osuser, a.username,cpu_time/executions/1000000||'s', sql_fulltext,machine
    from v$session a, v$sqlarea b
    where a.sql_address =b.address order by cpu_time/executions desc;
    2
    有的时候我们需要调整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<sid>.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
    tyle="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体">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
    From:http://gerrywxy.spaces.live.com/blog/cns!10FE174F8521A5F!206.entry
    修改oracle 150 的最大连接数
    使用sys,以sysdba权限登录:
    c:"sqlplus /nolog
    SQL>conn / as 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=300 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!

分享到:
评论

相关推荐

    Oracle11g从入门到精通2

    9.4.2 存储参数的正确设置 9.4.3 定期回收无用表空间 9.4.4 归档历史表空间 第10章 备份与恢复机制 10.1 备份与恢复的方法 10.2 使用数据泵进行逻辑备份和恢复 10.2.1 使用expdp导出数据 10.2.2 使用...

    oracle 11g安装配置

    增大用户oracle的进程数、文件数限制 [root@dbserver ~]# vi /etc/sysctl.conf …… fs.aio-max-nr = 1048576 限制并发未完成的请求,应该设置避免I/O子系统故障 fs.file-max = 6815744 文件句柄设置代表linux系统中...

    Oracle 主要配置文件介绍

    保护数据考虑的 尤其在 CAMS 双机应用模式下 能够保证数据的一致性 具体的修改操作可参考 Linux与 Oracle 安装手册 初始化参数文件是一个包含实例配置参数的文本文件 这些参数被设置为特 定的值 用于...

    ORACLE9i_优化设计与系统调整

    §2.4.2.2 参数设置与初始化文件: 54 §2.4.2.3 在控制实用程序运行中设置跟踪参数 56 §2.4.2.4 服务器/客户包跟踪 57 §2.4.2.5 评估NET跟踪信息 58 §2.4.2.6 使用跟踪助理(Trace Assistant)检查跟踪文件 60 第...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    说明:用于连接到oracle数据库,也可实现用户的切换 用法:conn 用户名/密码 [as sysdba/sysoper] 注意:当用特权用户连接时,必须带上sysdba或sysoper 例子: 3. 断开连接(disc) 说明:断开与当前数据库的连接 ...

    Oracle11g从入门到精通

    9.4.2 存储参数的正确设置 9.4.3 定期回收无用表空间 9.4.4 归档历史表空间 第10章 备份与恢复机制 10.1 备份与恢复的方法 10.2 使用数据泵进行逻辑备份和恢复 10.2.1 使用expdp导出数据 10.2.2 使用impdp...

    Oracle.11g.从入门到精通 (2/2)

    9.4.2 存储参数的正确设置 9.4.3 定期回收无用表空间 9.4.4 归档历史表空间 第10章 备份与恢复机制 10.1 备份与恢复的方法 10.2 使用数据泵进行逻辑备份和恢复 10.2.1 使用expdp导出数据 10.2.2 使用impdp导入数据 ...

    Oracle.11g.从入门到精通 (1/2)

    9.4.2 存储参数的正确设置 9.4.3 定期回收无用表空间 9.4.4 归档历史表空间 第10章 备份与恢复机制 10.1 备份与恢复的方法 10.2 使用数据泵进行逻辑备份和恢复 10.2.1 使用expdp导出数据 10.2.2 使用impdp导入数据 ...

    OCPOCA认证考试指南全册:Oracle Database 11g(1Z0-051,1Z0-052,1Z0-053)--详细书签版(第2/2部分)

    3.1 设置数据库初始化参数 82 3.1.1 静态参数和动态参数以及初始化参数文件 82 3.1.2 基本参数 84 3.2 描述启动和关闭数据库时的多个阶段 88 3.2.1 Database Control的启动和连接 88 3.2.2 启动数据库侦听器 ...

    OCPOCA认证考试指南全册:Oracle Database 11g(1Z0-051,1Z0-052,1Z0-053)--详细书签版(第1/2部分)

    3.1 设置数据库初始化参数 82 3.1.1 静态参数和动态参数以及初始化参数文件 82 3.1.2 基本参数 84 3.2 描述启动和关闭数据库时的多个阶段 88 3.2.1 Database Control的启动和连接 88 3.2.2 启动数据库侦听器 ...

    Loadrunner报错日志

    需要监控weblogic的连接等待情况,此时需要增加acceptBacklog,每次增加25%来提高看是否解决,同时还需要增加连接池和调整执行线程数,(连接池数*Statement Cache Size)的值应该小于等于oracle数据库连接数最大值...

    mysql数据库my.cnf配置文件

    # 假定系统有200个并发连接,则需将此参数设置为200*N(N为每个连接所需的文件描述符数目); # 当把table_open_cache设置为很大时,如果系统处理不了那么多文件描述符,那么就会出现客户端失效,连接不上 max_allowed...

    citrix 中文管理操作手册

    限制与服务器场的并发连接 108 共享会话和连接 108 限制应用程序实例 109 为已发布应用程序或桌面指定限制 110 记录连接拒绝事件 110 启用记录连接拒绝事件 111 使用终端服务配置控制连接 111 使用 TS 配置控制...

    Perl 实例精解(第三版).pdf

    14.1.4 连接数组 14.1.5 连接散列 14.2 DBM文件 14.2.1 创建并赋给DBM文件数据 14.2.2 从DBM文件检索数据 14.2.3 从DBM文件中删除项 第15章 Perl数据库编程 15.1 本章概述 15.2 Perl数据库编程...

    MySQL管理之道 性能调优、高可用与监控.part2.rar

    3.3.1 连接数过多导致程序连接报错的原因 79 3.3.2 记录子查询引起的宕机 84 3.3.3 诊断事务量突高的原因 87 3.3.4 谨慎设置binlog_format=mixed 90 3.3.5 未设置swap分区导致内存耗尽,主机死机 94 3.3.6 ...

    数据库项目组日常运维及应急故障处理手册.docx

    对于Data Pump Export,PARALLEL参数必须要小于等于dump files数 对于Data Pump Import,PARALLEL不要比dump文件数大很多,可以大一些。这个参数也指定了导入时创建索引的并行度。 PARALLEL只允许在企业版使用。 ...

    java面试题

    77.3. 修改tomcat连接数 88 77.4. 禁止列出目录下的文件 88 77.5. 设置session失效的时间 89 77.6. 设置MIME响应类型 89 77.7. 设置tomcat的默认访问页面 89 77.8. 设置tomcat管理用户 89 77.9. 附录 90 78. ...

    数据库审计系统需求说明.docx

    支持按照时间曲线统计流量、在线用户数、并发会话、 DDL操作数、DML操作数、 执行量取多的SQL语句等报表。 11 日志数据管 理 审计数据保留策略应至少满足天数和百分比两个控制参数,且支持 web界面可配 置,且恢复...

    AppFramework_V1.0

    实体类属性数目越多、返回记录数越多,用到反射的次数也越多,查询性能降低就越明显。 &lt;br&gt;第五,不能方便地限定查询语句返回的字段。ADO.Net执行查询时,select语句里设置了几个字段就返回几个字段到DataTable。...

Global site tag (gtag.js) - Google Analytics