Interstage Shunsaku Data Manager トラブルシューティング集 - Microsoft(R) Windows(R) 2000/ Microsoft(R) Windows Server(TM) 2003 - - UNIX共通 -
目次 索引 前ページ次ページ

第2章 トラブル対処の事例> 2.3 運用時の異常

2.3.2 データ更新時の異常

ディレクタデータファイルの容量不足

【現象】

コマンドまたはアプリケーションを実行すると、以下のメッセージが出力される。

[出力メッセージ]

shn30351u:There is not enough space in the data file folder. [shund1]

ディレクタデータファイルを格納するディスクの空き領域の不足です。

復旧方法は、エラー発生時の操作およびdirector用動作環境ファイルにOperationLogFolderパラメタを設定しているかどうかで異なります。

以降に示す復旧方法から、発生する事象に対応した方法を選択して、復旧を行ってください。

【問題発生時の対処方法】

[選択可能な復旧方法]

エラー発生時の操作

director用動作環境ファイルの
OperationLogFolderの設定

選択可能な
復旧方法(注1)

Shunsaku APIの実行
shundimportコマンド
shundbackupコマンド

なし

1 (注2)

あり

1 または 2 (注2)

shundcdsコマンド

なし

1 または 3

あり

1 〜 3

注1)復旧方法の内容は、以下のとおりです。

注2)ShunsakuのAPIの実行によるエラーであっても、フラグメンテーション率が高い場合には、[復旧方法3]での復旧が有効です。

なお、実際のコマンドの使用法については、“導入・運用ガイド”および、“コマンドリファレンス”を参照してください。

復旧方法1

Shunsakuシステムを停止して、ディレクタデータファイルを容量の大きなディスクに複写し、再起動する方法の手順を説明します。

  1. 状態の確認
    shundstateコマンドで、表示項目のDataFileStatusが“FULL”となっていることを確認します。
    shundstate -s shund1
    Shunsaku shundstate 2006/05/10 10:09:53
    
    Time     State                DataFileStatus       DataSize             Fragments(%)
             LastBackedUp         OperationLogStatus   OperationLogSize
             Records              ReadRecords          ReadTime(sec)        ReadSize
    
    10:09:53 ACTIVE               FULL                 40.0GB               2
             ----/--/-- --:--:--  NORMAL               10.0KB
             100000               12000                5.020                2.00MB

  2. Shunsakuシステムの停止
    shunsysstopコマンドによりShunsakuシステムを停止します。
    shunsysstop -n shunsaku

  3. ディレクタデータの複写
    director用動作環境ファイルのDataFileFolderパラメタに指定したディレクトリ配下の資材をすべて容量の大きなディスクに複写します。

    :cpコマンドなど

    cp -rp  /Shunsaku/data  /Shunsaku2/data

    :xcopyコマンドなど

    xcopy /r /e  D:\Shunsaku  E:\Shunsaku

  4. DataFileFolderの変更
    director用動作環境ファイルのDataFileFolderパラメタに手順3.で複写したディレクトリを指定します。

    DataFileFolder    /Shunsaku2/data/

    DataFileFolder    E:\Shunsaku\

  5. Shunsakuシステムの起動
    shunsysstartコマンドによりShunsakuシステムを起動します。
    shunsysstart  -n  shunsaku

  6. 状態の確認
    shundstateコマンドで、表示項目のDataFileStatusが“NORMAL”となっていることを確認します。
    shundstate -s shund1
    Shunsaku shundstate 2006/05/10 10:14:06
    
    Time     State                DataFileStatus       DataSize             Fragments(%)
             LastBackedUp         OperationLogStatus   OperationLogSize
             Records              ReadRecords          ReadTime(sec)        ReadSize
    
    10:14:06 ACTIVE               NORMAL               40.0GB               2
             ----/--/-- --:--:--  NORMAL               10.0KB
             100000               12000                5.020                2.00MB

上記の手順により復旧され、運用を再開することができます。

復旧方法2

Shunsakuシステムを停止せずに、shundrecoverコマンドによってリカバリを行う方法を説明します。

