9.2.6 最大データベース・プロセス数の増加
表9-1に、データベース・ノード当たりのサポートされる最大データベース・プロセス数を示します。これらの数は以前のリリースよりも高くなっています。ベスト・プラクティスは、プロセス数をこれらの値よりも低く抑えることです。ワークロードのサブセットがパラレル問合せを実行中の場合、最大データベース・プロセス数はパラレル問合せを含まない最大ロセス数列と実行中のすべてのパラレル問合せを含む最大プロセス数列の間になります。
表9-1 ノード当たりの最大データベース・プロセス数
マシン・タイプ | InfiniBandボンディング・タイプ | パラレル問合せを含まないプロセスの最大数 | 実行中のすべてのパラレル問合せを含むプロセスの最大数 |
---|---|---|---|
8ソケット(X2-8、X3-8) |
アクティブ・パッシブ |
28,500 |
25,000 |
8ソケット(X4-8、X5-8) |
アクティブ・ボンディング |
64,000 |
44,000 |
2ソケット(X2-2、X3-2) |
アクティブ・パッシブ |
12,500 |
10,000 |
2ソケット(X4-2、X5-2、X6-2) |
アクティブ・ボンディング |
16,000 |
14,000 |
表9-2に、Oracle VMユーザー・ドメイン当たりのサポートされる最大データベース・プロセス数を示します。これらの数は以前のリリースよりも高くなっています。ベスト・プラクティスは、プロセス数をこれらの値よりも低く抑えることです。ワークロードのサブセットがパラレル問合せを実行中の場合、最大データベース・プロセス数はパラレル問合せを含まない最大プロセス数列と実行中のすべてのパラレル問合せを含む最大プロセス数列の間になります。
表9-2 Oracle VMユーザー・ドメイン当たりの最大データベース・プロセス数
マシン・タイプ | InfiniBandボンディング・タイプ | パラレル問合せを含まないプロセスの最大数 | 実行中のすべてのパラレル問合せを含むプロセスの最大数 |
---|---|---|---|
2ソケット(X2-2、X3-2) |
アクティブ・パッシブ |
11,500 |
8,000 |
2ソケット(X4-2、X5-2、X6-2) |
アクティブ・ボンディング |
23,000 |
14,000 |
マシンは次のように構成されます。
-
アクティブ・ボンディングInfiniBand構成の8ソケット・データベース・ノード(X4-8およびX5-8)では、4つのInfiniBandカード(8つのInfinibandポート)全体で8つのIPアドレスがあります。
-
アクティブ-パッシブInfiniBand構成の8ソケット・データベース・ノード(X2-8およびX3-8)では、4つのInfiniBandカード(8つのInfinibandポート)全体で4つのIPアドレスがあります。
-
アクティブ・ボンディングInfiniBand構成の2ソケット・データベース・ノード(X4-2、X5-2およびX6-2)では、1つのInfiniBandカード(2つのInfinibandポート)上に2つのIPアドレスがあります。
-
アクティブ-パッシブInfiniBand構成の2ソケット・データベース・ノード(X2-2およびX3-2)では、1つのInfiniBandカード(2つのInfinibandポート)上に1つのIPアドレスがあります。
データベースの使用に対して、InfiniBand IPアドレス当たり50,000 RDSソケットが割り当てられます。IO対応の各データベース・プロセスは、複数のIPにまたがり均等なロード・バランスでRDSソケットを消費します。
Exadata 12.1.2.3.0以降、セル側の接続制限はありません。
ExadataイメージとOracleカーネルによってサポートされる最大プロセス数のほかに、次の関連製品も拡張されました。
-
Oracle Exadata Deployment Assistantによって、デプロイ時に
Grid_home/crs/install/s_crsconfig_nodenameenv.txt
で自動的に上限が構成されます。 -
Exadata Patch Manager (
patchmgr
とdbnodeupdate.sh
)によって、データベース・ノードのアップグレード時にGrid_home/crs/install/s_crsconfig_nodenameenv.txt
で自動的に上限が構成されます。
最大プロセス数で最適なリソース使用率を実現するために、次のベスト・プラクティスに従う必要があります。
-
ローカルのBequeath接続を使用するのではなく、Exadataデータベースで実行されている一連のOracleリスナーを介して、アプリケーションが開始したOracleフォアグラウンドを確立する必要があります。
-
リスナー数はデータベース・ノードCPUソケット数と同じかそれ以上である必要があり、どのデータベース・ノードCPUソケットも同じ数のリスナーを実行する必要があります。たとえば、Oracle Exadata X5-8データベース・ノードでは8つのリスナーを構成できます(データベース・ノードCPUソケット当たり1つ)。
-
リスナーは、データベース・ノードCPUソケット間で均等にOracleプロセスを生成する必要があります。これは、起動時にこれらが実行されるソケットを指定することで実現できます。たとえば、リスナー0から7に
listener.ora
ファイルが適切に構成されていて、次のスクリプトを使用してX5-8データベース・ノードで8つのリスナーをそれぞれ別個のソケット上に生成するとします。#!/bin/bash export ORACLE_HOME=/u01/app/oracle/product/12.1.0.2/dbhome_1 for socket in `seq 0 7` do numactl --cpunodebind=${socket} $ORACLE_HOME/bin/lsnrctl start LISTENER${socket} done
-
リスナー接続レート・スロットルを使用してログイン・ストームを制御し、最大プロセス数でシステムの安定性を実現します。
-
過度のクライアント接続タイムアウトおよびサーバー側のエラーを防止するために、1秒当たりに確立される接続数合計、すなわちすべてのリスナーの
rate_limit
の合計は400以下にする必要があります。
最低限必要なソフトウェア:
-
Oracle Exadata System Softwareリリース12.1.2.3.0
-
Oracle Database 12cリリース1 (12.1)リリース12.1.0.2.160119と次のパッチ: 22711561、22233968および22609314