zoukankan      html  css  js  c++  java
  • Oracle会话及连接数优化

    一、改动Oracle会话及最大连接数

    1、查看最大连接数

    SQL> show parameter processes;

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

    2、改动最大连接数

    SQL> alter system set processes=500 scope=spfile;

      系统已更改。

    3、查看最大会话数

    SQL> show parameters sessions;

    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
    sessions                             integer     264
    shared_server_sessions               integer

    4、改动最大会话数

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

      系统已更改。


    5、连接数和会话数计算关系

           sessions = 1.1 * process + 5

        说明:连接数和会话数參数改动,Oracle必须重新启动

    二、经常使用会话及连接数查询方法

    1、查询数据库最大连接数

    SQL> show parameter processes;

    或者

    SQL>select value from v$parameter where name = 'processes';

    2、改动数据库最大连接数(默认150)

    SQL> alter system set processes=500 scope=spfile;

    3、查询数据库当前连接数

    SQL> select count(*) from v$process;
    4、查看数据库最大会话数

    SQL> show parameters sessions;

    或者

    SQL> select value from v$parameter where name = 'sessions';

    5、改动数据库最大会话数(默认248)

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

    6、查看当前会话数

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

    7、查看当前并发(活动)会话数

    SQL> select count(*) from v$session where status='ACTIVE';

    8、查看当前会话具体信息

    SQL> select sid,serial#,username,program,machine,status from v$session;

    9、查看正在使用的用户

    select osuser,
           t1.username as username,
           cpu_time / executions / 1000000 || 's' as runtimes,
           sql_fulltext,
           machine
      from v$session t1, v$sqlarea t2
     where t1.sql_address = t2.address
     order by runtimes desc;

    三、OS的參数差别

    1、Linux和Windows系统,对sessions的处理是有差别的

        Linux系统1会话相应1个进程处理

        Windows系统1会话相应1个线程处理

  • 相关阅读:
    获取本地计算机的主机信息
    用函数SendARP()获取局域网计算机的MAC地址
    获取本地计算机的操作系统
    获取本地计算机名和IP地址
    基于TCP(面向连接)的Socket编程
    SMTP协议
    使用截获消息响应截断某些消息
    《Windows核心编程》读书笔记 上
    vc++高级班之多线程篇[7]---线程间的同步机制②
    vc++高级班之多线程篇[6]---线程间的同步机制①
  • 原文地址:https://www.cnblogs.com/blfbuaa/p/6714130.html
Copyright © 2011-2022 走看看