この方法は、以下の条件にすべて当てはまるときに選択することができます。

《条件》

複数のdirectorで1つの業務を運用している場合、かつ、shundrecoverコマンドによりバックアップ時点または指定した時点までリカバリを行った場合には、他のすべてのdirectorについてもshundrecoverコマンドにより同じ時点までリカバリするようにしてください。
  1. 状態の確認
    shundstateコマンドで、表示項目のDataFileStatusが“FULL”となっていることを確認します。
    shundstate -s shund1
    Shunsaku shundstate 2006/05/10 11:32:14
    
    Time     State                DataFileStatus       DataSize             Fragments(%)
             LastBackedUp         OperationLogStatus   OperationLogSize
             Records              ReadRecords          ReadTime(sec)        ReadSize
    
    11:32:14 ACTIVE               FULL                 40.0GB               2
             2006/05/10 11:28:07  NORMAL               10.0KB
             100000               12000                5.020                2.00MB

  2. リカバリの開始
    shundrecoverコマンドのbオプションでリカバリ開始宣言を行います。
    shundrecover -s shund1 -b

  3. ディスクの交換
    ディレクタデータを格納しているディスクを容量の大きなディスクに交換します。

  4. ディレクタデータ格納先の作成
    交換したディスクにdirector用動作環境ファイルのDataFileFolderパラメタに指定されているディレクトリを作成します。

  5. リストア
    バックアップしたディレクタデータをリストアします。

    OSのコマンドまたはディスク装置によるコピー機能を使用して、ディレクタデータファイルのバックアップデータをリストアします。

    :cpコマンドなど

    cp -rp /Backup/data/shund1 /Shunsaku/data/shund1

    :xcopyコマンドなど

    xcopy /r /k  E:\Backup\shund1  D:\Shunsaku\shund1

  6. リカバリの終了
    shundrecoverコマンドの eオプションで最新状態までリカバリを行い、運用を再開します。
    shundrecover -s shund1 -e

  7. 状態の確認
    shundstateコマンドで、表示項目のDataFileStatusが“NORMAL”となっていることを確認します。
    shundstate -s shund1
    Shunsaku shundstate 2006/05/10 11:38:22
    
    Time     State                DataFileStatus       DataSize             Fragments(%)
             LastBackedUp         OperationLogStatus   OperationLogSize
             Records              ReadRecords          ReadTime(sec)        ReadSize
    
    11:38:22 ACTIVE               NORMAL               40.0GB               2
             2006/05/10 11:28:07  NORMAL               10.0KB
             100000               12000                5.020                2.00MB

上記の手順により復旧され、運用を再開することができます。

復旧方法3

shundexportコマンドで抽出したファイルを、shundimportコマンドで取り込むことで復旧を行う方法を説明します。

  1. 状態の確認
    shundstateコマンドで、表示項目のDataFileStatusが“FULL”となっていることを確認します。
    shundstate -s shund1
    Shunsaku shundstate 2006/05/10 13:21:02
    
    Time     State                DataFileStatus       DataSize             Fragments(%)
             LastBackedUp         OperationLogStatus   OperationLogSize
             Records              ReadRecords          ReadTime(sec)        ReadSize
    
    13:21:02 ACTIVE               FULL                 40.0GB               50
             ----/--/-- --:--:--  NORMAL               10.0KB
             100000               12000                5.020                2.00MB

  2. すべてのトランザクションの停止
    すべてのアプリケーションを停止し、データの検索および更新が行われないようにしてください。

  3. ディレクタデータの抽出
    shundexportコマンドで、ディレクタデータをテキストファイルに抽出します。
    shundexport -s shund1  -o /shundata/exp_data.txt

  4. Shunsakuシステムの停止
    shunsysstopコマンドによりShunsakuシステムを停止します。
    shunsysstop -n  shunsaku

  5. ディレクタデータの削除
    director用動作環境ファイルのDataFileFolderパラメタに指定したディレクトリに存在するdirector識別子名のディレクトリを削除します。

  6. Shunsakuシステムの起動
    shunsysstartコマンドによりShunsakuシステムを起動します。
    shunsysstart -n shunsaku

  7. ディレクタデータの取込み
    shundimportコマンドで、3.で抽出したテキストデータを取り込みます。
    shundimport -s shund1 -f  /shundata/exp_data.txt

  8. 状態の確認
    shundstateコマンドで、表示項目のDataFileStatusが“NORMAL”となっていることを確認します。
    shundstate -s shund1
    Shunsaku shundstate 2006/05/10 13:25:05
    
    Time     State                DataFileStatus       DataSize             Fragments(%)
             LastBackedUp         OperationLogStatus   OperationLogSize
             Records              ReadRecords          ReadTime(sec)        ReadSize
    
    13:25:05 ACTIVE               NORMAL               40.0GB               0
             ----/--/-- --:--:--  NORMAL               10.0KB
             100000               0                    0.000                0.00MB

