ページの先頭行へ戻る
Interstage Business Application Server セットアップガイド
FUJITSU Software

A.4.8 非同期アプリケーション連携実行基盤用データベースの作成

フロー定義DB、メッセージトラッキングDBおよびメッセージ格納DB用のデータベースを作成します。データベースは、以下に示すデータベース名および“■チューニングパラメタの一覧”を参考にOracleのコマンドを使用して作成してください。

Oracleが提供する Oracle Database Configuration Assistantを利用し、データベースを作成する場合のコマンドの実行例を示します。Oracle Database Configuration Assistantを起動するためには、環境変数 DISPLAYと、xhostの設定が行われている必要があります。詳細については、Oracleマニュアル“データベース管理者ガイド”を参照してください。

注意

Oracleをインストールする際、Oracle Database Configuration Assistantを選択し、インストールされている必要があります。
Oracle Database Configuration Assistantのコマンド実行は、Oracleインストールユーザで行ってください。
Oracle Database Configuration Assistantを起動したいマシンの端末で、rootユーザにより xhostの設定を行う必要があります。xhostの設定例を以下に示します。

xhost +localhost

データベース名

■チューニングパラメタの一覧

Oracleにおけるチューニングパラメタは多種多様な設定となるため、詳細については、Oracleマニュアルを参照してください。ここでは、代表的なチューニングパラメタを以下に示します。利用方法や設定値などについては、Oracleのマニュアルを参照してください。

表A.6 初期化パラメタファイル

分類

パラメタ

概 要

基本

DB_NAME

データベース識別子

  • フロー定義DB、メッセージトラッキングDBを作成する場合はAPFWDB (固定値)。

  • メッセージ格納DBを作成する場合は任意。

CONTROL_FILES

Oracleの制御ファイル名

  • 制御ファイルには、データベース構造などデータベースが動作するうえで重要な情報が、データベース新規作成時に格納されます。この制御ファイルは、1つでも壊れるとデータベースが停止する原因となりますので、最低2つは作成してください。

  • 可能であるなら、異なる物理ディスク上に作成してください。

OPEN_CURSORS

1つのセッションでオープン可能なカーソルの数

  • システム規模に合わせ、チューニングを行う必要があります。以下に目安を示します。
    小規模システム:100以上
    中規模システム:200以上
    大規模システム:300以上

  • カーソル数が不足すると次のエラーが発生します。
    [ORA-01000 最大オープン・カーソル数を超えました。]

INSTANCE_NAME

インスタンス識別子

  • インスタンスの一意の名前であるインスタンス識別子を設定します。

バージョン互換

COMPATIBLE

利用しているOracleのバージョン

  • 現在使用している Oracleのバージョンを指定します。ただし、下位互換のため、データベース作成前に古いバージョンを指定し、データベースを作成すると、現在のバージョンでの新機能が使用不可となり、古いバージョンで動作をしますので、注意が必要です。

メモリ

SGA_MAX_SIZE

システムグローバル領域(SGA)の最大サイズ

  • インスタンス実行中のSGAの最大サイズを設定します。

LOCK_SGA

SGA全体を物理メモリの中にロック

  • システムグローバル領域(SGA)全体を実メモリに固定化します。

  • SGA全体を格納できるだけの十分なメモリを実装している場合、“TRUE”を設定することで、性能の改善が可能となります。

SHARED_POOL_SIZE(注)

共有プールのサイズ

  • 値を大きくすることにより、SQLが共有される確率が高くなり、パフォーマンスが向上します。

SHARED_POOL_RESERVED_SIZE

共有プールの予約領域サイズ

  • 共有プールの予約領域は、大きなメモリを必要とするオブジェクト(PL/SQLブロックなど)に備え、事前に連続したメモリを用意しておく領域です。

LAGRE_POOL_SIZE

ラージプールのサイズ

  • ラージプールを構成することにより、以下の処理で使用されるメモリがラージプールに割り当てられ、共有プールのメモリを圧迫することを防止できます。
    I/Oスレーブプロセス
    Recovery Manager(RMAN)によるバックアップ、リストア
    共有サーバ接続におけるユーザグローバル領域(UGA)
    パラレルクエリ(PARALLEL_AUTOMATIC_TUNINGが“TRUE”の場合だけ)

PARALLEL_AUTOMATIC_TUNING

パラレルクエリにおける並列度の自動調整有無

  • パラレルクエリで使用されるメモリをラージメモリに割り当てます。

  • ラージプールの構成やパラレルクエリの並列度についても自動調整されます。

DB_CACHE_SIZE(注)

