Adabas 拡張オペレーション(AEO)環境にある各データベースには、コンフィグレーションパラメータが必要です。DBA がデータベースに定義した特殊な規準は、コンフィグレーションパラメータを通じて AEO に通知されます。これにより、AEO は特定のデータベースでイベントが発生したときの対応を認識できます。
コンフィグレーションパラメータはコンフィグレーションファイルに格納されています。コンフィグレーションファイルの 1 つ、ADABAS.INI は、そのノード上の Adabas 環境にあるすべてのデータベースに適用するコンフィグレーションパラメータを含んでいます。さらに各データベースにおいて、DBnnn.INI(nnn はデータベース番号)があります。
ADABAS.INI および DBnnn.INI ファイルには、コンテナ割り当て、ニュークリアスパラメータ、AEO の制御パラメータなどの定義が含まれています。両方とも ASCII ファイルなので、標準のテキストエディタで編集できます。ただし、テキストエディタでは、コンフィグレーションファイルの構文が正しいことは保証されません。コンフィグレーションファイル内の AEO 固有エントリの維持管理には、管理コマンド adaini の使用をお勧めします。
各コンフィグレーションファイルは、次の構文でトピックに分けられています。
[topic name] # start of topic "topic name" item1 name = item1 value # name and value of item 1 item2 name = item2 value # name and value of item 2 .... [topic name-END] # end of topic
各トピックには項目定義やサブトピックが含まれています。いくつかのレベルを入れ子にしてもかまいませんが、通常 2 レベルまで、つまりメイントピックレベルとサブトピックレベルがあります。
トピック名、項目名、値はすべて大文字と小文字を区別します。コメント行は "#" で始まります。
空白行は無視されます。トピック名、項目名および値の前後の空白部分、つまりブランクとタブも無視されます。値に空白が含まれている場合は引用符(単一引用符(')または二重引用符("))デリミタで囲まれていなければなりません。値にデリミタが含まれている場合は 2 回入力しなければなりません。
注意:
環境変数はコンフィグレーションファイルの値に使用できません。明示的な値で置き換える必要があります。
以下に、2 レベルのネストと 1 つのコメント行が含まれるコンフィグレーションファイルの例を示します。
[topic1 name] # start of topic on nesting level 1 item1 name = item1 value # name and value of item 1 # Start of topic2 # comment line [topic2 name] # start of topic on nesting level 2 item2 name = item2 value # name and value of item 2 [topic2 name-END] # end of topic 2 [topic1 name-END] # end of topic 1
コンフィグレーションファイル ADABAS.INI は、AEO 環境のすべてのデータベースに適用する情報を含みます。ある特定のデータベースに DBnnn.INI ファイルがある場合、そのファイル内にある情報は ADABAS.INI ファイル内の情報を上書きします。ADABAS.INI は、標準のテキストエディタまたは管理コマンド adaini を使用して変更できます。ユーティリティの構文形式については、adaini のオンラインヘルプを参照してください。
ADABAS.INI には次の情報が含まれます。
データベース独自の情報。例えば、新しく作成するデータベースに対するデフォルトのニュークリアスパラメータおよび環境情報。ADABAS.LOG(ローカルノード上のすべてのデータベースに対するログファイル)の場所、レポートユーティリティ(adarep、adafin、adapri、adaclp、adaplp、adaerr、adatst)または表示機能(adaopr/adadbm display=...)を実行したときの処理内容などの全般的な情報。
データベースの基本的な定義。例えば、個々の DBnnn.INI ファイルの場所やデータベース ID。
UNIX および Windows プラットフォームでは、環境変数 ADADATADIR によってポイントされるディレクトリのサブディレクトリ etc 内に ADABAS.INI が存在する必要があります。このディレクトリに ADABAS.INI ファイルがない場合、AEO は自動的に使えなくなり、標準の Adabas 機能だけが使えます。
ADABAS.INI は複数のセクションから構成され、セクションごとにトピックが 1 つあります。ADABAS.INI の各セクションはカッコ([ ])で囲まれたトピック名を含む行、[topic-name] から始まります。AEO に関連するトピックを次に挙げます。
DB_DEFAULTS(いろいろなサブトピックの指定あり)
DB_LIST(DBID ごとに 1 つのサブトピックの指定あり)
MISCELLANEOUS
NODE_PARAMETER(サブトピックの指定あり)
ALERT
ANALYSER
ARCHIVE_LOGFILE
LOGGING
重要:
AEO を有効にするには、トピック NODE_PARAMETER 内の項目 ACTION 、サブトピック ANALYSER を "yes" に設定する必要があります。詳細については、「管理コマンド」の管理コマンド adaini を参照してください。
重要:
Audit-Trail 機能を有効にするには、トピック NODE_PARAMETER、サブトピック ANALYSER および LOGGING 内の項目 ACTION を「yes」に設定する必要があります。
上記のトピックを次に説明します。
トピック DB_DEFAULTS には、ADAFRM または adainst で DBnnn.INI を作成する際に使用されるデフォルトの定義が含まれています。DB_DEFAULTS の内容として、[DB_DEFAULTS] と [DB_DEFAULTS-END] 以外の行が DBnnn.INI にコピーされます。詳細については、このセクションの後半の「DBnnn.INI」セクションを参照してください。
# configuration # recommended values [DB_DEFAULTS] ... [NUCPARMS] ... [NUCPARMS-END] ... [DB_PARAMETER] ... [DB_PARAMETER-END] ... [ENVIRONMENT] ... [ENVIRONMENT-END] ... [DB_DEFAULTS-END]
トピック DB_LIST は、使用可能なデータベースの番号と名前、および関連する DBnnn.INI ファイルの名前とその場所の一覧です。各データベースの詳細については、トピック DB_LIST 内の別のサブトピック DBID_<dbid> に設定されています。
# configuration # recommended values [DB_LIST] [DBID_<dbid>] PC platforms: INI_FILE = <configuration file name %ADADATADIR%\db<dbid>\DB<dbid>.INI for this database> UNIX: $ADADATADIR/db<dbid>/DB<dbid>.INI NAME = <database name> [DBID_<dbid>-END] [DB_LIST-END]
注意:
環境変数は、コンフィグレーションファイル内のパラメータとして使用できません。INI_FILE 項目内では、ADADATADIR 環境変数をフルパス名で置き換える必要があります。
トピック MISCELLANEOUS には、このノードに関するデータベース非依存の情報が含まれます。項目 NODE_NAME は、トピック NODE_PARAMETERS のサブトピック LOGGING(このセクションの後半参照)で有効化されるロギングに使います。
UNIX プラットフォームの場合は、UNIX コマンドの "uname -n" を使って、システムノード名を取得できます。
トピック MISCELLANEOUS の構文は次のとおりです。
# configuration # recommended values [MISCELLANEOUS] NODE_NAME = <node name> [MISCELLANEOUS-END]
トピック NODE_PARAMETER には、このノード上のすべてのデータベースに対する AEO 定義が含まれています。
# configuration # recommended values [NODE_PARAMETER] [ALERT] ACTION = <yes/no> ACTION_ROUTINE = <action routine> ada_alrt MINIMUM = <minimum severity required E to call the action> [ALERT-END] [NODE_PARAMETER-END]
推奨のアクションルーチンは、ada_alrt です。このルーチンには次のパラメータがあります。
パラメータ | 説明 |
---|---|
1 | ユーティリティ名 |
2 | プロセス ID |
3 | DBID |
4 | ユーザーログイン名 |
5 | ノード名 |
6 | 重要度 |
7 | メッセージヘッダーキー |
8 | メッセージヘッダー |
9 | メッセージテキスト |
ALERT アクションは、Adabas イベントが発生したタイミングを DBA(他のユーザーの場合もあり)に通知します。例えば、Adabas はすべてのメッセージに重要度 E(エラー)と F(致命的)を付けて DBA へ自動的にメールすることができます。
トピック NODE_PARAMETER のサブトピック ALERT は Adabas 警告アクションを定義します。ALERT アクションが有効(ACTION=yes)であると、各 Adabas メッセージの重要度をチェックし、定義済みの MINIMUM の重要度と同じか大きければ、ACTION_ROUTINE で指定したアクションが非同期に開始されます。重要度の優先度は、I(情報)< W(警告)< E(エラー)< F(致命的)です。よって、MINIMUM=E のときには、重要度 E と F の付いたメッセージだけが ALERT アクションをコールします。
警告を受け取る人のリストは環境変数 ADA_ALRT_LIST の内容によって決まり、それは空白で区切られた 1 つ以上のユーザーの指定を連結させたものです。ユーザーの指定はプラットフォームに依存します。ユーザーの指定は Windows ではコンピュータ名となり、例えばマシンが同じドメイン内にある場合は pcABC1、同じドメイン内にない場合は \DOMAIN:pcABC1 のようになります。UNIX ではユーザー名または E-mail アドレスになります。
set ADA_ALRT_LIST ="pcABC1 /DOM-HQ:pcABC2" (Windows の場合) setenv ADA_ALRT_LIST "abc user.xyz@myCompany.com" (C シェルの場合)
トピック NODE_PARAMETER のサブトピック ANALYSER は AEO アナライザの有効/無効を切り替えます。アナライザが無効の場合、LOGGING と ALERT を含む、すべての Adabas アクションは自動的に無効になります。
注意:
これは、AEO の有効/無効を切り替えるグローバルスイッチです。
# configuration # recommended values [NODE_PARAMETER] [ANALYSER] ACTION = <yes/no> [ANALYSER-END] [NODE_PARAMETER-END]
注意: "ACTION=no" が設定されている場合は、その他のすべての AEO 設定が無視されて、AEO が無効になります。 |
# configuration # recommended values [NODE_PARAMETER] [ARCHIVE_LOGFILE] ACTION = <yes/no> ACTION_ROUTINE = <action routine> ada_svlg MAXIMUM = <maximum number of 7 archive generations> [ARCHIVE_LOGFILE-END] [NODE_PARAMETER-END]
推奨のアクションルーチンは、ada_svlg です。このルーチンにはパラメータはありません。
各ロギングメッセージは、Adabas ログファイルの最後に追加されます。このファイルがむやみに大きくならないように、項目 ACTION_ROUTINE で指定したコマンドを外部スケジューラと組み合わせて毎日サブミットすることができます。このルーチンは項目 ACTION を読み、ACTION=no であれば何もしないで終了します。ACTION=yes かつ MAXIMUM=0 のときは、ログファイルが記録されずに削除されます。ACTION=yes で MAXIMUM が 0 より大きく 100 よりも小さいときは、ログファイルの MAXIMUM 生成数(ada_svlg の実行ごとに 1 つ生成される)が記録されます。このとき、PC プラットフォームの場合は 1 からMAXIMUM までの世代番号、UNIX の場合は 01 からMAXIMUM までの世代番号がログファイルに付加されます。例えば、PC プラットフォームの場合には ADABAS.LOG.1、UNIX の場合には、ADABAS.LOG.01 になります。MAXIMUM と同じ世代番号のファイルは、次に ada_svlg が実行されたときに削除されます。
注意:
ada_svlg は、ログファイルが他のツール(adalog -t など)によって使用されている間は実行できません。
# configuration # recommended values [NODE_PARAMETER] [LOGGING] ACTION = <yes/no> FILTER_MESSAGES_WITHOUT_HEADER = <yes/no> FILTER_REPORT_UTILITIES = <yes/no> PC platforms: LOG_FILE = <log file name> %ADADATADIR%\etc\ADABAS.LOG UNIX: $ADADATADIR/etc/ADABAS.LOG [LOGGING-END] [NODE_PARAMETER-END]
注意:
環境変数は、コンフィグレーションファイル内のパラメータとして使用できません。したがって、INI_FILE 項目に明示的にパス名を指定して、ADADATADIR 環境変数を置き換える必要があります。
トピック NODE_PARAMETER のサブトピック LOGGING は、Adabas メッセージのログに関するパラメータを定義します。Adabas メッセージは、通常、標準出力にのみ書き込まれますが、関連付けられたロギングフィルタの条件に当てはまれば、分析されて AEO ログファイルに追加されます。さらに、AEO には、特殊なイベントやアクションの情報を含む新しい Adabas メッセージが記録されます(標準出力には書き込まれません)。
ログファイルの名前は、項目 LOG_FILE に指定されています。
項目 ACTION はこのノード上のすべてのデータベースに対する AEO ロギングを有効/無効にします。ロギングが有効の場合、各 Adabas ユーティリティはそのロギング情報を項目 LOG_FILE で定義したシーケンシャルファイルに追加します。ロギングメッセージは書き込みの同期には、Adabas セマフォが使用されます。ロギングフィルタは次の 2 つの条件を認識します。
次の条件の場合、ヘッダーのないメッセージは無視されます。
FILTER_MESSAGES_WITHOUT_HEADER = yes
次の条件の場合、Adabas レポートユーティリティは無視されます(記録されません)。
FILTER_REPORT_UTILITIES = yes
Adabas レポートユーティリティは、adaclp、adafin、adaplp、adapri、adarep、adatst です。
ログファイル内の各エントリのフォーマットは次のとおりです。
<process id> <yymmddhhmmss> <dbid>
<user ID> <Adabas message>
yymmdd
と hhmmss
は、現在の日付と時間です。
ログファイルエントリ内の項目は空白で区切ります。
注意:
Adabas ログメッセージにデータベース ID として 0 が含まれている場合は、メッセージが作成されたときにデータベース ID がまだ決定されていなかったことを示します。
Audit-Trail エントリは次のいずれかから開始されます。
%ADANUC-I-SECURITY(情報)、
%ADANUC-W-SECURITY(警告)または
%ADANUC-W-SECURITY(エラー)。
次の情報が表示されます。
SECURITY_USER:
認証されるユーザー。
ET_USER:
Adabas コントロールブロックに指定した ET ユーザー。
UQID=(terminal ID, process ID, node ID,
timestamp)
: Adabas ユーザーキューに指定されているクライアント情報。
AUTHN
: ユーザーが正常に認証された場合は "success"、それ以外の場合は "rejected"。
%ADANUC-I-SECURITY, SECURITY_USER=myuser ET_USER=*test UQID=(myname, myprocess, mypc, timestamp) AUTHN=success
AEO が管理するデータベースそれぞれに、DBnnn.INI ファイル(nnn はデータベース番号)が存在しなければなりません。DBnnn.INI ファイルにはデータベース番号 nnn に対応する情報が含まれていて、ADABAS.INI ファイルにある情報よりも優先されます。
あるデータベースに対して DBnnn.INI ファイルが存在しない場合、AEO はそのデータベースを処理しないため、標準 Adabas 機能のみ使用可能です。また、データベース nnn に対して ADABAS.INI の DB-LIST セクション内の INI_FILE エントリも必ず存在しなければなりません。
DBnnn.INI ファイルには次の情報が含まれます。
データベース情報。例えば、コンテナ割り当て、ニュークリアスパラメータなど。
アクションの実行権限を規定するユーザー定義。
DBnnn.INI ファイルの場所は、ADABAS.INI の DB_LIST トピックの項目 INI_FILE で定義します。
ユーティリティ ADAFRM を使用して新しいデータベースを作成すると、DBnnn.INI ファイルが生成されます。ユーティリティ adaini を使用して、DBnnn.INI の内容を変更できます。
DBnnn.INI は複数のセクションから構成され、セクションごとにトピックが 1 つあります。各セクションは角カッコ([ ])で囲まれたトピック名を含む行、[topic-name] から始まります。使用可能なトピックを次に挙げます。
CONTAINER
DB_PARAMETER(サブトピックの指定あり)
ACTION_DBA
ADANUC_STARTED
ADANUC_TERMINATED
AUDIT_TRAIL
DELETE_CHECKPOINTS
OFFLINE_CHECKPOINTS
RECOVER_LOST_BLOCKS
REORDER_FILE
SAVE_DB
SSX_CONFIGURATION
TERMINATE_ADANUC
ENVIRONMENT
NUCPARMS
RESERVED_LOCATION
TEMPORARY_LOCATION
# configuration # recommended values [CONTAINER] ASSOx = <ASSOx device> # n lines for ASSO1 ... ASSOn DATAx = <DATAx device> # n lines for DATA1 ... DATAn WORK1 = <WORK1 device> # 1 line for WORK1 SORTx = <SORTx device> # n lines for SORT1 ... SORTn TEMPx = <TEMPx device> # n lines for TEMP1 ... TEMPn NUCCLGx = <NUCCLG device> NUCPLGx = <NUCPLG device> [CONTAINER-END]
Adabas コンテナ ASSOx、DATAx、WORK1、SORTx および TEMPx は、このトピックで定義できます。さらに、Adabas シーケンシャルファイルである NUCCLGx および NUCPLGx もこのトピックで定義できます。
これらの項目に対して明示的な外部環境定義が存在する場合、それらの値は DBnnn.INI 値を上書きします。したがって、デフォルト値を定義するために DBnnn.INI の項目を使用することができます。
重要:DB_PARAMETER トピックの INCREASE_<container> アクションを有効にする場合は、新しいコンテナが必要なときに使用するディスクの場所を AEO に知らせる必要があります。これは、少なくとも 1 つの余分な DATAx と ASSOx をリストに追加し、INCREASE_<container> アクションの開始時に AEO が使用する場所をそれらに定義することによって行います。
ユーティリティ ADADBM を使用してコンテナを追加または削除すると、DBnnn.INI ファイル内のコンテナ定義が更新されます。
トピック DB_PARAMETER は AEO のアクションおよびその他を定義します。
トピック ACTION_DBA には、必要に応じて、AEO を開始できるすべてのユーザーの名前が含まれています。Adabas と全ユーティリティは他のユーザーに対しても動作しますが、トピック DB_PARAMETER に定義されたすべてのアクションは、ACTION_DBA として定義されているユーザーに対してだけ動作します。
UNIX:ユーザー名では大文字と小文字が区別されます。
PC プラットフォーム:定義されているユーザーがなく、かつ AEO が使用可能な場合、それぞれのアクションがすべてのユーザーに対して開始されます。
# configuration # recommended values [DB_PARAMETER] [ACTION_DBA] <user name 1> (see platform-specific notes given above) <user name 2> ... [ACTION_DBA-END] [DB_PARAMETER-END]
# configuration # recommended values [DB_PARAMETER] [ADANUC_STARTED] ACTION=<yes/no> ACTION_ROUTINE=<action routine> ada_nsta [ADANUC_STARTED-END] [DB_PARAMETER-END]
推奨のアクションルーチンは、ada_nsta です。このルーチンには次の入力パラメータがあります。
パラメータ | 説明 |
---|---|
1 | ユーティリティ名 = ADANUC |
2 | プロセス ID |
3 | DBID |
4 | DB ステータス = ONLINE |
5 | ユーザーログイン名 |
6 | ノード名 |
7 | セッション番号 |
ニュークリアスが正常に開始されたときにのみ、Adabas ユーティリティ ADANUC によってアクションルーチンがサブミットされます。
ACTION_ROUTINE は、ACTION=yes の場合のみサブミットされます。
# configuration # recommended values [DB_PARAMETER] [ADANUC_TERMINATED] ACTION=<yes/no> ACTION_ROUTINE=<action routine> ada_nsto [ADANUC_TERMINATED-END] [DB_PARAMETER-END]
推奨のアクションルーチンは、ada_nsto です。このルーチンには次の入力パラメータがあります。
パラメータ | 説明 |
---|---|
1 | ユーティリティ名 = ADANUC |
2 | プロセス ID |
3 | DBID |
4 | DB ステータス = ONLINE |
5 | ユーザーログイン名 |
6 | ノード名 |
7 | 終了ステータス(=TERMINATED または ABORTED) |
ニュークリアスが終了するときにのみ、Adabas ユーティリティ ADANUC によってアクションルーチンがサブミットされます。
ACTION_ROUTINE は、ACTION=yes の場合のみサブミットされます。
# configuration # recommended values [DB_PARAMETER] [AUDIT_TRAIL] ACTION=<yes/no> FILTER=<all/rejected> [AUDIT_TRAIL-END] [DB_PARAMETER-END]
監査証跡を書き込むには、ACTION を YES に設定します。デフォルト値は NO です。
拒否された認証のみをログに記録するには、FILTER を REJECTED に設定します。デフォルト値は ALL です。
# configuration # recommended values [DB_PARAMETER] [DELETE_CHECKPOINTS] ACTION=<yes/no> ACTION_ROUTINE=<action routine> ada_dlcp MINIMUM=<minimum age (in days) for checkpoints 100 to be deleted> [DELETE_CHECKPOINTS-END] [DB_PARAMETER-END]
推奨のアクションルーチンは ada_dlcp です。このルーチンには次の入力パラメータがあります。
パラメータ | 説明 |
---|---|
1 | ユーティリティ名 = ADANUC |
2 | プロセス ID |
3 | DBID |
4 | DB ステータス = ONLINE |
5 | ユーザーログイン名 |
6 | ノード名 |
7 | ADADBM コマンド DELCP の日付文字列 |
次のときにのみ、Adabas ユーティリティ ADANUC によってアクションルーチンがサブミットされます。
ニュークリアスが開始するとき
ニュークリアスがチェックポイントを書き出し、チェックポイントが最後に書かれた日が短くても 1 日前であるとき(この場合は通常、いつもオンラインであるデータベースに起こります)
ACTION_ROUTINE は、ACTION=yes の場合のみサブミットされます。
MINIMUM は 0 より大きい値である必要があります。この値は、削除されるチェックポイントの最小経過時間(日数)を定義します。
# configuration # recommended values [DB_PARAMETER] [INCREASE_<container>] ASSO or DATA ACTION=<yes/no> ACTION_ROUTINE=<action routine> ada_iass or ada_idat MINIMUM=<minimum free space (in percent)> 15 EXTEND_RATE=<minimum extend rate (in percent)> 10 MESSAGE = (I=<i>,W=<w>,E=<e>,F=<f>) (I=40,W=20,E=10,F=5) [INCREASE_<container>-END] [DB_PARAMETER-END]
推奨されるアクションルーチンは、ada_iass(ASSO の場合)および ada_idat(DATA の場合)であり、どちらにも次の入力パラメータがあります。
パラメータ | 説明 |
---|---|
1 | ユーティリティ名(大文字) |
2 | プロセス ID |
3 | DBID |
4 | DB ステータス(ONLINE または OFFLINE) |
5 | ユーザーログイン名 |
6 | ノード名 |
7 | ASSO/DATA エクステントの現在の数(7 など) |
8 | 新しいエクステント名(ASSO8 など) |
9 | エクステントのサイズ(MB 単位) |
アクションルーチンは、次の Adabas ユーティリティによってサブミットされます。
ADAREP は、"adarep dbid=<dbid> free" の実行時にアクションを非同期でサブミットします。
ADANUC は、スペース割り当ての後にアクションを非同期でサブミットします。
ADAFDU、ADABCK、ADAFRM、ADAREC、ADAORD は、ADANUC のオフライン時にスペース割り当てが行われた後、アクションを非同期でサブミットします。
ADAMUP、ADAINV は、adanuc のオフライン時にスペース割り当てが行われている間に、アクションを同期的にサブミットします。
メッセージ DBFREE は、スペース割り当てを行うすべての Adabas ユーティリティおよび adarep によってログとして記録されます。
ACTION_ROUTINE は、ACTION=yes の場合のみサブミットされます。
アナライザは、現在の空きスペース(% 単位)と MINIMUM の設定値(有効範囲:5~50 %)を比較します。指定された最小値よりも空きスペースの容量が少ない場合、アナライザは必要なスペースの容量を計算し、追加スペースを割り当てるためのアクションを開始します。
追加スペースの計算は、次の 2 つのステップによって行われます。
現在のデータベースのサイズに、EXTEND_RATE の値(有効範囲:5~100 %)を掛けて追加スペースを計算します。このように定義すると、現在のサイズに応じた追加スペースを特定できます。ここで計算された追加スペースは、ステップ 2 で算出される値に加えます。
ステップ 1 で算出した追加スペースを加えても、全データベーススペースに対する空きスペースの割合が、MINIMUM に指定された割合よりも少ない場合があります。大きいブロックが割り当てられ、それが原因で空きスペースが必要最低限の割合に到達し、さらに大幅に不足するような場合に、こうした状況が発生する可能性があります。この場合は、MINIMUM に指定された割合に到達するように、再度スペースを割り当てる必要があります。
このため、割り当てる追加スペースの容量は、ステップ 1 と 2 の値を加えたものになります。
Adabas は、ニュークリアスがアクティブな間は ASSO/DATA を増加させることができます。ニュークリアスがアクティブな場合、スペース割り当ては ADANUC から実行されます(ユーティリティに対しても同様)。アクションルーチンは、新しいコンテナ定義をトピック CONTAINER から取得するため、このアクション用に 1 つ以上の CONTAINER 項目を定義しておく必要があります。こうした定義がない場合には、データベースのサイズは増えないため、アクションが停止します。
アナライザは、計算された空きスペースの割合を項目 MESSAGE の定義済みパーセント値 i、w、e、f と比較します。これらの値は、1~100 の範囲で降順(i > w > e > f)に定義されている必要があります。これらの値と比較して、フリースペースが同じか小さい場合には、メッセージ DBFREE が記録されます。
# configuration # recommended values [DB_PARAMETER] [OFFLINE_CHECKPOINTS] MESSAGE = (I=<i>,W=<w>,E=<e>,F=<f>) (I=50,W=20,E=5,F=2) [OFFLINE_CHECKPOINTS-END] [DB_PARAMETER-END]
項目 MESSAGE は Adabas メッセージ CPBFREE の重要度を定義します。Adabas がオフラインのときは、Adabas チェックポイントがチェックポイントブロックに書き出されるたびに、AEO アナライザがコールされます。アナライザはチェックポイントブロック内の空きエントリ数を見つけて、MESSAGE パラメータ i、w、e、f の数値(0 より大きな値である必要があります)と比べます。これらの値は降順、つまり i > w > e > f の順に定義されている必要があります。したがって、空きエントリ数が 10 で MESSAGE=(I=50,W=20,E=5,F=2) の場合は、重要度 W の Adabas メッセージ CPBFREE が書き出されます。
注意:
メッセージ CPBFREE は、ニュークリアスのオフライン時にチェックポイントを書き出す、すべての Adabas ユーティリティによってログとして記録されます。
# configuration # recommended values [DB_PARAMETER] [RECOVER_LOST_BLOCKS] ACTION=<yes/no> ACTION_ROUTINE=<action routine> ada_rlst [RECOVER_LOST_BLOCKS-END] [DB_PARAMETER-END]
推奨のアクションルーチンは ada_rlst です。このルーチンには次の入力パラメータがあります。
パラメータ | 説明 |
---|---|
1 | ユーティリティ名(大文字) |
2 | プロセス ID |
3 | DBID |
4 | DB ステータス(ONLINE または OFFLINE) |
5 | ユーザーログイン名 |
6 | ノード名 |
アクションルーチンは、次の Adabas ユーティリティによってサブミットされます。
Adabas リターンコード 77 が発生し、かつ関連コマンドが Adabas ユーティリティコマンドの場合は、Adabas ユーティリティ ADANUC
Adabas ユーティリティ ADAREP:"adarep dbid=<dbid> layout"
Adabas ユーティリティ ADAVFY:"adavfy dbid=<dbid> lost"
ACTION_ROUTINE は、ACTION=yes の場合のみサブミットされます。
ブロックの損失は、ユーティリティの処理が原因で起こります。この状態のとき AEO が有効でなく、かつ損失ブロックがすでに存在する場合は、ADAREP または ADAVFY を使用して、損失ブロックを検出し、このアクションをサブミットできます。
注意:
RECOVER_LOST_BLOCKS は指定されたデータベースの UCB エントリの暗黙的なリセットを行います。
# configuration # recommended values [DB_PARAMETER] [REORDER_FILE] ACTION=<yes/no> ACTION_ROUTINE=<action routine> ada_reor MAXIMUM=<maximum number of AC/NI/UI/DS extents> 12 MESSAGE =(I=<i>,W=<w>,E=<e>,F=<f>) (I=5,W=8,E=12,F=14) [REORDER_FILE-END] [DB_PARAMETER-END]
推奨のアクションルーチンは ada_reor です。このルーチンには次の入力パラメータがあります。
パラメータ | 説明 |
---|---|
1 | ユーティリティ名 = ADAREP |
2 | プロセス ID |
3 | DBID |
4 | DB ステータス(ONLINE または OFFLINE) |
5 | ユーザーログイン名 |
6 | ノード名 |
7~106 | Adabas ファイル番号リスト |
アクションルーチンは、SAVE_DB アクションの処理の中で、adarep dbid=<dbid> content というパラメータを指定した Adabas ユーティリティ ADAREP をコールするとサブミットされます。
メッセージ FIFREE は、スペース割り当てを行うすべての Adabas ユーティリティによってログとして記録されます。
ACTION_ROUTINE は、ACTION=yes の場合のみサブミットされます。
ADAREP ユーティリティは AEO アナライザをコールします。AEO アナライザは、すべてのデータベースユーザーファイル(Adabas システムファイルは無視される)の AC/NI/UI/DS エクステントの数をチェックします。いずれかのエクステントの数が MAXIMUM(有効範囲は3~32)と同じか大きいと、このファイルはリオーダされます。一度アクションを開始すると、このようなファイルすべてがリオーダされます(アクションパラメータ 7 - 106 参照)。したがって、リオーダタスクは他のファイルの後に続けて 1 ファイルに対して実行されます。
重要:Adabas がエクステントを割り当てるときに、Adabas はまだファイルを使用しているので、この ACTION_ROUTINE は直接サブミットされません。したがって、アクセスとリオーダアクションとの間に不整合が発生します。リオーダアクションはデータベースが正常に保管された後でだけ開始できます。アクション REORDER_FILE は、アクション SAVE_DB(「サブトピック:SAVE_DB」セクションを参照)が正常終了したかどうかチェックします。これは、入力パラメータ 3 を持つ環境変数 ADA_SAVE_DB の値と比較することによって行われます。この値が一致した場合に、リオーダが開始します。他のすべてのコンテキストにおいて、アクションはファイルをリオーダせずに終了します。
Adabas がファイルエクステントを割り当てるたびに、アナライザは現在のエクステント数と定義済みのメッセージ値 i、w、e、f を比較します。これらの値は 1 より大きく、かつ昇順(i < w < e < f)になっている必要があります。いずれかのエクステントタイプ(AC、NI、UI、DS)が定義済みのメッセージ値 i、w、e、f のいずれかと同じか大きいすべてのファイルについて、Adabas オペレーションメッセージ FIFREE がログに記録されます。
# configuration # recommended values [DB_PARAMETER] [SAVE_DB] ACTION=<yes/no> ACTION_ROUTINE=<action routine> ada_svdb [SAVE_DB-END] [DB_PARAMETER-END]
推奨のアクションルーチンは、ada_svdb です。このルーチンには次の入力パラメータがあります。
パラメータ | 説明 |
---|---|
1 | データベース ID = dbid |
このアクションルーチンは、外部スケジューラと組み合わせ、ada_actn を使って開始する必要があります。次の手順で行います。
アクション定義を確認します(ACTION が yes であること)。
バックアップファイル名に拡張子 <dbid>.<nn> を付けて、次のように指定します。
(PC プラットフォーム:)BCK001=%ADADATADIR%\db<dbid>\BCK001.<dbid>.<nn>(<nn> は、そのディレクトリで見つかった最後のバックアップファイルより 1 つ大きい 01から 99 の範囲の数値)
(UNIX:)BCK001=$ADADATADIR/db<dbid>/BCK001.<dbid>.<date>.<time>(<date> は yymmdd(年、月、日)の形式、<time> は hhmm(時、分)の形式)
DUMP オプションを指定してバックアップを開始します。
バックアップ成功後:環境変数 ADA_SAVE_DB=<dbid> を設定します。
'adarep dbid=<dbid> content' を開始して、REORDER_FILE アクションの状態をチェックします。
注意:
バックアップオプションまたはバックアップの場所を変更したいときは、ada_svdb をカスタマイズしてユーザー固有の条件に合わせます。
# configuration # recommended values [DB_PARAMETER] [SSX_CONFIGURATION] <option>=<value> [SSX_CONFIGURATION-END] [DB_PARAMETER-END]
各種認可タイプのサンプルとサンプルテンプレートについては、「Adabas 認証」セクションの「SSXLoginModule コンフィグレーションテンプレート」セクションと、『ユーティリティ』ドキュメントの「付録 C」を参照してください。これらのテンプレートは、一部の設定がユーザーに固有であり、必要に応じて変更する必要があるので、完全ではありません。
# configuration # recommended values [DB_PARAMETER] [TERMINATE_ADANUC] SHUTDOWN=<n1> 0 CANCEL=<n2> 12 ABORT=<n3> 12 [TERMINATE_ADANUC-END] [DB_PARAMETER-END]
トピック TERMINATE_ADANUC には adastop の情報が含まれています。項目値 n1、n2、n3 は数値(0 以上)でなければなりません。
adastop は、ADAOPR ユーティリティを実行してデータベースを停止します。ADAOPR には、データベースを停止する 3 つのオプションがあります。
ADAOPR SHUTDOWN は、すべてのトランザクションが終了するまで待機し、データベースをシャットダウンします。
ADAOPR CANCEL は、すべてのオープントランザクションを直ちにロールバックし、データベースをシャットダウンします。
ADAOPR ABORT は、クリーンシャットダウンを実行せずにデータベースを停止し、ダンプを書き込みます。
adastop は次の処理を行います。
n 1 > 0 の場合、adastop はまず ADAOPR SHUTDOWN を実行し、データベースの終了を最大 n1 * 5 秒間待機します。n1 = 0 の場合、ADAOPR SHUTDOWN は実行されません。
ステップ 1 の後にデータベースがまだ終了しておらず、かつ n2 > 0 の場合、adastop は ADAOPR CANCEL を実行して、データベースの終了を最大 n2 * 5 秒間待機します。n2 = 0 の場合、ADAOPR CANCEL は実行されません。
ステップ 2 の後にデータベースがまだ終了しておらず、かつ n3 > 0 の場合、adastop は ADAOPR ABORT を実行して、データベースの終了を最大 n3 * 5 秒間待機します。n3 = 0 の場合、ADAOPR ABORT は実行されません。
ステップ 3 の後でデータベースがまだ終了していない場合は、adastop が異常終了し、エラーメッセージが表示されます。
推奨値の場合、adastop は ADAOPR SHUTDOWN を実行せずに、直接 ADAOPR CANCEL を開始します。12 * 5 秒 = 1 分経過してもデータベースが停止しない場合は、ADAOPR ABORT が実行されます。その後、12 * 5 秒 = 1 分経過してもデータベースが停止しない場合は、adastop が異常終了し、エラーメッセージが表示されます。
すべての Adabas 環境変数(ニュークリアスコンテナと SAM ファイルを除く)をこのトピック内に定義できます。これらの項目に明示的な外部環境定義があると、外部値は DBnnn.INI 値を上書きします。したがって、DBnnn.INI にこれらの項目を使用すれば、デフォルト値を定義できます。
# configuration # recommended values [ENVIRONMENT] # Any Adabas environment variable may # be defined here. ADAUEX_n = ... # Adabas user exit ADATRT = .... # file name of the shared library (UNIX) # or dynamic link library (PC) containing # the Adabas translation table ADAHYX_n # Adabas hyperexit [ENVIRONMENT-END]
上記の環境設定は、対応する環境変数が定義されていないときに Adabas ユーティリティで使います。
# configuration # recommended values [NUCPARMS] PLOG # Any nucleus parameter may be defined here. NU=100 .... [NUCPARMS-END]
トピック NUCPARMS は、DBID を除くすべてのニュークリアスパラメータを定義します。この値はデータベース開始時に adastart に使用されます。DBID は adastart によってニュークリアスに渡されます。adastart はパラメータとして DBID を受け取ります。
# configuration # recommended values [RESERVED_LOCATION] LOCATIONx = <path name> # n lines for disk locations with free space [RESERVED_LOCATION-END]
データベースの自動拡張が必要で、新規コンテナを作成するとき、Adabas は、指定された位置で空きスペースを探します。
# configuration # recommended values [TEMPORARY_LOCATION] TEMPLOCx = <path name> # n lines for disk locations with free space [TEMPORARY_LOCATION-END]
ニュークリアスまたはユーティリティのために Adabas が一時的なディスクスペースを必要とするとき、Adabas は指定された位置で空きスペースを探します。