tamadd
形式
tamadd 〔-o ローディング契機〕 〔-a アクセス形態〕 〔-i〕 〔-j〕 TAMテーブル名 TAMファイル名
機能
指定したTAMテーブルをオンラインに追加登録します。
追加登録後のTAMテーブル状態は,論理閉塞状態となります。
オプション
●-o ローディング契機 〜〈英字〉 《start》
TAMテーブルをロードする契機を指定します。
start:tamaddコマンド実行時にロードします。
cmd:tamloadコマンド実行時にロードします。
lib:dc_tam_open関数発行時にロードします。
●-a アクセス形態 〜〈英字〉 《read》
TAMテーブルのアクセス形態を指定します。
read:参照型
rewrite:追加・削除できない更新型
write:追加・削除できる更新型
reclck:テーブル排他を確保しない,追加・削除できる更新型
●-i
指定するTAMテーブルを,I/O障害処理続行型テーブルにする場合に指定します。この場合,TAMファイルの更新時に入出力エラーが発生しても,同一オンラインでは該当するTAMファイルを障害閉塞状態にしません。そのため,入出力エラー発生後も該当するTAMファイルをアクセスできます。ただし,オンライン再開始時には,TAMファイルの状態に不整合が生じるのを防ぐ必要があります。そのため,前回のオンラインで障害が発生したままのTAMテーブル(I/O障害処理続行型テーブル)は,オンライン再開始時,オンラインから切り離されます。オンライン再開始後,TAMファイルを回復して,再びオンラインへ追加登録してください。
このオプションの指定を省略すると,TAMファイルの更新時に入出力エラーが発生した場合,該当するTAMファイルは障害閉塞状態となります。
●-j
TAMレコード更新時に,部分ジャーナルを取得します。
更新の部分ジャーナルは,更新前レコードと更新後レコードを比較して,取得されます。32バイト単位でレコードを先頭から比較します。先頭から比較して,比較結果が異なったところが,ジャーナル取得開始位置になります。次にレコードの最後から32バイト単位で比較します。最後から比較して最初に比較結果が異なったところがジャーナル取得終了位置になります。
1レコードで更新する部分が複数ある場合は,ジャーナルの取得範囲が広くなります。
コマンド引数
●TAMテーブル名 〜〈1〜32文字の識別子〉
追加登録するTAMテーブルの名称を指定します。
●TAMファイル名 〜〈パス名〉
TAMテーブルに対応するTAMファイルの名称を完全パス名で指定します。
出力メッセージ
メッセージID |
内容 |
出力先 |
---|---|---|
KFCA01700-E |
指定したファイルはTAMファイルではありません |
標準エラー出力 |
KFCA01701-E |
メモリ不足です |
標準エラー出力 |
KFCA01703-E |
TAMサービスのアドレス情報を検索できません |
標準エラー出力 |
KFCA01704-E |
TAMサービスが起動されていません |
標準エラー出力 |
KFCA01706-E |
TAMファイル名の長さが64文字以上です |
標準エラー出力 |
KFCA01709-E |
TAMファイルに対するアクセス権がありません |
標準エラー出力 |
KFCA01710-E |
スペシャルファイルに対するアクセス権がありません |
標準エラー出力 |
KFCA01712-E |
コマンドで指定した引数の数が正しくありません |
標準エラー出力 |
KFCA01713-E |
指定したファイルはありません |
標準エラー出力 |
KFCA01715-E |
指定したTAMファイルはスペシャルファイル名ではありません |
標準エラー出力 |
KFCA01716-E |
指定したファイルはほかのプロセスで使用中です |
標準エラー出力 |
KFCA01749-I |
TAMテーブルの登録を完了しました |
メッセージログファイル |
KFCA01753-E |
タイムアウトとなりました |
標準エラー出力 |
KFCA01757-E |
TAMテーブル名の文字数が32文字を超えています |
標準エラー出力 |
KFCA01758-E |
指定したTAMテーブル名はすでに登録されています |
標準エラー出力 |
KFCA01760-E |
指定したTAMファイル名はすでに登録されています |
標準エラー出力 |
KFCA01761-E |
I/Oエラーが発生しました |
標準エラー出力 |
KFCA01762-E |
レコード破壊が発生しました |
標準エラー出力 |
KFCA01764-E |
TAMテーブルのV/Rが誤っています |
標準エラー出力 |
KFCA01765-E |
TAMサーバのV/Rが誤っています |
標準エラー出力 |
KFCA01767-E |
RPCでネットワーク障害が発生しました |
標準エラー出力 |
KFCA01770-E |
TAMサービスが終了処理中です |
標準エラー出力 |
KFCA01772-E |
指定したスペシャルファイル名はOpenTP1ファイルシステム用に初期化されていません |
標準エラー出力 |
KFCA01773-E |
ファイルシステム作成時のシステムと運用コマンド実行時のシステムのバージョンが異なっています |
標準エラー出力 |
KFCA01775-E |
定義解析中にエラーが発生しました |
標準エラー出力 |
KFCA02856-I |
ヘルプメッセージ |
標準出力 |
KFCA02857-E |
指定したTAMテーブルを登録するための空き領域がありません |
標準エラー出力 |
KFCA02858-E |
オープンしてあるOpenTP1ファイルが多過ぎます |
標準エラー出力 |
KFCA02866-E |
指定したTAMファイルのレコード長が最大レコード長を超えています |
標準エラー出力 |
KFCA02868-E |
ローディング契機の引数が誤っています |
標準エラー出力 |
KFCA02870-E |
アクセス形態の引数が誤っています |
標準エラー出力 |
KFCA02886-E |
指定したTAMテーブルは,前回とテーブル属性が異なるため登録できません |
標準エラー出力 |
注意事項
-
ローディング契機にstartを指定した場合,次回再開始時,該当するTAMテーブルのローディング契機はTAMサービス開始時となります。
-
オンラインから一度切り離したTAMテーブルを再び追加登録する場合,OpenTP1が次の項目についてチェックします。ファイル属性が異なると,tamaddコマンドはコマンドエラーとなります。
-
レコード長
-
キー長
-
キー開始位置
-
最大レコード数
-
インデクス種別
-
ハッシュエントリ数
-
レコード内キー領域の有無
-
-
UAPでオープンしたままの状態でTAMテーブルをオンラインから切り離したあと,再びオンラインに追加すると,該当するUAPで再びTAMテーブルをオープンし直すまで,オープンしたときの-uオプション指定の有無の状態を引き継ぎます。再びオンラインにTAMテーブルを追加し,オープンし直した場合,再追加時の-uオプション指定の有無の状態が有効になります。そのため,オンライン追加時に-uオプションを指定したTAMテーブルは,TAMテーブルをオープンしたUAPが終了したあと,オンラインから切り離すか,またはTAMテーブルを再びオンラインに追加するときに,前回追加したときと同じオプションを指定することをお勧めします。
-
オンラインから一度切り離したTAMテーブルを再び追加登録する場合,"-a reclck"で登録されていたTAMテーブルを"-a reclck"以外に変更したり,"-a reclck"以外で登録されていたTAMテーブルを"-a reclck"に変更したりすることはできません。変更した場合,tamaddコマンドはKFCA02886-Eメッセージを出力します。