前へ 目次 索引 DocHome 次へ |
iPlanet Application Server パフォーマンスおよびチューニングガイド |
第 7 章 データベースサーバのチューニング
この章では、Oracle サーバをチューニングしてパフォーマンスを最大にする方法について説明します。Solaris をチューニングして Oracle とともに動作させる方法についても説明します。
Oracle サーバのチューニング
Oracle のチューニング自体が広範なトピックですが、後に説明するパラメータを正しく設定すれば十分です。チューニング可能な各設定についての詳細は、Oracle のマニュアルを参照してください。このマニュアルは特に Solaris プラットフォームで Oracle の初期パラメータを設定するためのものです。すべて Oracle 8.1.6 以降でテスト済みです。はじめに、/etc/system ファイルで特定のシステム共有のメモリプールパラメータを設定します。Oracle アーキテクチャは、複数プロセスのデータを共有する共有メモリセグメントと、ロックを扱うセマフォを幅広く活用します。多くの場合、デフォルトのカーネル値では足りません。/etc/system ファイルを変更して、マシンを再起動する必要があります。通常はこれで十分ですが、システムやリソースによっては調整が必要になることもあります。
dbassist コマンドを使って、データベースを作成しチューニングすることができます。ただし、データベースインスタンスがすでに作成されている場合は、パラメータを手動でチューニングする必要があります。
Oracle サーバは、専用モードと共有サーバモードの 2 つのモードで実行することができます。共有サーバつまりマルチスレッドモードでは、多数のクライアントユーザプロセスでわずかなサーバプロセスを共有できるようになります。
Oracle の初期パラメータやチューニング可能パラメータはすべて次のファイルに格納されています。
$ORACLE_HOME/dbs/init<SID>.ora
このファイルは実際には $ORACLE_HOME/admin/<SID>/pfile/init<SID>.ora にリンクされています。
多くの場合、インストーラによってデータベースインスタンスのために作成された値は十分ではありません。
Solaris カーネルパラメータのチューニング
次に、Solaris カーネルパラメータを Oracle 用にチューニングする方法について説明します。
Solaris カーネルには Oracle に合うように設定したパラメータがあります。Oracle アーキテクチャは、複数プロセスのデータを共有する共有メモリセグメントと、ロックを扱うセマフォを幅広く活用します。Solaris を始めとする多くのオペレーティングシステムには、Oracle データベースを維持できるだけの共有メモリやセマフォがデフォルトで備わっているわけではありません。ただし、/etc/system ファイルを編集してサーバを再起動させるだけで Solaris のカーネルパラメータを変更することができます。
最初の 4 つのカーネルパラメータで共有メモリセグメントを設定します。ここで推奨されている設定は、ほとんどの Oracle データベース実装に適しています。SHMMAX 設定は大きすぎるように見えますが、SHMMAX 設定を実際に必要とする値より大きくしてもペナルティはありません。
表 7-1    Oracle 用の Solaris カーネルパラメータ
カーネルパラメータ
初期設定
目的
最後の 5 つのカーネルパラメータでセマフォを設定します。各 Oracle インスタンスには、プロセスごとに 1 つのセマフォとそれ以外に 10 個のセマフォが必要です。さらに、最大のインスタンスにはプロセスごとに 2 番目のセマフォが必要です。サーバにデータベースを 1 つだけ設定する場合は、最終的には各プロセスに 2 個のセマフォとそれ以外に 10 個のセマフォが必要になります。
最初の 2 つのセマフォカーネルパラメータ SEMMNS と SEMMSL に推奨する設定は、ほとんどの Oracle 実装に適しています。多数の同時データベースコネクションを持つシステムでは、この値を大きくする必要があります。最後の 3 つのセマファカーネルパラメータに関してここで推奨されている設定は、ほとんどの Oracle データベース実装に適しています。
一般に、使用する Solaris カーネルにここで推奨するよりも大きいパラメータが設定されている場合は、その設定を変更しないようにしてください。/etc/system のカーネルパラメータ設定を変更した場合は、サーバを再起動して新しい設定を有効にします。
/etc/system ファイルの最後に次の行を追加します。
- set shmsys:shminfo_shmmax=4294967295
- set shmsys:shminfo_shmmin=1
- set shmsys:shminfo_shmmni=100
- set shmsys:shminfo_shmseg=10
- set semsys:seminfo_semmns=2000
- set semsys:seminfo_semmsl=1000
- set semsys:seminfo_semmni=100
- set semsys:seminfo_semopm=100
- set semsys:seminfo_semvmx=32767
前へ 目次 索引 DocHome 次へ
Copyright © 2002 Sun Microsystems, Inc. All rights reserved.
最新更新日 2002 年 3 月 6 日