データベースバッファキャッシュのサイズ

  • データファイルから読み込まれたデータブロックのコピーが格納されるメモリです。データに対する操作は、すべてデータベースバッファキャッシュを介して行われます。

  • 処理に必要なデータがすべてデータベースバッファキャッシュ上に存在する場合、データベースファイルへのアクセスが不要となり、パフォーマンスの向上が期待できます。

DB_KEEP_CACHE_SIZE(注)

複数バッファプールを構成する場合のKEEPバッファプールのサイズ

  • KEEPバッファプールは、再利用される可能性の高い小さな表などを、可能な限りメモリキャッシュしておくことにより、ディスクI/Oを減少させる目的で使用します。頻繁にアクセスが発生する大きな表についてはKEEPバッファプールに索引だけを格納しておくことで、パフォーマンスの向上が期待できます。

DB_RECYCLE_CACHE_SIZE(注)

複数バッファプールを構成する場合のRECYCLEバッファプールのサイズ

  • 再利用される可能性の低い大きな表などを、不要となった時点でメモリより破棄する目的で使用します。メモリの使用効率を上げることができます。

LOG_BUFFER

REDOログバッファのサイズ

  • REDOログバッファは、DML/DDL文によってデータベースに加えられた変更履歴が記録される循環式メモリです。LGWRプロセスによりREDOログファイルへ書き出されます。

  • この値を大きくすることにより、REDOログファイルに対するディスクI/Oを減少させることができるため、パフォーマンスの向上が期待できます。

PGA_AGGREGATE_TARGET(注)

すべてのサーバプロセスで使用できるプログラムグローバル領域(PGA)の最大サイズ

  • Oracleが使用できる総メモリサイズよりSGAで使用するメモリサイズを差し引いた値を設定します。

  • この最大サイズの範囲内でPGAのメモリ割当てが自動調整されます。

WORKAREA_SIZE_POLICY(注)

自動PGAメモリ管理機能の自動化有無

  • 共有サーバ構成でない場合、“AUTO”に設定することを推奨します。

I/O

DB_BLOCK_SIZE

Oracleのブロックサイズ

  • OLTPシステムの場合は、ブロックサイズを小さくすることで、高いパフォーマンスが得られます。

  • DWHシステムの場合は、ブロックサイズを大きくすることで、高いパフォーマンスが得られます。

DB_FILES

インスタンスで作成可能なデータファイルの最大数

  • データファイルの最大数の求め方は以下のとおりです。

    CEIL((システム表容量 + UNDO表領域量 + A) ÷ 8192) + 20

    A:作成する下記データベースの表容量、索引容量または一時表容量の合計サイズです。
    ・フロー定義DB
    ・メッセージトラッキングDB
    ・メッセージ格納DB(システム固有部)
    ・メッセージ格納DB(ユーザ指定部)
    上記データベースの容量計算方法については、“Interstage Business Application Server チューニングガイド”の“テーブルスペース(フロー定義DB)の見積り式”、“テーブルスペース(メッセージトラッキングDB)の見積り式”、“テーブルスペース(メッセージ格納DBシステム固有部)の見積り式”、“テーブルスペース(メッセージ格納DBユーザ指定部)の見積り式”を参照してください。
    また、apfwsetupdbコマンドを使用してデータベース環境の作成を行い、表容量自動拡張を使用する場合は、上記データベースの各容量に、apfwsetupdbコマンドの環境作成定義ファイルで指定する“容量自動拡張時の上限サイズ”を加算してください。
    CEIL:計算結果が整数になるように切り上げます。

DB_FILE_MULTIBLOCK_READ_COUNT(注)

全表走査でサーバプロセスが一度に読み込むデータブロックの数

  • オペレーティングシステムで読込み可能な最大サイズに合わせることにより、全表走査に必要なI/O回数を最小限に抑えられます。

  • 設定方法としては、オペレーティングシステムで読込み可能な最大サイズが64KBで、ブロックサイズ(DB_BLOCK_SIZE)が8KBの場合、本パラメタは “8”に設定します。(8KB×8=64KB)

FAST_START_MTTR_TARGET(注)

データベースのリカバリ時にインスタンスの起動に要する許容可能な目標時間

  • Oracleでは、この目標時間に近づくようにチェックポイントの頻度を計算し、自動調整を行います。

  • 目標時間は小さすぎてもチェックポイントの頻発を招き、パフォーマンスの低下となります。

  • 本パラメタを設定する場合、以下のパラメタの設定は行わないでください。
    FAST_START_IO_TARGET
    LOG_CHECKPOINT_INTERVAL

LOG_CHECKPOINT_INTERVAL(注)