上記の手順により復旧され、運用を再開することができます。

注)ディレクタデータを抽出する際に、抽出ファイルを格納するディスクの空き容量が十分あることを事前に確認してください。
抽出ファイルのサイズ取得(見積り)方法は、“導入・運用ガイド”の“資源の見積り”を参照してください。

【事前に問題を回避する方法】

ディレクタデータファイルの格納先の空き領域が不足した場合、その対処を完了するまでは業務が継続できなくなってしまいます。

このような事態に備えるため、設計および運用において予防措置を行っておく必要があります。

予防措置の詳細は、“2.3.4 ディスク容量不足への対策”の“ディレクタデータファイルへの対策”を参照してください。

オペレーションログファイルの容量不足

【現象】

コマンドまたはアプリケーションを実行すると、以下のメッセージが出力される。

[出力メッセージ]

shn30353u:There is not enough space in the operation log folder. [shund1]

オペレーションログファイルを格納するディスクの空き領域の不足です。

オペレーションログファイルとは、Shunsakuの更新操作を更新ログデータとして蓄積するファイルです。Shunsakuの運用中に、オペレーションログファイルを格納するディスクの空き領域が不足すると、コマンドおよびアプリケーションがエラーとなる場合があります。

【問題発生時の対処方法】

ディレクタデータファイルをバックアップします。

これにより、バックアップ以前のオペレーションログファイルが自動的に破棄され、運用を再開することができます。

以下に示す方法で、ディレクタデータファイルをバックアップし、運用を再開させてください。
複数のdirectorで1つの業務を運用している場合は、バックアップした時点を合わせるために、すべてのdirectorでバックアップを実施してください。

  1. 状態の確認
    shundstateコマンドで、表示項目のOperationLogStatusが“FULL”となっていることを確認します。
    shundstate -s shund1
    Shunsaku shundstate 2006/05/10 09:24:47
    
    Time     State                DataFileStatus       DataSize             Fragments(%)
             LastBackedUp         OperationLogStatus   OperationLogSize
             Records              ReadRecords          ReadTime(sec)        ReadSize
    
    09:24:47 ACTIVE               NORMAL               40.0GB               2
             ----/--/-- --:--:--  FULL                 10.0KB
             100000               12000                5.020                2.00MB
    

  2. バックアップ開始宣言
    shundbackupコマンドのbオプションでバックアップ開始宣言を行います。
    shundbackup -s shund1 -b

    注)複数のdirectorで1つの業務を運用している場合、すべてのdirectorに対してshundbackupコマンドを実行してください。

  3. ディレクタデータファイルの退避
    ディレクタデータファイルをバックアップします。

    director用動作環境ファイルのDataFileFolderパラメタに指定したディレクトリ配下にdirector識別子名のディレクトリがあります。
    director識別子名のディレクトリ配下のファイルをすべてバックアップしてください。

    バックアップには、以下のOSのコマンドまたはディスク装置によるコピー機能を使用してください。

    :cpコマンドなど

    cp -rp /Shunsaku/data/shund1 /Backup/data/shund1

    :xcopyコマンドなど

    xcopy /r /k D:\Shunsaku\shund1 E:\Backup\shund1

  4. バックアップ終了宣言
    shundbackupコマンドのeオプションで、バックアップ終了宣言を行います。
    shundbackup -s shund1 -e

    注)複数のdirectorで1つの業務を運用している場合、すべてのdirectorに対してshundbackupコマンドを実行してください。

  5. 状態の確認

    shundstateコマンドで、表示項目のOperationLogStatusが“NORMAL”となっていることを確認します。

    shundstate -s shund1
    Shunsaku shundstate 2006/05/10 09:33:55
    
    Time     State                DataFileStatus       DataSize             Fragments(%)
             LastBackedUp         OperationLogStatus   OperationLogSize
             Records              ReadRecords          ReadTime(sec)        ReadSize
    
    09:33:55 ACTIVE               NORMAL               40.0GB               2
             2006/05/10 09:31:50  NORMAL              0.08KB
             100000               12000                5.020                2.00MB

