| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

「Oracle Database10g 共有サーバー構成」の版間の差分

提供: MyMemoWiki
ナビゲーションに移動 検索に移動
(ページの作成:「==Oracle Database10g 共有サーバー構成== [Oracle][Oracle Database10g] ===[http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/server.102/B19224-02…」)
 
1行目: 1行目:
 
==Oracle Database10g 共有サーバー構成==
 
==Oracle Database10g 共有サーバー構成==
[Oracle][Oracle Database10g]
+
[[Oracle][Oracle Database10g]]
 
===[http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/server.102/B19224-02/manproc.htm#211404 専用サーバー・プロセスと共有サーバー・プロセスの概要]===
 
===[http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/server.102/B19224-02/manproc.htm#211404 専用サーバー・プロセスと共有サーバー・プロセスの概要]===
 
*インスタンスに接続されているユーザー・プロセスの要求を処理するために、サーバー・プロセスが作成されます。
 
*インスタンスに接続されているユーザー・プロセスの要求を処理するために、サーバー・プロセスが作成されます。
72行目: 72行目:
 
====初期化パラメータを確認====
 
====初期化パラメータを確認====
 
=====既に[http://www.google.co.jp/custom?hl=ja&safe=off&client=pub-4280062068315072&cof=FORID%3A1%3BGL%3A1%3BLBGC%3A336699%3BLC%3A%230000ff%3BVLC%3A%23663399%3BGFNT%3A%230000ff%3BGIMP%3A%230000ff%3BDIV%3A%23336699%3B&domains=typea.info%3Btypea.dip.jp&q=Oracle+XML+DB+%E5%89%8A%E9%99%A4&btnG=%E6%A4%9C%E7%B4%A2&sitesearch= Oracle XML DB]用に構成されている!?=====
 
=====既に[http://www.google.co.jp/custom?hl=ja&safe=off&client=pub-4280062068315072&cof=FORID%3A1%3BGL%3A1%3BLBGC%3A336699%3BLC%3A%230000ff%3BVLC%3A%23663399%3BGFNT%3A%230000ff%3BGIMP%3A%230000ff%3BDIV%3A%23336699%3B&domains=typea.info%3Btypea.dip.jp&q=Oracle+XML+DB+%E5%89%8A%E9%99%A4&btnG=%E6%A4%9C%E7%B4%A2&sitesearch= Oracle XML DB]用に構成されている!?=====
  SQL> show parameters dispatchers
+
  SQL> show parameters dispatchers
 
   
 
   
 
  NAME                                TYPE        VALUE
 
  NAME                                TYPE        VALUE
79行目: 79行目:
 
  max_dispatchers                      integer
 
  max_dispatchers                      integer
  
  SQL> show parameters shared_servers
+
  SQL> show parameters shared_servers
 
   
 
   
 
  NAME                                TYPE        VALUE
 
  NAME                                TYPE        VALUE
88行目: 88行目:
 
====ALTER SYSTEM文を使用して、既存のディスパッチャ構成に対するDISPATCHERS属性の設定を変更====
 
====ALTER SYSTEM文を使用して、既存のディスパッチャ構成に対するDISPATCHERS属性の設定を変更====
 
=====属性を変更=====
 
=====属性を変更=====
  SQL> alter system set dispatchers = '(PROTOCOL=TCP) (DISPATCHERS=5)';
+
  SQL> alter system set dispatchers = '(PROTOCOL=TCP) (DISPATCHERS=5)';
 
   
 
   
 
  システムが変更されました。
 
  システムが変更されました。
106行目: 106行目:
 
           LOCAL SERVER
 
           LOCAL SERVER
 
       "D000" established:0 refused:0 current:0 max:1022 state:ready
 
       "D000" established:0 refused:0 current:0 max:1022 state:ready
           DISPATCHER <machine: vboxfedora10, pid: 2056>
+
           DISPATCHER &lt;machine: vboxfedora10, pid: 2056&gt;
 
           (ADDRESS=(PROTOCOL=tcp)(HOST=vboxfedora10)(PORT=47992))
 
           (ADDRESS=(PROTOCOL=tcp)(HOST=vboxfedora10)(PORT=47992))
 
       "D001" established:0 refused:0 current:0 max:1022 state:ready
 
       "D001" established:0 refused:0 current:0 max:1022 state:ready
           DISPATCHER <machine: vboxfedora10, pid: 6791>
+
           DISPATCHER &lt;machine: vboxfedora10, pid: 6791&gt;
 
           (ADDRESS=(PROTOCOL=tcp)(HOST=vboxfedora10)(PORT=50261))
 
           (ADDRESS=(PROTOCOL=tcp)(HOST=vboxfedora10)(PORT=50261))
 
       "D003" established:0 refused:0 current:0 max:1022 state:ready
 
       "D003" established:0 refused:0 current:0 max:1022 state:ready
           DISPATCHER <machine: vboxfedora10, pid: 6834>
+
           DISPATCHER &lt;machine: vboxfedora10, pid: 6834&gt;
 
           (ADDRESS=(PROTOCOL=tcp)(HOST=vboxfedora10)(PORT=47169))
 
           (ADDRESS=(PROTOCOL=tcp)(HOST=vboxfedora10)(PORT=47169))
 
       "D002" established:0 refused:0 current:0 max:1022 state:ready
 
       "D002" established:0 refused:0 current:0 max:1022 state:ready
           DISPATCHER <machine: vboxfedora10, pid: 6832>
+
           DISPATCHER &lt;machine: vboxfedora10, pid: 6832&gt;
 
           (ADDRESS=(PROTOCOL=tcp)(HOST=vboxfedora10)(PORT=32946))
 
           (ADDRESS=(PROTOCOL=tcp)(HOST=vboxfedora10)(PORT=32946))
 
       "D004" established:0 refused:0 current:0 max:1022 state:ready
 
       "D004" established:0 refused:0 current:0 max:1022 state:ready
           DISPATCHER <machine: vboxfedora10, pid: 6836>
+
           DISPATCHER &lt;machine: vboxfedora10, pid: 6836&gt;
 
           (ADDRESS=(PROTOCOL=tcp)(HOST=vboxfedora10)(PORT=54712))
 
           (ADDRESS=(PROTOCOL=tcp)(HOST=vboxfedora10)(PORT=54712))
 
  Service "oradb1XDB.vboxfedora10.typea.info" has 1 instance(s).
 
  Service "oradb1XDB.vboxfedora10.typea.info" has 1 instance(s).
128行目: 128行目:
 
           LOCAL SERVER
 
           LOCAL SERVER
 
       "D000" established:0 refused:0 current:0 max:1022 state:ready
 
       "D000" established:0 refused:0 current:0 max:1022 state:ready
           DISPATCHER <machine: vboxfedora10, pid: 2056>
+
           DISPATCHER &lt;machine: vboxfedora10, pid: 2056&gt;
 
           (ADDRESS=(PROTOCOL=tcp)(HOST=vboxfedora10)(PORT=47992))
 
           (ADDRESS=(PROTOCOL=tcp)(HOST=vboxfedora10)(PORT=47992))
 
       "D001" established:0 refused:0 current:0 max:1022 state:ready
 
       "D001" established:0 refused:0 current:0 max:1022 state:ready
           DISPATCHER <machine: vboxfedora10, pid: 6791>
+
           DISPATCHER &lt;machine: vboxfedora10, pid: 6791&gt;
 
           (ADDRESS=(PROTOCOL=tcp)(HOST=vboxfedora10)(PORT=50261))
 
           (ADDRESS=(PROTOCOL=tcp)(HOST=vboxfedora10)(PORT=50261))
 
       "D003" established:0 refused:0 current:0 max:1022 state:ready
 
       "D003" established:0 refused:0 current:0 max:1022 state:ready
           DISPATCHER <machine: vboxfedora10, pid: 6834>
+
           DISPATCHER &lt;machine: vboxfedora10, pid: 6834&gt;
 
           (ADDRESS=(PROTOCOL=tcp)(HOST=vboxfedora10)(PORT=47169))
 
           (ADDRESS=(PROTOCOL=tcp)(HOST=vboxfedora10)(PORT=47169))
 
       "D002" established:0 refused:0 current:0 max:1022 state:ready
 
       "D002" established:0 refused:0 current:0 max:1022 state:ready
           DISPATCHER <machine: vboxfedora10, pid: 6832>
+
           DISPATCHER &lt;machine: vboxfedora10, pid: 6832&gt;
 
           (ADDRESS=(PROTOCOL=tcp)(HOST=vboxfedora10)(PORT=32946))
 
           (ADDRESS=(PROTOCOL=tcp)(HOST=vboxfedora10)(PORT=32946))
 
       "D004" established:0 refused:0 current:0 max:1022 state:ready
 
       "D004" established:0 refused:0 current:0 max:1022 state:ready
           DISPATCHER <machine: vboxfedora10, pid: 6836>
+
           DISPATCHER &lt;machine: vboxfedora10, pid: 6836&gt;
 
           (ADDRESS=(PROTOCOL=tcp)(HOST=vboxfedora10)(PORT=54712))
 
           (ADDRESS=(PROTOCOL=tcp)(HOST=vboxfedora10)(PORT=54712))
 
  The command completed successfully
 
  The command completed successfully
170行目: 170行目:
 
====接続====
 
====接続====
 
=====SQL*Plusから接続=====
 
=====SQL*Plusから接続=====
  SQL> conn exam/abc123@oradb1
+
  SQL&gt; conn exam/abc123@oradb1
 
  接続されました。
 
  接続されました。
  
 
=====確認 (SERVER = DEDICATED) になっている=====
 
=====確認 (SERVER = DEDICATED) になっている=====
 
[[File:0940_ora_disp04.jpg]]
 
[[File:0940_ora_disp04.jpg]]

2020年2月15日 (土) 08:04時点における版

Oracle Database10g 共有サーバー構成

[[Oracle][Oracle Database10g]]

専用サーバー・プロセスと共有サーバー・プロセスの概要

  • インスタンスに接続されているユーザー・プロセスの要求を処理するために、サーバー・プロセスが作成されます。
  • 専用サーバー・プロセスは常に使用可能な状態ですが、共有サーバーは、1つ以上の初期化パラメータを特別に設定して、構成および使用可能にする必要がある
サーバー・プロセス 内容
専用サーバー・プロセス 単一のユーザー・プロセスのみを処理
共有サーバー・プロセス 複数のユーザー・プロセスを処理

専用サーバー・プロセス

  • 次の状況では、ユーザーと管理者は、専用サーバー・プロセスを使用して明示的にインスタンスに接続する必要がある
    • バッチ・ジョブを実行する場合
    • Recovery Manager(RMAN)を使用して、データベースをバックアップ、リストアまたはリカバリする場合
  • Oracle Databaseが共有サーバー用に構成されている場合に専用サーバー接続を要求するには、専用サーバーを使用するように構成されているネット・サービス名を使用して接続する必要があります。具体的に言うと、ネット・サービス名の接続記述子にSERVER=DEDICATED句を含める

共有サーバー・プロセス

  • 共有サーバー・アーキテクチャでは、接続ごとに専用サーバー・プロセスは必要ない
接続手順
  1. クライアントのユーザー・プロセスはディスパッチャに接続します。
  2. ディスパッチャには、同時に複数のクライアント接続をサポートする機能があります。
  3. 各クライアント接続はバーチャル・サーキットにバインドされます。
  4. バーチャル・サーキットとは、ディスパッチャがクライアントのデータベース接続要求と応答に使用する共有メモリーの一部です。
  5. ディスパッチャは、要求が到着すると、バーチャル・サーキットを共通キューに入れます。
  6. アイドル状態の共有サーバー・プロセスは、共通キューからバーチャル・サーキットを選択して要求を処理し、そのバーチャル・サーキットを解放して、共通キューから別のバーチャル・サーキットを取り出します。
  • このアプローチでは、小さいサーバー・プロセス・プールで大量のクライアントを処理することが可能です。
  • 専用サーバー・モデルと比較した共有サーバー・アーキテクチャの大きな利点は、システム・リソースが少なくて済むため、ユーザー数の増加に対応できること。

共有サーバー構成

共有サーバー用初期化パラメータ

初期化パラメータ 内容
SHARED_SERVERS 起動する初期共有サーバー数および最低限保持する共有サーバー数を指定します。共有サーバーを使用するための必須パラメータはこのパラメータのみ。
MAX_SHARED_SERVERS 同時に実行可能な共有サーバーの最大数を指定。
SHARED_SERVER_SESSIONS 同時に実行可能な共有サーバー・ユーザー・セッションの合計数を指定。
DISPATCHERS 共有サーバー・アーキテクチャのディスパッチャ・プロセスを構成
MAX_DISPATCHERS 同時に実行可能なディスパッチャ・プロセスの最大数を指定。
CIRCUITS 受信および発信用のネットワーク・セッションに使用可能なバーチャル・サーキットの合計数を指定。

共有サーバーの使用可能化

  • 共有サーバーを使用可能にするには、SHARED_SERVERS初期化パラメータに0(ゼロ)より大きい値を設定
  • 動的に起動するには、ALTER SYSTEM文を使用してSHARED_SERVERSパラメータに0(ゼロ)以外の値を設定する。
  • またはデータベースの起動時にSHARED_SERVERSを初期化パラメータ・ファイルに組み込む。


共有サーバーを構成してみる

初期化パラメータを確認

既にOracle XML DB用に構成されている!?
SQL> show parameters dispatchers

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
dispatchers                          string      (PROTOCOL=TCP) (SERVICE=oradb1XDB)
max_dispatchers                      integer
SQL> show parameters shared_servers

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
max_shared_servers                   integer
shared_servers                       integer     1

ALTER SYSTEM文を使用して、既存のディスパッチャ構成に対するDISPATCHERS属性の設定を変更

属性を変更
SQL> alter system set dispatchers = '(PROTOCOL=TCP) (DISPATCHERS=5)';

システムが変更されました。
リスナーの確認
$ lsnrctl service

LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 15-JUL-2009 09:00:22

Copyright (c) 1991, 2005, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=vboxfedora10)(PORT=1521)))
Services Summary...
Service "oradb1.vboxfedora10.typea.info" has 1 instance(s).
  Instance "oradb1", status READY, has 6 handler(s) for this service...
    Handler(s):
      "DEDICATED" established:50 refused:0 state:ready
         LOCAL SERVER
      "D000" established:0 refused:0 current:0 max:1022 state:ready
         DISPATCHER <machine: vboxfedora10, pid: 2056>
         (ADDRESS=(PROTOCOL=tcp)(HOST=vboxfedora10)(PORT=47992))
      "D001" established:0 refused:0 current:0 max:1022 state:ready
         DISPATCHER <machine: vboxfedora10, pid: 6791>
         (ADDRESS=(PROTOCOL=tcp)(HOST=vboxfedora10)(PORT=50261))
      "D003" established:0 refused:0 current:0 max:1022 state:ready
         DISPATCHER <machine: vboxfedora10, pid: 6834>
         (ADDRESS=(PROTOCOL=tcp)(HOST=vboxfedora10)(PORT=47169))
      "D002" established:0 refused:0 current:0 max:1022 state:ready
         DISPATCHER <machine: vboxfedora10, pid: 6832>
         (ADDRESS=(PROTOCOL=tcp)(HOST=vboxfedora10)(PORT=32946))
      "D004" established:0 refused:0 current:0 max:1022 state:ready
         DISPATCHER <machine: vboxfedora10, pid: 6836>
         (ADDRESS=(PROTOCOL=tcp)(HOST=vboxfedora10)(PORT=54712))
Service "oradb1XDB.vboxfedora10.typea.info" has 1 instance(s).
  Instance "oradb1", status READY, has 0 handler(s) for this service...
Service "oradb1_XPT.vboxfedora10.typea.info" has 1 instance(s).
  Instance "oradb1", status READY, has 6 handler(s) for this service...
    Handler(s):
      "DEDICATED" established:50 refused:0 state:ready
         LOCAL SERVER
      "D000" established:0 refused:0 current:0 max:1022 state:ready
         DISPATCHER <machine: vboxfedora10, pid: 2056>
         (ADDRESS=(PROTOCOL=tcp)(HOST=vboxfedora10)(PORT=47992))
      "D001" established:0 refused:0 current:0 max:1022 state:ready
         DISPATCHER <machine: vboxfedora10, pid: 6791>
         (ADDRESS=(PROTOCOL=tcp)(HOST=vboxfedora10)(PORT=50261))
      "D003" established:0 refused:0 current:0 max:1022 state:ready
         DISPATCHER <machine: vboxfedora10, pid: 6834>
         (ADDRESS=(PROTOCOL=tcp)(HOST=vboxfedora10)(PORT=47169))
      "D002" established:0 refused:0 current:0 max:1022 state:ready
         DISPATCHER <machine: vboxfedora10, pid: 6832>
         (ADDRESS=(PROTOCOL=tcp)(HOST=vboxfedora10)(PORT=32946))
      "D004" established:0 refused:0 current:0 max:1022 state:ready
         DISPATCHER <machine: vboxfedora10, pid: 6836>
         (ADDRESS=(PROTOCOL=tcp)(HOST=vboxfedora10)(PORT=54712))
The command completed successfully
V$DISPATCHER ビューの確認

0937 ora disp01.jpg

SQL*Plusで接続し、共有サーバーに接続していることを確認

V$SESSION ビュー
  • V$SESSION ビューの、SERVER列が、'NONE'、'SHARED'なら共有サーバー。'DEDICATED' なら 専用サーバー

0938 ora disp02.jpg

V$CIRCUIT ビュー
  • V$CIRCUIT ビューでは、共有サーバーの情報のみが表示される

0939 ora disp03.jpg

共有サーバーとして構成されたデータベースに専用サーバー接続を行う

tnsnames.ora に (SERVER = DEDICATED) を追記

ORADB1 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.24.56)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = oradb1.vboxfedora10.typea.info)
    )
  )

接続

SQL*Plusから接続
SQL> conn exam/abc123@oradb1
接続されました。
確認 (SERVER = DEDICATED) になっている

0940 ora disp04.jpg