セットアップを行う前に必要な以下の知識について説明します。
非同期アプリケーション連携実行基盤ではデータベースを使用します。データベースが動作する環境を、RDBシステム、またはSymfoware/RDBと呼びます。非同期アプリケーション連携実行基盤で使用するRDBシステムの資源の構成を以下に示します。
OS資源とRDBシステムの資源の役割を、以下に示します。
種類 | 役割 | 配置ファイル域 | |
---|---|---|---|
OS資源 | 共用メモリ、セマフォ | RDBシステムのプロセスと外部との情報交換に使用します。 |
|
RDBシステムの資源 | RDBディクショナリ | データベースのテーブルの定義情報を保持します。 |
|
RDBディレクトリファイル | データベースのテーブルにアクセスするためのデータ配置情報、運用情報などを保持します。 | ファイルシステム | |
データベーススペース | データベースのデータを格納します。 |
| |
ログ管理ファイル | テンポラリログファイルやアーカイブログファイルの配置位置などの情報を保持します。 |
| |
テンポラリログファイル | ダウンリカバリ、ロールバックに備えたログ情報を保持します。 |
| |
アーカイブログファイル (注2) | メディアリカバリに備えたログ情報を保持します。 |
| |
RDB構成パラメタファイル | 動作環境を規定する各種情報を保持します。 | ファイルシステム | |
動作環境ファイル | アプリケーションが実行しているときの動作環境のチューニングに使用します。 | ファイルシステム | |
退避ディスク | データベースのデータを退避します。 | ファイルシステム | |
作業域 | アプリケーションの実行、RDBコマンドの実行時に使用する作業領域です。 | ファイルシステム |
注1) 同梱のSymfoware/RDBを利用する場合は、メッセージ格納DBは使用できません。
注2) 同梱のSymfoware/RDBを利用する場合は、アーカイブログファイルは使用しません。ただし、高信頼性ログ機能を利用する場合はアーカイブログファイルを使用できます。高信頼性ログ機能については、“Interstage Business Application Server 運用ガイド(高信頼性ログ編)”を参照してください。
上記で示す集まりが、1つのRDBシステムが動作するための資源です。
RDBシステムは、名前を付けることができます。RDBシステムに名前をつけることによって、それぞれのRDBシステムの環境を区別することができ、1つのサーバ上に、複数のRDBシステムを作成して運用することができます。RDBシステムを区別するために付けた名前をRDBシステム名と呼びます。複数のRDBシステムが存在している運用をマルチRDB運用と呼びます。
RDBシステムの動作環境をローデバイスに作成する場合は“5.2.2.2 ローデバイスの作成”を参照してください。
ポイント
非同期アプリケーション連携実行基盤で必要なRDBシステムは1つです。業務用のデータを格納するデータベース(以降、“業務用データベース”と呼びます。)や高信頼性ログも同じRDBシステムを使用できます。
業務用データベースを別のRDBシステムで使用したい場合や、高信頼性ログを別のRDBシステムで使用したい場合には、必要なRDBシステムを作成して、マルチRDB運用で使用することもできます。
高信頼性ログ機能を利用する場合は、“Interstage Business Application Server 運用ガイド(高信頼性ログ編)”を参照してください。
RDBシステム名は、8バイト以内の先頭が英字で始まる英数字で命名します。なお、RDBシステム名に“RDBII”を命名することはできません。
注意
同梱のSymfoware/RDBを利用する場合は、RDBシステム名を命名する必要があります。
製品版のSymfoware Serverを利用する場合は、RDBシステム名を付けない運用をすることができます。RDBシステム名を付けない運用をする場合は、RDBシステム名の命名は必要ありません。RDBシステム名を付ける場合、1つのシステムで複数のRDBシステムを運用することが可能となります。また、RDBシステム名を付けない場合は、1つのシステムで運用可能なRDBシステムは1つのみとなります。
Interstage Business Application Serverをインストールするにあたって、使用する文字コード系を決定する必要があります。決定した文字コード系は、インストール時に指定します。
非同期アプリケーション連携実行基盤では、以下の文字コード系が使用できます。
日本語EUCコードのS90コード
シフトJISコード
UNICODE
◆日本語EUCコードのS90コード
日本語EUCコードのS90コードは、UNIX系システムの日本語環境でよく使われる文字コード系です。通常、UNIX系システムにおいて、日本語EUCコードを使用する場合は、S90コードを使用します。
データベースの文字コード系に日本語EUCコードのS90コードが選択された場合、Symfoware/RDBは、文字列型(CHARACTER型)はS90コードで格納し、各国語文字列型(NATIONAL CHARACTER型)はS90コードをCOBOL_EUC形式のS90コードに変換して格納します。COBOL_EUC形式のS90コードは、COBOLの内部表現形式である16ビットワイドキャラクタ表現に準拠しています。
文字列型(CHARACTER型)
1、2バイトのS90コードで格納
各国語文字列型(NATIONAL CHARACTER型)
2バイトのCOBOLの内部表現形式(COBOL_EUC)のS90コードで格納
◆シフトJISコード
シフトJISコードは、一般にWindows系や一部のUNIX系システムでも採用されている文字コード系です。シフトJISコードには、Microsoft系のシフトJISコードや各ベンダが拡張したシフトJISコードが存在します。このうちInterstage Business Application Serverは、Microsoft系のシフトJISコードを採用しています。Microsoft系のシフトJISコードは、日本語EUCコードのS90コードやUTF-8コードと高い親和性をもっています。
文字列型(CHARACTER型)
1、2バイトのシフトJISコードを格納
各国語文字列型(NATIONAL CHARACTER型)
2バイトのシフトJISコードを格納
◆UNICODE
UNICODEは、世界各国の各国語文字を統一的に扱うことを目的とした、マルチバイトの文字コード系です。そのため、UNICODEを使っている限り、言語種別を意識する必要がありません。
また、現存する文字に十分対応できており、日本語の地名や人名などに使用されている特殊な文字も含んでいます。従来のコードには、このような文字は含まれていなかったため、使用する文字コード系ごとに拡張域を使用して対処していました。このように、UNICODEは非常にまれな文字をも網羅しているという特色をもっています。
Symfoware/RDBは、UNICODEとして、2バイト固定長形式のUCS-2コードとUCS-2を1、2、3バイトの可変長にエンコーディングしたUTF-8を使用します。
UCS-2コードは、各国語文字列型(NATIONAL CHARACTER型)のデータに使用します。したがって、英数字文字のように通常1バイト文字として扱われるデータも2バイトのコードで表現するため、制御文字やASCII文字を各国語文字列型に格納することが可能です。
UTF-8は、文字列型(CHARACTER型)のデータに使用します。UTF-8は、可変長エンコーディング方式を採用しているので、文字のデータ長に注意する必要があります。たとえば、日本語文字は通常3バイトで表現されるため、ほかの文字コード系のデータ長よりも多くの領域が必要となります。
文字列型(CHARACTER型)
1、2、3バイトのUTF-8エンコーディング形式で格納
各国語文字列型(NATIONAL CHARACTER型)
2バイトのUCS-2コードで格納
■文字コード系と格納形式
テーブルの文字コード系に各文字コード系を指定した場合の格納形式を、以下に示します。
文字列型と各国語文字列型はマルチバイトキャラクタを1文字単位で扱います。文字列型は、1文字を表現するバイト数が可変長形式です。各国語文字列型は、1文字を表現するバイト数が固定長形式です。
文字コード系 | 格納形式 | |
---|---|---|
文字列型 | 各国語文字列型 | |
日本語EUCコードのS90 | S90コード | COBOL_EUC形式のS90コード |
シフトJISコード | シフトJISコード | シフトJISコード |
UNICODEのUTF-8 | UTF-8コード | UCS-2コード |
文字コード系は、以下の観点のもとで、データベースシステムを取り巻くシステム全体のキャラクタの扱いやキャラクタの流通性を考慮して、決定してください。
余分なコード変換によるオーバーヘッドの削減
コード変換エラーによるデータ損失を排除
具体的には、システム全体で使用する文字コード系が1つに決まるときには、それをデータベースの文字コード系にすることをお勧めします。複数の文字コード系を使用するときは、システム全体を包含するような文字コード系を選択し、できるだけコード変換の回数が少なくなるようにしてデータベースの文字コード系を決定してください。
Symfoware/RDBのロケールは、Interstage Business Application Serverインストール時のOSのデフォルトロケールと同じロケールが適用されます。Symfoware/RDBのロケールとして、以下のロケールが使用できます。
ja (Solaris 10のみ)
ja_JP.eucJP (Solaris 11のみ)
ja_JP.PCK
ja_JP.UTF-8
C
ja_JP.UTF-8
ja_JP.eucJP
C
■データベースの文字コード系とSymfoware/RDBのロケールの組み合わせ
Symfoware/RDBのロケールは、データベースの文字コード系に関わらず、選択することができます。
データベースの文字コード系とSymfoware/RDBのロケールの関係を以下に示します。
| Symfoware/RDBのロケール(OSのデフォルトロケール) | |||||
---|---|---|---|---|---|---|
ja (Solaris 10のみ) | ja_JP.eucJP (Solaris 11のみ) | ja_JP.PCK | ja_JP.UTF-8 | C | ||
データベースの文字コード系 | EUC_S90 | ◎ | ◎ | ○ | ○ | ○ |
SJIS | ○ | ○ | ◎ | ○ | ○ | |
UNICODE | ○ | ○ | ○ | ◎ | ◎ |
◎: 組合せて運用可能(推奨)
○: 組合せて運用可能
EUC_S90 : 日本語EUCコードのS90コード
SJIS : シフトJISコード
UNICODE : UNICODE
| Symfoware/RDBのロケール(OSのデフォルトロケール) | |||
---|---|---|---|---|
ja_JP.eucJP | ja_JP.UTF-8 | C | ||
データベースの文字コード系 | EUC_S90 | ◎ | ○ | ○ |
SJIS | ○ | ○ | ○ | |
UNICODE | ○ | ◎ | ◎ |
◎: 組合せて運用可能(推奨)
○: 組合せて運用可能
EUC_S90 : 日本語EUCコードのS90コード
SJIS : シフトJISコード
UNICODE : UNICODE
Symfoware/RDB起動時やRDBコマンド実行時に、環境変数LANGにはSymfoware/RDBのロケールを指定する必要があります。異なっている場合、RDBコマンドはエラーになります。
■Symfoware/RDBおよびRDBコマンドが出力するメッセージの言語種別とSymfoware/RDBのロケールの関係
Symfoware/RDB起動時にLANGに指定するSymfoware/RDBのロケールによって、Symfoware/RDBおよびRDBコマンドが出力するメッセージの言語種別(日本語/英語)が決定されます。
Symfoware/RDBのロケールと出力メッセージの言語種別の関係を以下に示します。
Symfoware/RDBのロケール | 出力メッセージの言語種別 | 出力メッセージの文字コード系 |
---|---|---|
ja (Solaris 10のみ) | 日本語 | EUC_S90 |
ja_JP.eucJP (Solaris 11のみ) | 英語 | EUC_S90 |
ja_JP.PCK | 日本語 | SJIS |
ja_JP.UTF-8 | 日本語 | UNICODE |
C | 英語 | Symfoware/RDBの文字コード系 |
EUC_S90 : 日本語EUCコードのS90コード
SJIS : シフトJISコード
UNICODE : UNICODE
注1) Symfoware/RDB起動時にLANGに指定したSymfoware/RDBのロケールです。
注2) Symfoware/RDBのプロセスが動作する中で使用する文字コード系です。
Symfoware/RDBのロケール | 出力メッセージの言語種別 | 出力メッセージの文字コード系 |
---|---|---|
ja_JP.eucJP | 日本語 | EUC_S90 |
ja_JP.UTF-8 | 日本語 | UNICODE |
C | 英語 | Symfoware/RDBの文字コード系 |
EUC_S90 : 日本語EUCコードのS90コード
SJIS : シフトJISコード
UNICODE : UNICODE
注1) Symfoware/RDB起動時にLANGに指定したSymfoware/RDBのロケールです。
注2) Symfoware/RDBのプロセスが動作する中で使用する文字コード系です。
詳細は、“5.2.1.3.4 Symfoware/RDBのロケールとSymfoware/RDBの文字コード系の関係”を参照してください。
Symfoware/RDBの文字コード系とは、Symfoware/RDBプロセスが処理する際の文字コード系を示します。Symfoware/RDBが読み込む動作環境ファイルやRDBコマンドの入力ファイルの文字コード系を示します。また、Symfoware/RDBやRDBコマンドが出力するメッセージもこの文字コード系となります。
Symfoware/RDBのロケールとSymfoware/RDBの文字コード系の関係を以下に示します。
Symfoware/RDBのロケール | Symfoware/RDBの文字コード系 |
---|---|
ja (Solaris 10のみ) | EUC_S90 |
ja_JP.eucJP (Solaris 11のみ) | EUC_S90 |
ja_JP.PCK | SJIS |
ja_JP.UTF-8 | UNICODE |
C | データベースの文字コード系 (注) |
注) インストール時に指定するデータベースの文字コード系が適用されます。
Symfoware/RDBのロケール | Symfoware/RDBの文字コード系 |
---|---|
ja_JP.UTF-8 | UNICODE |
C | データベースの文字コード系 (注) |
注) インストール時に指定するデータベースの文字コード系が適用されます。
Symfowareのデータベースにアクセスするためには利用者の登録が必要です。利用者の登録は認証の形式よって管理の仕方や登録の仕方が違います。
以下に、認証の形式の種類を示します。
認証形式 | 説明 | |
---|---|---|
DB専用ユーザ認証 | DBMSユーザ認証 | 前提として、利用者登録の使用宣言をしている場合です。データベースの利用者定義(CREATE USER)を使用する形式で、ユーザID、パスワードをSymfowareで管理します。 |
OSパスワード認証 | 前提として、利用者登録の使用宣言をしている場合です。データベース操作を行うユーザは、OSユーザとして登録されている必要があり、また、Symfowareの利用者定義(CREATE USER)によって登録されていて、かつパスワードがOSに登録されているものと一致している必要があります。 | |
OS認証 | OSユーザ認証 | 前提として、利用者登録の使用宣言をしていない場合です。データベース操作を行うユーザは、OSユーザとして登録されている必要があり、かつパスワードがOSに登録されているものと一致している必要があります。 |
注意
“利用者登録の使用宣言”とは、Symfoware固有の利用者制限方式であり、RDBシステム単位にデータベースへのアクセスを許可する場合は、利用者登録の使用宣言を行います。また、利用者登録の使用宣言は、rdbddlexコマンドのSET SYSTEM PARAMETER文で行います。“利用者登録の使用宣言”の詳細については、同梱のSymfoware/RDBを利用する場合は“Interstage Business Application Server リファレンス”の“SET SYSTEM PARAMETER文”を参照してください。製品版のSymfoware Serverを利用する場合は“Symfoware Server RDB運用ガイド”の“利用者の登録”を参照してください。
データベース環境セットアップコマンド(apfwcrtdbenv)を利用した場合、フロー定義DBおよびメッセージトラッキングDBで利用しているRDBシステムに対しては、データベース環境セットアップコマンドによってDBMSユーザ認証を使用する設定を行います。特に利用者の登録を行う必要はありません。DBMSユーザ認証以外を使用する場合は、“付録A カスタムセットアップによる環境作成”を参照してください。
メッセージ格納DBを使用する場合は、事前にメッセージ格納DBで利用するRDBシステムに対して、DBMSユーザ認証の設定を行う必要があります。そして、事前にDBMSユーザ認証を指定した業務ユーザの作成が必要です。DBMSユーザ認証以外を使用する場合は、“付録A カスタムセットアップによる環境作成”を参照してください。
DB専用ユーザ認証からOS認証に変更した場合、利用者定義は削除されます。再度、OS認証からDB専用ユーザ認証に設定する場合は、利用者定義(CREATE USER)を行う必要があります。