以下の手順でRDBの定義を行います。
テキストエディタを使用して、RDB構成パラメタファイルに以下の設定を行います。
RDBDIRSPACEの追加
RDBDIRSPACE1およびRDBDIRSPACE2の削除
RDBDBSNUMの変更
RDBLOGMANAGEの変更
RDBLOGGROUPMANAGEの追加または変更
RDB構成パラメタファイルは、RDBの制御ファイルがインストールされているディレクトリ\RDB\ETC(C:\SFWETC\RDB\ETC)内のRDBSYS.SAMを複写し、複写先のファイル名をRDBシステム名.CFGとして作成します。RDBシステム名は、環境変数のRDBNAMEで設定するRDBシステム名と対応づけられます。
RDBの制御ファイルがインストールされているディレクトリ\RDB\ETC(C:\SFWETC\RDB\ETC)内のテキストファイルRDBSYSCONFIGに定義します。
参照
その他のパラメタについては、“セットアップガイド”を参照してください。
記述形式は、以下のとおりです。
RDBDIRSPACE = 共用ディスク装置のローデバイス名
RDBディレクトリファイルの配置先のローデバイスの絶対パス名を記述します。
RDB構成パラメタファイル内の、RDBDIRSPACE1およびRDBDIRSPACE2は、削除してください。
運用インスタンスと待機インスタンスでは、同じローデバイス名を記述してください。
ここで指定した共用ディスク装置のローデバイスには、データベース用のRDBディレクトリファイルおよびRDBディクショナリ用のRDBディレクトリファイルの両方が作成されます。
データベーススペース用のリーダ/ライタ数を指定します。
記述形式は、以下のとおりです。
RDBDBSNUM = リーダ/ライタ数
データベーススペース用に割り当てるリーダとライタの対の数を1以上の値で指定します。
本指定の省略時は、リーダ/ライタ数として32が指定されたものとみなします。リーダ/ライタ数は、データベーススペース数を指定すると最大性能を発揮します。ただし、リーダ/ライタは一対につき約500キロバイトのメモリを必要としますので、メモリに十分な余裕があることを確認した上で指定してください。本指定では、CREATE DBSPACE文でALLOCATE RAWDEVICEまたはALLOCATE FILEを指定して作成したデータベーススペースが対象になります。
記述形式は、以下のとおりです。
RDBLOGMANAGE = 共用ディスク装置のローデバイス名
ログ管理ファイルの配置先のローデバイスの絶対パス名を記述します。
運用インスタンスと待機インスタンスでは、同じローデバイス名を記述してください。
スケーラブルログ運用を行う場合、ロググループ管理ファイルの情報を定義します。
記述形式は、以下のとおりです。
RDBLOGGROUPMANAGE = 共用ディスク装置のローデバイス名 [,運用フラグ]
ロググループ管理ファイルの配置先のローデバイスの絶対パス名を記述します。
運用インスタンスと待機インスタンスでは、同じローデバイス名を記述してください。
スケーラブルディレクトリ運用を行うか行わないかを指定します。省略した場合は、SCLDIR_NOUSEが指定されたとみなします。
SCLDIR_USE:スケーラブルディレクトリ運用を行う場合に指定します。
SCLDIR_NOUSE:スケーラブルディレクトリ運用を行わない場合に指定します。
注意
RDBCOREに設定する絶対パス名には、ローカルディスク上のシステムファイルを指定してください。
ロググループ管理ファイルの配置先のローデバイスが、既存のRDBシステムの資源(RDBディクショナリ、RDBディレクトリファイル、データベーススペース、ログ管理ファイル、テンポラリログファイル、アーカイブログファイル、監査ログデータベース)を配置しているローデバイスと重複しないようにしてください。
運用インスタンスと待機インスタンスのシステム用の動作環境ファイルに、以下の設定を行ってください。
サーバ側で使用するソート作業域、作業用テーブル域の獲得先ディレクトリを指定します。ソート作業域は、ローカルディスクに配置するため、運用インスタンスの異常事象を契機に待機インスタンスに切り替わると、旧運用インスタンスで利用していたソート作業域がローカルファイルシステム上に残ります。運用対処として、待機インスタンスを起動する前にdelコマンドを利用して、ソート作業域(SYMFORDB*)を必ず削除するようにしてください。ソート作業域を削除しやすいように、作業用の専用ディスクを用意し、本パラメタを設定して、ソート作業域の所在を明確にすることをお勧めします。ソート作業域は、RDBの動作環境ごとに、異なったディレクトリを準備して利用してください。
ソート作業域の削除は、サブプロシジャを登録することにより、簡単に行うことができます。
参照
本パラメタの指定方法については、“RDB運用ガイド”および“アプリケーション開発ガイド(埋込みSQL編)”を参照してください。
サブプロシジャの登録方法については、“4.1.3 状態遷移プロシジャのサブプロシジャの登録”を参照してください。
以下の環境変数の設定を行ってください。
環境変数RDBNAMEにRDBシステム名を設定します。RDBシステム名はコマンドプロンプトからsetコマンドで設定します。ただし、運用待機でRDBシステム名をつけない運用の場合は、本設定は不要です。
環境変数RDBNAMEにRDBシステム名RDBSYS1を設定する場合
> set RDBNAME=RDBSYS1
Symfoware/RDB環境の作成では、以下に示す環境をコマンドプロンプトで作成する必要があります。それぞれのファイルは、ローデバイスに作成します。
ローデバイスは、共用ディスク装置を指定してください。
ログ管理ファイル
テンポラリログファイル
アーカイブログファイル
RDBディクショナリ
RDBディレクトリファイル
スケーラブルログ運用およびスケーラブルディレクトリ運用を行う場合は、以下のファイルを作成してください。
ロググループ管理ファイル
ユーザロググループ用のログファイル(ログ管理ファイル、テンポラリログファイルおよびアーカイブログファイル)
ユーザロググループ用のRDBディレクトリファイル
格納データを暗号化する場合は、以下のファイルを作成してください。
マスタ暗号化キーファイル
監査ログ運用を行う場合は、以下のファイルを作成してください。
ロググループ管理ファイル
監査ログデータベースのログ管理ファイル
監査ログデータベースのテンポラリログファイル
監査ログデータベース
参照
RDB資源のディスク配置については、“セットアップガイド”を参照してください。
ファイル作成について以下に示します。
スケーラブルログ運用または監査ログ運用を行う場合は、ロググループ管理ファイルを作成します。ロググループ管理ファイルの作成は、rdblogコマンドのMオプションで行います。ロググループ管理ファイルは、RDB構成パラメタファイル内のRDBLOGGROUPMANAGEで指定したローデバイスに作成されます。
> rdblog -M
RDB構成パラメタファイルのRDBLOGMANAGEで指定した共用ディスク装置のローデバイスにログ管理ファイルを作成します。
ログ管理ファイルの作成は、rdblogコマンドのIオプションで行います。
> rdblog -I
RDBの運用前にはテンポラリログファイルを作成しなければなりません。テンポラリログファイルの設置は必須であり、存在しない場合はRDBを起動することができません。
テンポラリログファイルの作成はrdblogコマンドのGオプションかつtオプションで行います。
なお、テンポラリログファイルは、ログ管理ファイルと同じローデバイスに作成することができます。
BIログ域30メガバイト、AIログ域30メガバイト、トランザクションエントリ数20およびログインデックス域を、\\.\TMP_LOGに作成する場合
> rdblog -G -t \\.\TMP_LOG -in -in 30M 30M 20
注意
テンポラリログファイルのBIログ域サイズおよびAIログ域サイズには、16ギガバイト未満を指定してください。
アーカイブログの適用によるリカバリを行う場合には、アーカイブログファイルを2個以上作成しておきます。
アーカイブログファイルの初期作成は、rdblogコマンドのGオプションかつaオプションで行います。
アーカイブログファイルを、2メガバイトの容量で、\\.\ARC_LOG01に作成する場合
> rdblog -G -a \\.\ARC_LOG01 2M
アーカイブログファイルの初期作成が終わったら、アーカイブログファイルの追加を行います。アーカイブログファイルの追加は、rdblogコマンドのUオプションかつaオプションで行います。このとき、追加するアーカイブログファイルの大きさは指定できません。指定したローデバイスの大きさに関係なく、初期作成時の値が使用されます。
アーカイブログファイルの追加は、RDBが起動している状態でも実行することができます。
アーカイブログファイルを、\\.\ARC_LOG02および\\.\ARC_LOG03に作成する場合
> rdblog -U -a \\.\ARC_LOG02 > rdblog -U -a \\.\ARC_LOG03
データベース環境を作成するためにRDBディクショナリを作成します。RDBディクショナリの作成は、rdbcrdicコマンドで行います。rdbcrdicコマンド実行時に、ローデバイス名を指定して作成してください。
RDBディクショナリを作成した後は、リカバリに備えてRDBディクショナリの退避データを取得しておく必要があります。
参照
退避データ取得の詳細については、“RDB運用ガイド”を参照してください。
RDBディクショナリを、60メガバイトの容量で、\\.\DICTIONARYに作成する場合
> rdbcrdic -r \\.\DICTIONARY -a 60M
ポイント
システムファイル(ログ管理ファイル、テンポラリログファイル、アーカイブログファイル、RDBディクショナリおよびRDBディレクトリファイル)に異常が発生した場合、そのリカバリのためにRDBシステムを停止しなければなりません。そのため、RDBのシステムファイルは二重化することを推奨します。
RDBディレクトリファイルは、RDBディクショナリの作成時に、RDB構成パラメタファイルで指定したローデバイスに、データベース用とRDBディクショナリ用の両方が自動的に作成されます。
参照
rdbcrdicコマンドの指定方法の詳細については、“コマンドリファレンス”を参照してください。
スケーラブルログ運用を行う場合は、以下のユーザロググループ用のログファイルを作成します。
ユーザロググループ用のログ管理ファイル
ユーザロググループ用のテンポラリログファイル
ユーザロググループ用のアーカイブログファイル
これらのファイルは、rdblogコマンドのオプションに、gオプションの指定を追加して作成します。
参照
rdblogコマンドの指定方法の詳細については、“コマンドリファレンス”を参照してください。
スケーラブルディレクトリ運用を行う場合は、ユーザロググループ用のRDBディレクトリファイルを作成します。ユーザロググループ用のRDBディレクトリファイルの作成は、rdbscldirコマンドのGオプションで行います。
ユーザロググループ用のRDBディレクトリファイルを作成する場合、すべてのユーザロググループに対して、作成処理を行ってください。ユーザロググループ用のRDBディレクトリファイルが作成されていないユーザロググループが1つでも存在する場合は、RDBを起動することができません。
RDBディレクトリファイルを、\\.\RDBDIR_G1に作成する場合
> rdbscldir -G -g grp1 \\.\RDBDIR_G1
参照
rdbscldirコマンドの指定方法の詳細については、“コマンドリファレンス”を参照してください。
格納データを暗号化する場合は、マスタ暗号化キーファイルの作成とバックアップを行ってください。
RDBディクショナリ内にある内部暗号化キーは、マスタ暗号化キーを使用して作成しています。
そのため、RDBディクショナリのリカバリ時には、RDBディクショナリのバックアップを取得したときに使用していたマスタ暗号化キーが必要です。
マスタ暗号化キーを紛失した場合、データを復号できなくなります。そのため、マスタ暗号化キーファイルの作成が完了したら、マスタ暗号化キーファイルのバックアップを行ってください。
マスタ暗号化キーは、定期的に変更を行う必要があるため、RDBディクショナリのバックアップと関連づけて管理してください。例えば、マスタ暗号化キーファイルの名前には、作成および変更をした日付を入れておくことを推奨します。
参照
マスタ暗号化キーの変更方法については、“5.5.2 マスタ暗号化キーの変更”を参照してください。
マスタ暗号化キーを、キー管理サーバまたはキー管理ストレージに作成します。
マスタ暗号化キーの作成は、運用ノードでrdbenckeyコマンドを実行して行います。
RDBディクショナリ内にある内部暗号化キーは、マスタ暗号化キーファイルの配置先を保持しています。そのため、RDBディクショナリをリカバリする際、RDBディクショナリのバックアップ取得時に使用していたマスタ暗号化キーファイルを、そのときの配置先に復元する必要があります。マスタ暗号化キーの作成や変更で配置先を変更すると管理が大変になるため、マスタ暗号化キーファイルの作成先は、同じディレクトリにしておくことを推奨します。
マスタ暗号化キーファイルを、キー管理サーバ上の\SYMFO\MSTKEYディレクトリに、“MASTERKEY20120701.DAT”というファイル名で作成する場合
>rdbenckey -S \\KEYSVR\SYMFO\MSTKEY\MASTERKEY20120701.DAT
注意
ドライブ接続により接続した共有フォルダ上にマスタ暗号化キーファイルを作成することはできません。マスタ暗号化キーファイルを作成する共有フォルダをネットワークドライブとして割り当てないでください。
マスタ暗号化キーファイルはUNCパスの形式で指定してください。
参照
rdbenckeyコマンドの詳細については、“コマンドリファレンス”を参照してください。
マスタ暗号化キーのバックアップは、ディスクが破損した場合に備えて、マスタ暗号化キーファイルとは、別のディスクで管理してください。また、RDBディクショナリと同時に盗難されないように、RDBディクショナリのバックアップとも分けて管理してください。
マスタ暗号化キーファイルを復元しやすくするため、同じファイル名を使用することを推奨します。
キー管理サーバ上で、バックアップ用ディスクをBACKUPKEYという名称でマウントしてバックアップする場合
> copy \\KEYSVR\SYMFO\MSTKEY\MASTERKEY20120701.DAT \\KEYSVR\BACKUPKEY\MSTKEY
監査ログデータベースのログ管理ファイルを作成します。
ログ管理ファイルの作成は、rdblogコマンドのIオプションおよびgオプションで行います。
ロググループ名には“#RDBII_ADTLOG#”を指定してください。
監査ログデータベースのログ管理ファイルを作成する例を以下に示します。
監査ログデータベースのログ管理ファイルを、ローデバイス\\.\ADT_LOG_MNGに作成する場合
> rdblog -I -g #RDBII_ADTLOG# \\.\ADT_LOG_MNG
監査ログデータベースのテンポラリログファイルを作成について説明します。
監査ログデータベースのテンポラリログファイルの作成はrdblogコマンドのGオプション、tオプションおよびgオプションで行います。
ロググループ名には“#RDBII_ADTLOG#”を指定してください。
監査ログデータベースのテンポラリログファイルを作成する例を以下に示します。
BIログ域10メガバイト、AIログ域10メガバイト、トランザクションエントリ数10およびログインデックス域、BIログ域およびAIログ域を、ローデバイス\\.\ADT_TMP_LOGに作成する場合
> rdblog -G -t -g #RDBII_ADTLOG# \\.\ADT_TMP_LOG -in -in 10M 10M 10
監査ログを取得するための監査ログデータベースを作成します。
監査ログデータベースの作成は、rdbauditコマンドのcオプション、nオプション、sオプションおよびrオプションで行います。
Symfoware/RDBを起動してから、rdbauditコマンドを実行してください。
監査ログにはアプリケーションから実行したSQL文などが含まれます。SQL文に表データなどの機密情報を含む場合には、Eオプションを指定し、監査ログを暗号化します。
監査ログデータベースが満杯になると、監査ログに出力される内容が、メッセージログファイルに出力されます。メッセージログファイルは暗号化されないため、機密情報が漏洩する危険性があります。このような場合の危険性を回避するためには、監査ログの取得範囲にSQL文を含めないか、監査ログパラメタ“AUDIT_LOG_FULL”に“STOP”を設定して、監査ログ運用を行ってください。
監査ログデータベースの満杯が発生した場合は、すみやかに満杯を解消し、監査ログ運用を再開してください。
監査ログデータベースを作成する例を以下に示します。
エレメント数3、エレメントサイズ200メガバイト、ローデバイス\\.\ADT_FILE001に、暗号化アルゴリズムAES256で作成する場合
> rdbstart > rdbaudit -c -n 3 -s 200M -r \\.\ADT_FILE001 -E AES256
注意
監査ログデータベースを1つのディスクに作成すると、監査ログデータベースにディスク入出力障害が発生した場合に監査ログ運用が続行できなくなります。このため、監査ログエレメントの追加操作により、あらかじめ複数のディスクに監査ログエレメントを分散配置することをお勧めします。
参照
監査ログの取得範囲の選択については、“セットアップガイド”を参照してください。