チェックポイントの間隔

  • チェックポイントの発生頻度を、直前のチェックポイントでREDOログの書込みが完了したブロック位置から、現在LGWRプロセスによって、REDOログが書き込まれているブロック位置までのブロック数で設定します。

  • データベースのリカバリで、読込みが必要となるREDOログブロック数が設定された値以下となります。

LOG_CHECKPOINT_TIMEOUT(注)

チェックポイントの経過時間

  • チェックポイントの発生頻度を、直前のチェックポイントが完了してからの経過時間(秒単位)で設定します。

  • データベースのリカバリにおいて、REDOログブロックの読込みにかかる時間が設定された値以下となります。

LOG_CHECKPOINTS_TO_ALERT(注)

アラートファイルにチェックポイントの開始/終了の記録有無

  • 本パラメタに“TRUE”を設定することにより、指定した頻度でチェックポイントが発生していることを確認できるようになります。

RECOVERY_PARALLELISM

起動するリカバリプロセスの数

  • データベースのリカバリにおける、ロールフォワードフェーズの効率を高めるために設定します。

  • インスタンス障害などによりデータベースが停止した場合、データベースバッファキャッシュの内容がデータファイルに書き出されず、同期化されていません。

  • ロールフォワードフェーズでは、最後のチェックポイント以降のREDOレコードをデータファイルに再適用して同期化を行います。

FAST_START_PARALLEL_ROLLBACK(注)

起動するリカバリプロセスの最大数

  • データベースのリカバリにおける、ロールバックフェーズで起動するリカバリプロセスの最大数を“HIGH”/ “LOW”/ “FALSE”の中より指定します。

  • ロールフォワードフェーズ直後は、データファイルにはコミットされていないトランザクションのデータも含まれますが、ロールバックフェーズでは、ロールバック(UNDO)セグメントの情報を使用し、コミットされていないトランザクションのロールバックを行います。

  • 指定値の概要を以下に示します。
    HIGH :4×CPU_COUNT
    LOW :2×CPU_COUNT
    FALSE:なし

LOG_ARCHIVE_MAX_PROCESSES (注)

起動するARCnプロセス数

  • アーカイブログモード(LOG_ARCHIVE_STARTが “TRUE”)に設定されている場合はインスタンスの起動時に起動されます。

  • アーカイブログモードでない場合、データベース管理者により手動で起動することになります。

  • 起動したARCnプロセス数は、アーカイブ作業負荷により変化します。更新処理が多いシステムで、ログファイルがアーカイブ処理を待機する場合は、追加起動を行います。

DB_WRITER_PROCESSES

起動するDBWnプロセス数

  • DBWR_IO_SLAVESパラメタと同じ動作をしますが、複数I/Oスレーブプロセスが1つのLRUリストしか使用できないことに対し、複数DBWnプロセスでは、複数のLRUリストを使用できます。このため、複数DBWnプロセスは同数の複数I/Oスレーブプロセスよりもスループットが高くなります。

  • マルチプロセッサ環境では、プロセッサと同数の複数DBWnプロセスを起動するとパフォーマンスの向上が期待できます。

DBWR_IO_SLAVES

起動するI/Oスレーブプロセスの数

  • 本パラメタは、非同期I/Oをサポートしていないオペレーティングシステムで、これをシミュレートする目的で使用します。

BACKUP_TAPE_IO_SLAVES(注)

I/Oスレーブプロセスの利用有無

  • Recovery Manager(RMAN)が、データのバックアップやコピー、リストアなどの際、利用するテープデバイスの読み書きにI/Oスレーブプロセスを利用するかどうかを設定します。

  • “FALSE”に設定した場合、二重バックアップは実行できないことに注意してください。

DISK_ASYNCH_IO

ディスクI/Oの非同期化有無

  • 複数のI/O要求が、直前に実行されたI/O要求の完了を待たずに複数のディスクデバイスで実行されるため、ディスクI/Oのスループット向上が期待できます。

  • オペレーティングシステムが非同期I/Oをサポートしていない場合は、“TRUE”を設定しても無効となることに注意してください。

TAPE_ASYNCH_IO

テープI/Oの非同期有無

  • 磁気テープなどのシーケンシャルデバイスに対する設定です。内容は、DISK_ASYNCH_IOと同じです。

競合

PROCESSES