上記の手順により、表示項目のOperationLogStatus の“FULL”状態が解消され、運用を再開することができます。

なお、実際のコマンドの使用法については、“導入・運用ガイド”および“コマンドリファレンス”を参照してください。

【事前に問題を回避する方法】

オペレーションログファイルの格納先の空き領域が不足した場合、その対処を完了するまでは業務が継続できなくなってしまいます。

このような事態に備えるため、設計および運用において予防措置を行っておく必要があります。

予防措置の詳細は、“2.3.4 ディスク容量不足への対策”の“オペレーションログファイルへの対策”を参照してください。

レコード件数が最大値に達した

【現象】

コマンドまたはアプリケーションにより、データの追加をするとシステムログ、および、コマンドまたはアプリケーションに、以下のメッセージが出力される。

【原因】

shundimportコマンドまたはアプリケーションによる追加処理において、格納されているレコード件数と、追加しようとしたレコード件数の合計が、最大件数を超えてしまうため、追加処理を中止しました。

この場合、トランザクションはロールバックされます。

【問題発生時の対処方法】

このメッセージが出力された場合、格納可能件数以上のレコードを追加することはできません。

不要なレコードを削除して件数を減らすか、または、directorを増設し、conductor用動作環境ファイルのInsertPointパラメタでデータ格納先directorを変更してください。

ディレクタデータファイルのサイズが最大値に達した

【現象】

shundimportコマンドまたはアプリケーションにより、データの追加、削除または更新をすると、システムログ、および、コマンドまたはアプリケーションに、以下のメッセージが出力される。

【原因】

shundimportコマンドまたはアプリケーションによる追加、削除または更新処理において、追加、削除または更新処理を実施した結果、ディレクタデータファイルのサイズが最大サイズを超えてしまうため、追加、削除または更新処理を中止しました。

この場合、トランザクションはロールバックされます。
また、shundstateコマンドで表示されるDataFileStatusは、“LIMIT”となり、その後のshundimportコマンドおよびアプリケーションからの追加、更新または削除処理はエラーとなります。

【問題発生時の対処方法】

以下のいずれかの操作で復旧してください。

以下のdirectorのコマンドは実行可能です。

オペレーションログファイルのサイズが最大値に達した

【現象】

shundimportコマンドまたはアプリケーションにより、データの追加、削除または更新をすると、システムログ、および、コマンドまたはアプリケーションに、以下のメッセージが出力される。

【原因】

shundimportコマンドまたはアプリケーションによる追加、削除または更新処理において、追加、削除または更新処理を実施した結果、オペレーションログファイルのサイズが最大サイズを超えてしまうため、追加、削除または更新処理を中止しました。

この場合、トランザクションはロールバックされます。
また、shundstateコマンドで表示されるOperationLogStatusは、“LIMIT”となり、その後のshundimportコマンドおよびアプリケーションからの追加、更新または削除処理はエラーとなります。

【問題発生時の対処方法】

shundbackupコマンドによるディレクタデータファイルのバックアップを実施してください。その後、ディレクタデータファイルのバックアップ周期について見直しを実施し、オペレーションログファイルのログ量を減らすようにしてください。

復旧方法の詳細は、“オペレーションログファイルの容量不足”の“【問題発生時の対処方法】”を参照してください。

以下のdirectorのコマンドは実行可能です。

目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2006