- クロスプラットフォーム:H2
- .NET:SQLite
- SQL Server
- MySQL
- PostgreSQL
- トランザクションログ
- メッセージログ
- 監査ログ
- コネクタの状態
- SLA ステータスデータ
- 一般的なアプリケーションデータ
アプリケーションデータベースを移行する
ユーティリティを起動するには、設定 > 高度な設定に移動し、移行セクションまでスクロールして、アプリケーションデータベースを移行 を選択します。- アプリケーションデータベース移行は、高可用性(HA)デプロイではサポートされていません。続行する前に、他のすべてのArc ノードを停止し、すべての他のノードが停止していることを確認する必要があります。他のすべてのHA ノードを停止する必要があることを理解しました をチェックしてから、次へ をクリックします。
- 移行プロセスを続行するには、セーフモードである必要があります。これにより、すべてのバックグラウンドサービスが無効化され、すべてのコネクタが停止し、移行プロセス全体を通じてデータの整合性を確保するためにインバウンドエンドポイントがブロックされます。セーフモードに入る をクリックします。
- データベースを選択 をクリックし、上記のリストから移行先のデータベースタイプを選択してから、移行先データベースの接続詳細を入力します。
- 接続テスト をクリックして接続を検証します。
- 移行を開始 をクリックします。データはテーブルごとに移行されます。移行にかかる時間はデータ量によって異なり、数分から数時間かかる場合があります。
- 移行が正常に完了すると、接続文字列が提供されます。
-
接続文字列を設定に追加します。手順はプラットフォームによって異なります:
- **クロスプラットフォーム:**文字列を設定に追加します(クロスプラットフォームアプリケーションデータベースの設定を参照してください)。新しいデータベースを指すように設定を更新したら、Arc を再起動してください。
-
**.NET:**移行が完了すると、新しい接続文字列が適用されてArc が再起動されるまで、Arc はセーフモードのままになります。バックグラウンドサービスは停止したままで、ファイルとトランザクションは処理されません。コピーをクリックして接続文字列をコピーし、
Web.ConfigのAppDbエントリを更新します:-
Web.Configを開き、<connectionStrings>セクションを見つけます(セクションのコメントを必ず解除してください)。 -
次の内容で
AppDbエントリを追加または置き換えます。<ConnectionString>は、コピーした接続文字列です:この例ではPostgreSQL を使用しています。SQL Server の場合は、providerNameをSystem.Data.CData.SQLに設定します。MySQL の場合は、System.Data.CData.MySQLに設定します。詳細については、.NET アプリケーションデータベースの設定を参照してください。 -
Web.Configを保存します。Arc は自動的に再起動されるため、手動で再起動する必要はありません。
-
セーフモードの動作
移行が開始されると、Arc は_セーフモード_ に入り、現在のデータベースに何も書き込めない状態にすることでアプリケーション全体に影響を及ぼします:- すべてのコネクタが停止し、送信または受信ファイルの処理が行われなくなります。
- オートメーション、SLA 監視、コネクタ監視、スケジュールされたレポート、ディスク容量の監視などを含むバックグラウンドサービスが一時停止します。
- インバウンドエンドポイントがブロックされ、API リクエスト、Webhook、フローAPI 呼び出し、SFTP サーバー接続、E メール受信箱がすべてエラーを返すようになります。
- UI が制限されます:ログイン中のすべてのユーザーにはセーフモード有効 メッセージが表示され、移行が完了するまで通常の操作を実行できなくなります。
- 管理者ユーザーは、Start、Abort、Monitor Progress の移行コントロールにアクセスできます。
- 管理者以外のユーザーにはセーフモードのステータスが表示されますが、移行を管理することはできません。接続文字列の詳細は編集不可にされます。
復旧と耐障害性
- クラッシュからの復旧:移行中にArc プロセスが予期せず終了した場合、移行の状態はバックエンドデータベースに保持されます。再起動すると、Arc は未完了の移行を検出するため、最初からやり直すのではなく、中断した箇所から再開できます。
- バックグラウンドサービスは、移行を明示的に完了またはキャンセルするまで、復旧中は一時停止されたままになります。