接続可能なユーザプロセス最大数

  • システムで同時に接続可能なユーザプロセス最大数を設定します。

  • すべてのバックグラウンドプロセス(ロック、ジョブキュープロセス、パラレル実行プロセスなど)を考慮し、設定する必要があることに注意してください。

  • Interstage Business Application Serverが使用するデータベースのコネクション数に依存します。

  • 業務処理開始アプリケーション、業務処理実行アプリケーションで使用するコネクションの最大数(総和)になります。

  • ユーザプロセス最大数の求め方は以下の通りです。
    (Σ (業務処理開始アプリケーションで使用するDB数 × 多重度) + Σ (業務処理実行アプリケーションで使用するDB数 × 多重度)) ×1.2(余裕値)
    DB数は以下の通り計算してください。
    ・当該アプリケーションが動作するフロー定義で指定された以下のDB数
    - フロー定義DB
    - メッセージトラッキングDB
    - メッセージ格納DB
    なお、複数のフロー定義で当該アプリケーションが動作する場合、同名のDBについては加算不要です。
    ・多重度にはアプリケーションの多重度を指定してください。

SESSIONS

接続可能なセッション最大数

  • システムで同時に接続可能なセッション最大数を設定します。

  • セッション最大数の求め方は以下の通りです。
    PROCESSES × 1.1 + 5

TRANSACTIONS

実行可能なトランザクション最大数

  • システムで同時に実行可能なトランザクション最大数を設定します。

  • 再帰的トランザクションを考慮し、SESSIONおよび、PROCESSESの値より大きく指定する必要があります。

  • トランザクション最大数の求め方は以下の通りです。
    SESSIONS × 1.1

ROW_LOCKING

行レベルロックの利用方法

  • レコード更新時に実施する行レベルロックの利用方法を設定します。

  • 設定値の内容を以下に示します。
    ALWAYS/DEFAULT:行レベルのロック
    INTENT :表レベルのロック

UNDO_MANAGEMENT

ロールバックセグメントのOracle自動管理化有無

  • ロールバックセグメントを手動で管理する従来の方法と比較し、より少ない作業で効率的に実施できるUNDO管理を行うかを指定します。

UNDO_TABLESPACE(注)

インスタンス起動時に使用するUNDO表領域名

  • 本パラメタを省略した場合、データベース内の最初に使用可能なUNDO表領域が使用されます。使用可能なUNDO表領域がない場合は、SYSTEMロールバックセグメントが使用されます。

  • SYSTEMロールバックセグメントを使用した状態では、パフォーマンスの低下につながるため、UNDO表領域の作成を推奨します。

UNDO_RETENTION

UNDOレコードを保持する時間

  • 読み取り一貫性保証を行うため、UNDOセグメントにUNDOレコードを保持する時間を設定します。

  • 読み取り一貫性保証とは、ユーザが問合せを開始した時点でコミットが完了したデータの読み取りの整合性を保証するものです。Oracleでは、問合せの途中でデータが変更された場合であっても、変更前のデータ(UNDOレコード)を読み取ることにより、問合せの結果に影響が及ばないようになっています。

  • 設定した時間に発生しうるUNDOレコードを保持できるサイズのUNDO表領域が必要となります。不足した場合、UNDOレコードは上書きされてしまい、読み取り一貫性エラー(ORA-01555)が発生します。

UNDO_SUPPRESS_ERRORS(注)

自動UNDO管理下における、エラー(ORA-30019)となるロールバックセグメント操作を実行した際のエラー抑止の有無を設定します。

認証

REMOTE_LOGIN_PASSWORDFILE

パスワードファイル認証の有効化

  • パスワードファイル認証は、管理者のパスワードをパスワードファイルに登録し、管理者はそのパスワードで認証される方法です。

  • 管理者とは、SYSDBA権限を所有する特権ユーザを指します。

  • パスワードファイル認証を有効とするためには、本パラメタに“EXCLUSIVE”または、“SHARED”を指定する必要があります。

注)動的パラメタであり、ALTER SYSTEM文を発行することにより、インスタンスの停止なしに動的変更が可能なパラメタです。

表A.7 リスナーファイル

分類

パラメタ

概 要

接続数

QUEUESIZE

サーバへの同時接続要求数を指定します。
プロトコル・アドレスのパラメタとして指定します。
QUEUESIZE の求め方は以下の通りです。

(Σ (業務処理開始アプリケーションで使用するDB数 × 多重度) + Σ (業務処理実行アプリケーションで使用するDB数 × 多重度)) × 1.2(余裕値)

DB数には、当該アプリケーションが動作するフロー定義で指定されている、以下のDB数を指定してください。
- フロー定義DB
- メッセージトラッキングDB
- メッセージ格納DB
なお、複数のフロー定義で当該アプリケーションが動作する場合、同名のDBについては加算不要です。

多重度にはアプリケーションの多重度を指定してください。