> ## Documentation Index
> Fetch the complete documentation index at: https://docs.arc.cdata.com/llms.txt
> Use this file to discover all available pages before exploring further.

# アプリケーションデータベース移行ユーティリティ

> Arc のアプリケーションデータを組み込みデータベースから外部データベースに移行する方法。

アプリケーションデータベース移行ユーティリティを使用すると、管理者ユーザーはCData Arc のバックエンドアプリケーションデータを組み込みデータベースから外部データベースに移行できます。移行エンジンには、組み込みデータベースを自動検出して移行を処理するソースデータベースルーターが含まれています。組み込みデータベースはプラットフォームによって異なります：

* クロスプラットフォーム：H2
* .NET：SQLite

このユーティリティを使用する一般的な理由としては、大規模な環境でのパフォーマンスや同時アクセス数の制限といった、組み込みデータベースの制約が挙げられます。

次の外部データベースが移行先としてサポートされています：

* SQL Server
* MySQL
* PostgreSQL

移行では、以下のようなテーブルを含め、バックエンドデータベースのすべてのテーブルが移行先データベースに移されます：

* トランザクションログ
* メッセージログ
* 監査ログ
* コネクタの状態
* SLA ステータスデータ
* 一般的なアプリケーションデータ

開始する前に、移行のタイミングを検討してください。必須のセーフモードは、すべてのファイル処理をブロックします。計画されたメンテナンスウィンドウ中にこのプロセスを実行することを検討してください。

## アプリケーションデータベースを移行する

ユーティリティを起動するには、**設定 > 高度な設定**に移動し、**移行**セクションまでスクロールして、**アプリケーションデータベースを移行** を選択します。

1. アプリケーションデータベース移行は、高可用性（HA）デプロイではサポートされていません。続行する前に、他のすべてのArc ノードを停止し、すべての他のノードが停止していることを確認する必要があります。**他のすべてのHA ノードを停止する必要があることを理解しました** をチェックしてから、**次へ** をクリックします。

2. 移行プロセスを続行するには、[セーフモード](#セーフモードの動作)である必要があります。これにより、すべてのバックグラウンドサービスが無効化され、すべてのコネクタが停止し、移行プロセス全体を通じてデータの整合性を確保するためにインバウンドエンドポイントがブロックされます。**セーフモードに入る** をクリックします。

3. **データベースを選択** をクリックし、上記のリストから移行先のデータベースタイプを選択してから、移行先データベースの接続詳細を入力します。

4. **接続テスト** をクリックして接続を検証します。

5. **移行を開始** をクリックします。データはテーブルごとに移行されます。移行にかかる時間はデータ量によって異なり、数分から数時間かかる場合があります。

6. 移行が正常に完了すると、接続文字列が提供されます。

7. 接続文字列を設定に追加します。手順はプラットフォームによって異なります：

   * \*\*クロスプラットフォーム：\*\*文字列を設定に追加します（[クロスプラットフォームアプリケーションデータベースの設定](https://docs.arc.cdata.com/26.4/self-hosted/ja/getting-started/installation/cross-platform-edition.md#アプリケーションデータベースの設定)を参照してください）。新しいデータベースを指すように設定を更新したら、Arc を再起動してください。

   * \*\*.NET：\*\*移行が完了すると、新しい接続文字列が適用されてArc が再起動されるまで、Arc はセーフモードのままになります。バックグラウンドサービスは停止したままで、ファイルとトランザクションは処理されません。**コピー**をクリックして接続文字列をコピーし、`Web.Config` の`AppDb` エントリを更新します：

     1. `Web.Config` を開き、`<connectionStrings>` セクションを見つけます（セクションのコメントを必ず解除してください）。

     2. 次の内容で`AppDb` エントリを追加または置き換えます。`<ConnectionString>` は、コピーした接続文字列です：

        ```xml theme={null}
        <add name="AppDb" connectionString="<ConnectionString>" providerName="System.Data.CData.PostgreSQL" />
        ```

        この例ではPostgreSQL を使用しています。SQL Server の場合は、`providerName` を`System.Data.CData.SQL` に設定します。MySQL の場合は、`System.Data.CData.MySQL` に設定します。詳細については、[.NET アプリケーションデータベースの設定](https://docs.arc.cdata.com/26.4/self-hosted/ja/getting-started/installation/windows-edition.md#アプリケーションデータベースの設定)を参照してください。

     3. `Web.Config` を保存します。Arc は自動的に再起動されるため、手動で再起動する必要はありません。

## セーフモードの動作

移行が開始されると、Arc は\_セーフモード\_ に入り、現在のデータベースに何も書き込めない状態にすることでアプリケーション全体に影響を及ぼします：

* すべてのコネクタが停止し、送信または受信ファイルの処理が行われなくなります。

* オートメーション、SLA 監視、コネクタ監視、スケジュールされたレポート、ディスク容量の監視などを含むバックグラウンドサービスが一時停止します。

* インバウンドエンドポイントがブロックされ、API リクエスト、Webhook、フローAPI 呼び出し、SFTP サーバー接続、E メール受信箱がすべてエラーを返すようになります。

* UI が制限されます：ログイン中のすべてのユーザーには**セーフモード有効** メッセージが表示され、移行が完了するまで通常の操作を実行できなくなります。

* 管理者ユーザーは、**Start**、**Abort**、**Monitor Progress** の移行コントロールにアクセスできます。

* 管理者以外のユーザーにはセーフモードのステータスが表示されますが、移行を管理することはできません。接続文字列の詳細は編集不可にされます。

## 復旧と耐障害性

* クラッシュからの復旧：移行中にArc プロセスが予期せず終了した場合、移行の状態はバックエンドデータベースに保持されます。再起動すると、Arc は未完了の移行を検出するため、最初からやり直すのではなく、中断した箇所から再開できます。

* バックグラウンドサービスは、移行を明示的に完了またはキャンセルするまで、復旧中は一時停止されたままになります。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.