Oracle® Database管理者リファレンス 12c リリース1 (12.1) for Linux and UNIX-Based Operating Systems B71275-11 |
|
前 |
次 |
この付録では、IBM AIX on POWER Systems (64-bit)でのOracle Databaseの管理について説明します。
内容は次のとおりです。
メモリーの競合は、プロセスに必要なメモリー量が、使用できる容量よりも大きくなったときに発生します。このようなメモリー不足に対処するため、メモリーとディスク間でプログラムおよびデータのページングが行われます。
この項では、次の項目について説明します。
デフォルトのAIXカーネル設定を使用することをお薦めします。IBMサポートで適切に推奨されるカーネル設定のみを調整する必要があります。
注意: IBMサポートのガイダンスなしで制限されたチューナブル・パラメータを調整すると、システムの安定性とパフォーマンスに望ましくない影響を与える可能性があります。 |
通常、ページング領域(スワップ領域)が十分に割り当てられていないと、システムのレスポンスが停止したり、レスポンス時間が非常に遅くなります。IBM AIX on POWER Systems (64-bit)では、RAWディスク・パーティションにページング領域を動的に追加できます。構成するページング領域の大きさは、実装されている物理メモリーの量およびアプリケーションのページング領域要件によって異なります。ページング領域の使用量を監視するには、lsps
コマンドを使用します。システムのページング・アクティビティを監視するには、vmstat
コマンドを使用します。ページング領域を増やすには、smit pgsp
コマンドを使用します。
ページング領域を事前に割り当てる場合は、ページング領域をRAMの量よりも大きい値に設定することをお薦めします。ただし、IBM AIX on POWER Systems (64-bit)では、ページング領域は必要になるまで割り当てられません。システムでは、実メモリーが不足した場合にのみスワップ領域が使用されます。メモリーのサイズを正しく設定した場合は、ページングが行われないため、ページング領域を小さくできます。要求されるページ数が大きく変動しないワークロードの場合は、小さいページング領域でも適切に動作します。ページングが極端に増加する可能性があるワークロードの場合は、最大ページ数を処理できるだけの十分なページング領域が必要です。
原則として、ページング領域の初期設定は、単一の内部ディスクのサイズまで、RAMの半分のサイズに4GBを加算しています。lsps -a
コマンドを使用してページング領域の使用を監視し、vmstat
コマンドを使用してシステム・ページング・アクティビティを監視します。lsps -a
により出力されるメトリック%Usedは、正常なシステムでは通常25%未満です。大量のスワッピングがパフォーマンスに重大な影響を与えるため、適切なサイズ設定がされているデプロイメントでは非常に少ないページング領域が必要です。大量のページング領域およびスワッピングは、システムのRAMが不足する可能性があることを示します。
注意: ページング領域のサイズは小さくしないでください。小さくすると、領域が不足してアクティブなプロセスが終了します。一方、ページング領域のサイズが大きすぎても、悪影響はほとんどありません。 |
Oracleドキュメントでは、Oracle Databaseの開始点として次の値を推奨します。
RAM | スワップ領域 |
---|---|
1から2GB | RAMのサイズの1.5倍 |
2GBから16GB | RAMのサイズと同じ |
16GB超 | 16GB |
Oracle Grid InfrastructureのRAMおよびスワップ領域値は次のとおりです。
4GBのRAMと16GBのRAMの間で、スワップ領域はRAMのサイズと同じである必要があります。
16GBのRAMを超える場合、スワップ領域は16GBと同じである必要があります。
個別のサーバー環境が異なるため、増やした12.1メモリー・フットプリントおよび4KBから64KBへのページ・サイズの増加に基づいて、一部の追加メモリーがOracle Database 12.1環境で保証される場合があります。システムのパフォーマンスに影響を与えるページングを削減するため、ワークロードをリバランスする必要がある場合があります。
過剰なページングが頻繁に発生する場合は、実メモリーが過剰にコミットされていることを示します。通常は、次のように対処します。
ベージングが頻繁に発生しないようにします。ただし、システムに超高速の拡張記憶域を装備し、メモリーと拡張記憶域間のページングが、Oracle DatabaseによるSGAとディスク間のデータの読取り/書込みよりも大幅に速くなる場合を除きます。
制限されたメモリー・リソースを、システム・パフォーマンスが最も向上する場所に割り当てます。場合によっては、メモリー・リソース要件とその影響のバランスを取るために、この処理を繰り返し行う必要があります。
メモリーが不足している場合は、システム内のメモリーを必要とするプロセスおよび要素を優先順に並べたリストを作成します。パフォーマンスが最も向上する場所に、メモリーを割り当てます。優先順リストの例を次に示します。
オペレーティング・システムおよびRDBMSカーネル(SGAおよびコンポーネント、バッファ・キャッシュおよび共有プールを含めるため)
ユーザー・プロセスおよびアプリケーション・プロセス
たとえば、Oracle Databaseの動的パフォーマンス表およびビューを問い合せた結果、共有プールとデータベース・バッファ・キャッシュの両方にメモリーを追加する必要があるとします。この場合、制限された予備メモリーは、データベース・ブロック・バッファ・キャッシュではなく共有プールに割り当てるとパフォーマンスが向上します。これらの選択は、データベース・ロードの性質または形状によって異なります。
次のIBM AIX on POWER Systems (64-bit)コマンドを実行すると、ページングのステータスおよび統計が表示されます。
vmstat -s
vmstat
interval
[
repeats
]
sar -r
interval
[
repeats
]
Oracle Databaseのブロック・サイズを構成すると、入出力スループットを改善できます。IBM AIX on POWER Systems (64-bit)では、DB_BLOCK_SIZE
初期化パラメータの値を2から32KBに設定できます。デフォルト値は4KBです。Oracle Databaseがジャーナル・ファイル・システムにインストールされている場合は、そのブロック・サイズをファイル・システムのブロック・サイズ(JFSでは4KB、IBM Spectrum Scale (GPFS)では16KBから1MB)の倍数にする必要があります。データベースがRAWパーティション上にある場合は、Oracle Databaseのブロック・サイズをオペレーティング・システムの物理ブロック・サイズ(IBM AIX on POWER Systems (64-Bit)では512バイト)の倍数にします。
Oracle Databaseのブロック・サイズは、オンライン・トランザクション処理ワークロードまたは複合ワークロードの環境では小さめ(2または4KB)に設定し、意思決定支援システム・ワークロードの環境では大きめ(8、16または32KB)に設定することをお薦めします。
トランザクションが長い場合や数が多い場合は特に、LOG_BUFFER
サイズを大きくすることで、データベースのアーカイブ速度を向上させることができます。ログ・ファイル入出力アクティビティおよびシステム・スループットを監視して、最適なLOG_BUFFER
サイズを決定します。LOG_BUFFER
パラメータをチューニングするときは、通常のデータベース・アクティビティの全体的なパフォーマンスが低下しないように注意します。
パフォーマンスの向上のため、デフォルトの4KBではなく512バイトのagblksize
を使用して、REDOログ用および制御ファイル用の個別のファイル・システム(または両方の単一のファイル・システム)を作成します。
ディスク入出力の競合は、メモリー管理が良好でない(その結果としてページングおよびスワッピングが発生する)場合や、ディスク間の表領域およびファイルの分散が適切でない場合に発生します。
filemon
、sar
、iostat
などのIBM AIX on POWER Systems (64-bit)ユーティリティおよびその他のパフォーマンス・ツールを使用して入出力アクティビティの高いディスクを特定し、複数のディスク・ドライブに入出力アクティビティを均等に分散します。
この項では、次の項目について説明します。
IBM AIX on POWER Systems (64-bit)論理ボリューム・マネージャは、複数のディスク間にデータをストライプ化して、ディスクの競合を減らすことができます。ストライプ化の主な目的は、大容量の順次ファイルに対する読取り/書込みのパフォーマンスを向上させることです。向上したストレージ・サブシステムでは、LVMストライプ化の使用は推奨されていません。ストレージ・サブシステムによるデフォルトのストライプ化の使用をお薦めします。AIXパーティションに示されるLUNが物理的ではなく論理的であるため、オペレーティング・システムはデータが存在する物理的な場所を認識しなくなりました。
ジャーナル・ファイル・システムまたはRAW論理ボリュームのどちらを使用するかを決定するときには、次のことを考慮してください。
ファイル・システムは、実装の多様化に伴い、継続的に改善されています。
様々なベンダーが、各ディスクの長所を生かすために、様々な方法でファイル・システム・レイヤーを実装しています。その結果、プラットフォーム間でファイル・システムを比較することが難しくなっています
IBM AIX on POWER Systems (64-bit)に組み込まれているダイレクト入出力機能および同時入出力機能により、ファイル・システムのパフォーマンスはRAW論理ボリュームと同じレベルまで向上します。
以前のバージョンのIBM AIX on POWER Systems (64-bit)では、ファイル・システムはバッファに対する読取り/書込みのみをサポートしており、inodeロックが不完全なために余計な競合が発生していました。この2つの問題は、JFS2の同時入出力機能およびSpectrum Scale (GPFS)のダイレクト入出力機能によって解決されています。
より強力な論理ボリューム・マネージャ・インタフェースを導入すると、RAW論理ボリュームに基づいた論理ディスクの構成およびバックアップの作業が大幅に減少します。
Oracle ASMは、RAWディスク・デバイスがディスク・グループに追加された場合に最も効果的に機能します。Oracle ASMを使用している場合は、論理ボリューム・マネージャを使用してストライプ化を行わないでください。Oracle ASMは、ストライプ化およびミラー化を実装します。
注意: Oracle RACオプションを使用するには、Oracle ASMディスク・グループまたはSpectrum Scale (GPFS)ファイル・システムにデータファイルを配置する必要があります。JFSまたはJFS2は使用できません。Spectrum Scale (GPFS)を使用すると、ダイレクト入出力が暗黙的に有効になります。 |
IBM AIX on POWER Systems (64-bit)では、ダイレクト入出力および同時入出力がサポートされています。ダイレクト入出力および同時入出力のサポートにより、データベース・ファイルがファイル・システム上に存在できるようになります。これは、Oracle Databaseが提供する機能を使用して、オペレーティング・システムのバッファ・キャッシュを回避し、冗長なinodeロック操作を排除することで実現されます。
次の表に、IBM AIX on POWER Systems (64-bit)で使用できるファイル・システムとその推奨設定を示します。
ファイル・システム | オプション | 説明 |
---|---|---|
JFS | dio | JFSでは、同時入出力は使用できません。ダイレクト入出力は使用できますが、同時入手力を使用したJFS2と比較してパフォーマンスが劣ります。 |
JFSラージ・ファイル | none | 128KBの位置合せ制約によってダイレクト入出力が使用できないため、JFSラージ・ファイルをOracle Databaseに使用することは推奨されません。 |
JFS2 | cio | 同時入出力は、同一のファイルに対して複数の同時リーダー/ライターをサポートしているため、ダイレクト入出力よりもJFS2に適した設定です。ただし、JFS2/CIOに対するIBM AIX on POWER Systems (64-bit)制限のため、同時入出力はOracleデータファイル、制御ファイルおよびログ・ファイルでのみ使用されます。このような目的専用のファイル・システムにのみ適用してください。同じ理由から、CIO オプションでマウントするJFS2ファイル・システムでは、Oracleホーム・ディレクトリはサポートされません。たとえば、インストール時に、CIO オプションでマウントするJFS2ファイル・システムにOracleホーム・ディレクトリを配置するように誤って指定した場合は、Oracleに再リンクしようとすると、次のエラーが表示されることがあります。
注意: Oracle Database 11gリリース2 (11.2.0.2)以上の場合、IBM AIX on POWER Systems (64-bit) 6.1システム以上では、JFS2ファイル・システム上で |
Spectrum Scale (GPFS) | 該当なし | Oracle Databaseは、最適なパフォーマンスを得るために、Spectrum Scaleに対してダイレクト入出力を暗黙的に有効にします。Spectrum Scaleのダイレクト入出力は、すでに複数のノード上の複数のリーダー/ライターをサポートしています。したがって、Spectrum Scaleでは、ダイレクト入出力と同時入出力は同じです。 |
JFS2ファイル・システムにOracle Databaseログを配置している場合、構成を最適化するには、agblksize=512
オプションを使用してファイル・システムを作成し、CIO
オプションでマウントします。
Oracle Database 12cより前のリリースでは、JFS/JFS2において、ダイレクト入出力および同時入出力をファイル・レベルで有効にできませんでした。したがって、最適なパフォーマンスを得るために、Oracleホーム・ディレクトリおよびデータファイルを別個のファイル・システムに配置する必要がありました。つまり、Oracleホーム・ディレクトリをデフォルト・オプションでマウントしたファイル・システムに配置し、データファイルおよびログをDIO
またはCIO
オプションを使用してマウントしたファイル・システムに配置していました。
Oracle Database 12cでは、JFS/JFS2において、ダイレクト入出力および同時入出力をファイル・レベルで有効にできます。そのためには、サーバー・パラメータ・ファイルのFILESYSTEMIO_OPTIONS
パラメータをSETALL
またはDIRECTIO
に設定します。これにより、すべてのデータファイル入出力に対して、JFS2での同時入力およびJFSでのダイレクト入出力が有効になります。これは、DIRECTIO
設定により、通常は使用しない非同期入出力が無効になるためです。この12cの機能により、Oracleホーム・ディレクトリと同じJFS/JFS2ファイル・システムにデータファイルを配置し、ダイレクト入出力または同時入出力を使用してパフォーマンスを向上させることができます。前述のように、最適なパフォーマンスを得るためには、Oracle Databaseログを別個のJFS2ファイル・システムに配置する必要があります。
Spectrum Scaleを使用している場合は、すべての用途に同じファイルシステムを使用できます。Oracleホーム・ディレクトリや、データファイルおよびログの格納などに使用できます。最適なパフォーマンスのために、大きいSpectrum Scaleブロック・サイズ(通常、少なくとも512KB)を使用する必要があります。Spectrum Scaleはスケーラビリティのために設計され、データ量が単一のSpectrum Scaleファイル・システムに対応しているかぎり、複数のSpectrum Scaleファイル・システムを作成する要件はありません。
Oracle Databaseでは、IBM AIX on POWER Systems (64-bit)が提供する非同期入出力を最大限に利用して、データベース・アクセスを高速化しています。
IBM AIX on POWER Systems (64-bit)では、ファイル・システム・パーティション上に作成されたデータベース・ファイルに対して、非同期入出力がサポートされています。ファイル・システムに対して非同期入出力を使用するときは、リクエストがキューから取り出されてから完了するまで、カーネル・データベース・プロセス(aioserver
)が各リクエストを制御します。aioserver
サーバーの数により、システムで同時に処理できる非同期入出力リクエストの数が決まります。AIOチューナブルのデフォルトが大幅に増えているため、AIOチューナブルを調整する必要はありません。
入出力スレーブは、入出力のみを実行する特殊なOracleプロセスです。非同期入出力がデフォルトであり、IBM AIX on POWER Systems (64-bit)でのOracleによる入出力操作の実行に推奨されている方法であるため、入出力スレーブはIBM AIX on POWER Systems (64-bit)ではほとんど使用されません。入出力スレーブは、共有メモリー・バッファから割り当てられます。入出力スレーブには、次の表に示す初期化パラメータを使用します。
パラメータ | 許容値 | デフォルト値 |
---|---|---|
DISK_ASYNCH_IO |
true /false |
true |
TAPE_ASYNCH_IO |
true /false |
true |
BACKUP_TAPE_IO_SLAVES |
true /false |
false |
DBWR_IO_SLAVES |
0 - 999 | 0 |
DB_WRITER_PROCESSES |
1-20 | 1 |
通常、この表のパラメータは調整しません。ただし、ワークロードが大きい場合に、データベース・ライターがボトルネックになることがあります。その場合は、DB_WRITER_PROCESSES
の値を大きくします。このデータベース・ライター・プロセスの数は、システムまたはパーティション内のCPUのペアにつき1つですが、原則として、この数は増やさないでください。
非同期I/Oの無効化が必要な場合があります。たとえば、デバッグのためにOracleサポートから指示された場合などです。DISK_ASYNCH_IO
およびTAPE_ASYNCH_IO
パラメータを使用すると、ディスクまたはテープ・デバイスに対する非同期I/Oを無効にできます。TAPE_ASYNCH_IO
のサポートは、メディア・マネージャ・ソフトウェアによってサポートされている場合にのみ使用可能であり、Recovery Managerの場合は、BACKUP_TAPE_IO_SLAVES
がtrueの場合のみ使用可能です。
DBWR_IO_SLAVES
パラメータは、DISK_ASYNCH_IO
パラメータがfalse
に設定されている場合にのみ、0(ゼロ)より大きい値に設定します。設定しないと、データベース・ライター・プロセスがボトルネックになります。この場合、IBM AIX on POWER Systems (64-bit)でのDBWR_IO_SLAVES
パラメータの最適値は4です。
Oracle Database 12cでダイレクト入出力または同時入出力を使用している場合、IBM AIX on POWER Systems (64-bit)ファイル・システムでは、順次スキャンでの先読みが実行されません。このため、ダイレクト入出力または同時入出力がOracleデータファイルに対して有効になっている場合、サーバー・パラメータ・ファイルのDB_FILE_MULTIBLOCK_READ_COUNT
値を大きくする必要があります。DB_FILE_MULTIBLOCK_READ_COUNT
初期化パラメータで指定されているように、Oracle Databaseによって先読みが実行されます。
DB_FILE_MULTIBLOCK_READ_COUNT
初期化パラメータに大きい値を設定すると、通常は順次スキャンでの入出力スループットが向上します。IBM AIX on POWER Systems (64-bit)では、このパラメータの範囲は1から512ですが、16より大きい値を使用しても、通常はそれ以上のパフォーマンス効果は得られません。
このパラメータは、DB_BLOCK_SIZE
パラメータの値との積が論理ボリューム・マネージャのストライプ・サイズよりも大きくなるように設定します。このような設定により、使用できるディスクが増加します。
ディスク入出力ペーシングとは、システム管理者がファイルに対して保留中の入出力リクエストの数を制限できるようにするIBM AIX on POWER Systems (64-bit)のメカニズムです。このメカニズムにより、ディスク入出力が頻繁に発生するプロセスでCPUが飽和状態になるのを防ぐことができます。このため、対話型プロセスやCPU使用量の多いプロセスのレスポンス時間に遅延が発生しません。
ディスク入出力ペーシングを行うには、最高水位標および最低水位標という2つのシステム・パラメータを調整します。保留中の入出力リクエストがすでに最高水位標に達しているファイルに対してプロセスが書込みを実行すると、プロセスはスリープ状態になります。未処理の入出力リクエストの数が最低水位標以下になると、プロセスはスリープ状態から解放されます。
IBM AIX 6.1バージョン以降、ファイル・システムおよびAIX I/Oサブシステムが変更され、大量のファイル・システムI/Oに対応します。これらの変更以外に、I/Oペーシングのデフォルト値が変更されています。IBM AIX 6.1バージョン以前のデフォルト値は、I/Oペーシングなしの0です。IBM AIX 6.1バージョン以上のデフォルト値は次のとおりです。
minpout
=4096
maxpout
=8193
RAW論理ボリュームに割り当てられたOracleデータファイルに対してミラー書込み整合性を無効にすると、システム障害後のOracle Databaseのクラッシュ・リカバリ・プロセスでは、ミラー復元を使用したリカバリが行われます。このミラー復元プロセスにより、データベースの不整合または破損を防ぐことができます。
クラッシュ・リカバリ時に、論理ボリュームに割り当てられたデータファイルに複数のコピーがある場合、ミラー復元プロセスでは、すべてのコピーのデータ・ブロックに対してチェックサムを実行します。その後、次のいずれかの処理を実行します。
コピー内のデータ・ブロックのチェックサムが有効である場合、そのコピーを使用してチェックサムが無効なコピーを更新します。
すべてのコピーでブロックのチェックサムが無効である場合、REDOログ・ファイルの情報を使用してブロックを再構築します。次に、データファイルを論理ボリュームに書き込み、すべてのコピーを更新します。
IBM AIX on POWER Systems (64-bit)では、ミラー復元プロセスは、RAW論理ボリュームに割り当てられたデータファイルのうち、ミラー書込み整合性が無効になっているデータファイルに対してのみ機能します。ミラー化論理ボリューム上のデータファイルのうち、ミラー書込み整合性が有効になっているデータファイルには、ミラー書込み整合性によってすべてのコピーの同期が保証されているため、ミラー復元は必要ありません。
以前のリリースのOracle Databaseのアップグレード中にシステムに障害が発生し、論理ボリューム上のデータファイルのミラー書込み整合性が無効になっていた場合は、syncvg
コマンドを実行してミラー化論理ボリュームを同期化してからOracle Databaseを起動してください。ミラー化論理ボリュームを同期化せずにデータベースを起動すると、論理ボリュームのコピーから誤ったデータを読み取る場合があります。
注意: ディスク・ドライブに障害が発生した場合、ミラー復元は行われません。syncvg コマンドを実行してから、論理ボリュームを再度アクティブにする必要があります。 |
注意: ミラー復元は、データファイルに対してのみサポートされています。REDOログ・ファイルのミラー書込み整合性は無効にしないでください。 |
CPUも、プロセスの競合が発生する可能性があるシステム・コンポーネントです。ほとんどの場合、IBM AIX on POWER Systems (64-bit)カーネルによってCPUは効果的に割り当てられますが、プロセスの多くはCPUサイクルをめぐって競合します。システムに複数のCPU(SMP)が搭載されている場合は、各CPUで様々なレベルの競合が発生する可能性があります。
AIXTHREAD_SCOPE環境変数のIBM AIX 7.1バージョンおよびIBM AIX 6.1のデフォルト(システム全体)設定にS (1:1)を使用することをお薦めします。
IBM AIX on POWER Systems (64-bit)では、ネットワーク情報サービスの外部ネーミング・アダプタがサポートされています。ネットワーク情報サービスの外部ネーミングを構成および使用する方法の詳細は、『Oracle Database Net Services管理者ガイド』の外部ネーミング・メソッドの構成に関する項を参照してください。
IBM Java 1.6 SR 16は、Oracle Database 12cリリース1(12.1)とともに出荷されます。IBM JDKにSSLを構成する場合は、次の問題が発生する場合があります。
IBM JSSEがSSLv2Hello
SSLプロトコルをサポートしないただし、SSLv3
またはTLS1.0
ハロー・メッセージをカプセル化するクライアントからSSLv2Hello
メッセージを受け入れます。
Thin JDBCコネクタを使用するSSLクライアントでは、SSLv3
はPOODLE
セキュリティの問題から推奨されていないため、oracle.net.ss1_version
システム・プロパティをTLSv1
SSLプロトコルまたはSSLv3
SSLプロトコルを選択するように設定する必要があります。システム・プロパティの推奨は、推奨するSSLv3
のTLSV1.0
、TLSV1.1
およびTLSV1.2
の設定です。設定しないと、接続に失敗します。
IBM JSSEは匿名暗号を許可しない
匿名暗号を使用するSSLクライアントでは、デフォルトのトラスト・マネージャを、匿名暗号を許可するカスタム・トラスト・マネージャに置き換える必要があります。
関連項目:
|