Decode360's Blog

          業精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 ::  :: 管理 ::
            397 隨筆 :: 33 文章 :: 29 評論 :: 0 Trackbacks
          Oracle的共享服務器進程
          ?
          ??? Oracle在安裝實例時會需要選擇是使用單獨服務器進程還是共享服務器進程。這個屬性就是為了減輕大用戶量對于系統的壓力而設的,如果有N個用戶要進行訪問,就必須要設置為共享服務器進程。要掌握調度程序進程、共享服務進程、調度程度這些概念的區別。
          ?
          ?
          一、 共享服務器初始化參數
          ?
          ??? DISPATCHERS:配置調度程序進程
          ??? MAX_DISPATCHERS:指定同時運行的調度程序進程最大數目
          ?
          ??? 用于設置調度程序的起始數目,初始化文件可以指定多個DISPATCHERS參數,但必須是彼此相鄰的。Oracle內部為每個DISPATCHERS參數分配一個INDEX索引值,以方便之后使用ALTER SYSTEM語句時明確引用某個DISPATCHERS參數。
          ?
          ??? 對一般系統來說,每1000個連接分配1個調度程序,運轉好的話再多一些。太多的調度程序會降低系統性能,所以要實現估計好連接數。
          ?
          ??? 舉例:
          ??? DISPATCHERS = "(PROTOCOL = TCP)" --基本參數
          ??? DISPATCHERS = "(ADDRESS = (PROTOCOL = TCP)(HOST = 10.2.1.81)) (DISPATCHERS = 2)" --強調IP
          ??? DISPATCHERS = "(ADDRESS = (PROTOCOL = TCP)(PORT = 5000))" --強調端口
          ?
          ?
          ?
          ??? SHARED_SERVERS:指定啟動實例時可創建的共享服務器進程數
          ??? MAX_SHARED_SERVERS:指定可以同時運行的共享服務器進程最大數目
          ?
          ??? 指定了啟動時希望創建的共享服務進程的數目。Oracle會在SHARED_SERVERS和MAX_SHARED_SERVERS之間的數目中,根據請求隊列的長度動態調整共享服務器的數目。一般來說,10個連接分配一個共享服務器。
          ?
          ??? MAX_SHARED_SERVERS是一個靜態初始參數,但SHARED_SERVERS是動態參數,可以使用ALTER SYSTEM語句修改。
          ?
          ??? CIRCUTTS:進出網絡會話時可以利用的虛擬回路總數
          ?
          ??? SHARED_SERVER_SESSIONS:用戶會話允許的共享服務器總數,可以為專門服務器保留用戶會話
          ?
          ??? LARGE_POOL_SIZE:指定大型存儲池分配字節大小
          ?
          ??? SESSIONS:系統可創建的最大會話數目
          ?
          ?
          二、修改調度程序和服務器進程
          ?
          ??? 1、調度進程
          ?
          ??? 可通過V$QUEUE、V$DISPATCHER、V$DISPATCHER_RATE來查看
          ?
          ??? 通過ALTER SYSTEM修改DISPATCHERS參數值
          ?
          ??? ALTER SYSTEM SET DISPATCHERS =
          ??? '(PROTOCOL = TCP)(DISPATCHERS = 5)(INDEX = 0)',
          ??? '(PROTOCOL = TCPS)(DISPATCHERS = 2)(INDEX = 1)';
          ?
          ??? 注1:DISPATCHERS:是參數;DISPATCHERS=5 才是調度進程個數;
          ??? 注2:INDEX用于識別DISPATCHERS參數,從0到n依次排列,即V$DISPATCHER中的CONF_INDX
          ?
          ?
          ??? 2、關閉調度進程
          ?
          ??? 首先要查詢到DISPATCHERS的NAME:
          ?
          ??? SELECT NAME,NETWORK FROM V$DISPATCHER;
          ?
          ??? 然后關閉調度進程:
          ?
          ??? ALTER SYSTEM SHUTDOWN IMMEDIATE 'D000';
          ?
          ??? 更改共享服務器進程最少數目:
          ?
          ??? ALTER SYSTEM SET SHARED_SERVERS = 2;
          ?
          ?
          ??? 3、監視共享服務器
          ?
          ??? V$DISPATCHER:提供有關調度程序進程的信息;
          ??? V$DISPATCHER_RATE:提供調度程序進程的速率統計表;
          ??? V$QUEUE:包含有關共享服務器的消息隊列的信息;
          ??? V$SHARED_SERVER:包含有關共享服務器進程的信息;
          ??? V$CIRCUIT:包含有關虛擬回路的信息;
          ??? V$SHARED_SERVER_MONITOR:包含協調共享服務器的信息;
          ??? V$SGA:包含各個系統全局區(SGA)組的容量信息;
          ??? V$SGASTAT:關于DGA的詳細統計信息,用于協調共享服務器;
          ??? V$SHARED_POOL_RESERVED:共享存儲池的信息
          ?
          ?
          ?
          ?
          posted on 2008-11-17 22:17 decode360 閱讀(321) 評論(0)  編輯  收藏 所屬分類: 08.DBA
          主站蜘蛛池模板: 平原县| 东丽区| 潢川县| 绩溪县| 那坡县| 安庆市| 班戈县| 福安市| 阳新县| 称多县| 太谷县| 石家庄市| 商丘市| 丁青县| 罗平县| 石泉县| 延边| 贡山| 从江县| 建始县| 泰兴市| 阿城市| 安西县| 大英县| 辽阳市| 青铜峡市| 夹江县| 榆社县| 新龙县| 吉林省| 平顶山市| 和龙市| 雅安市| 中宁县| 玉环县| 明光市| 望城县| 绵阳市| 丰顺县| 昌宁县| 忻城县|