FAQ

EMCからAMCへ移行する際、移行ツールで[Failed to create index clients_migration. [SQLSTATE[40P01]: Deadlock detected:が出力されます。

最終更新日:2019/04/23
AMCサーバーに接続しているクライアントが存在する状態で移行ツールを使用する場合、移行ツールでデッドロックエラーが発生することがあります。
移行ツールで下記のエラーが発生する場合は、クライアントがAMCに接続できないようにしたうえで、移行ツールを実施してください。

[Failed to create index clients_migration. [SQLSTATE[40P01]: Deadlock detected:

実施手順は以下となります。

A. デッドロックの事象を回避するための事前準備

1. Apacheを一時的に停止します。

    a. タスクバーを右クリック
    b. タスクマネージャーを起動
    c. 「サービス」タブをクリック
    d. 列「名前」が「Apache」の行を右クリック
    e. 「停止」をクリック
    f. 列「状態」が「停止」になるまで待機

2. PostgreSQLを一時的に停止します。

    a. タスクバーを右クリック
    b. タスクマネージャーを起動
    c. 「サービス」タブをクリック
    d. 列「名前」が「PostgreSQL」の行を右クリック
    e. 「停止」をクリック
    f. 列「状態」が「停止」になるまで待機

3. AMCを稼働させたまま、クライアントからのアクセスを停止する為、以下ファイルをバックアップを取った上で編集します。

    C:\FFRI\AMC\public\func\background\.htaccess

    上記ファイルの1行目を以下のように変更します。
    Require all granted
    ↓
    #Require all granted

4. AMCを稼働させたまま、WebUI管理者からのアクセスを停止する為、以下ファイルの名前を変更します。

   変更するファイル:C:\FFRI\AMC\public\.htaccess
   変更後のファイル:C:\FFRI\AMC\public\.htaccess.bak

   ※AMCセットアップマニュアルp.36の「アクセス制限の停止 (任意)」でAMCへのアクセス制限の停止を実施している設定を行っている場合は
     httpd.confの「Require all granted」の行頭に#を記述してコメントアウトし、デフォルト設定の「Require all denied」及び、
 「Require local」行を追加してください。 

5. 定期処理実行の停止

   a. スタートメニューからコントロールパネルを実行
   b. 「システムとセキュリティ」をクリック
   c. 「管理ツール」の「タスクのスケジュール」をクリック
   d. 左ペインの「タスクスケジューラライブラリ」をクリック
   e. 画面中央に表示された「FFRI AMC scheduled task」を右クリック
   f. 無効をクリック

6. PostgreSQLを起動します。

   a. タスクバーを右クリック
   b. タスクマネージャーを起動
   c. 「サービス」タブをクリック
   d. 列「名前」が「PostgreSQL」の行を右クリック
   e. 「開始」をクリック
   f. 列「状態」が「実行中」になるまで待機

7. Apacheを起動します。

   a. タスクバーを右クリック
   b. タスクマネージャーを起動
   c. 「サービス」タブをクリック
   d. 列「名前」が「Apache」の行を右クリック
   e. 「開始」をクリック
   f. 列「状態」が「実行中」になるまで待機


B. 移行ツールの実施

AMCのWebUIから移行ツールを実行します。
※手順Bでローカル以外からのWebUIのアクセスを禁止しているため、AMCのインストールされているサーバーのローカルで実行してください。
  ブラウザにプロキシが設定されていてWebUIにアクセスできない場合は一時的にプロキシを無効にして実施してください。


C. アクセスの再開

1. 定期処理実行の開始

   a. スタートメニューからコントロールパネルを実行
   b. 「システムとセキュリティ」をクリック
   c. 「管理ツール」の「タスクのスケジュール」をクリック
   d. 左ペインの「タスクスケジューラライブラリ」をクリック
   e. 画面中央に表示された「FFRI AMC scheduled task」を右クリック
   f. 有効をクリック

2. WebUI管理者からのアクセスを再開する為、手順B-4で実施した以下ファイルのファイル名を元に戻します。

   変更するファイル:C:\FFRI\AMC\public\.htaccess.bak
   変更後のファイル:C:\FFRI\AMC\public\.htaccess

   なお、手順B-4でhttpd.confの変更を行っている場合は変更した内容を元に戻してださい。

3. クライアントからのアクセスを再開する為、以下ファイルを編集します。

   C:\FFRI\AMC\public\func\background\.htaccess

   上記ファイルの1行目を以下のように変更します。
   #Require all granted
   ↓
   Require all granted

4. Apacheを再起動します。

  a. タスクバーを右クリック
  b. タスクマネージャーを起動
  c. 「サービス」タブをクリック
  d. 列「名前」が「Apache」の行を右クリック
  e. 「再起動」をクリック
  f. 列「状態」が「実行中」になるまで待機
この内容は参考になりましたか?
  • このフォームにお寄せいただいたご意見への回答は行っておりません(回答が必要な場合は販売店までお問い合わせください)
  • お名前、ご連絡先等の個人情報は入力しないようお願いいたします
  • 250文字以内でご記入をお願いいたします
ご回答いただきまして、ありがとうございます。
今後の参考にさせていただきます。
Powered by i-ask
pagetop