OpManager ナレッジベース

データベースをMySQLからPostgreSQLへ変更する方法


【現象/要望】
MySQLからPostgreSQLにDBを変更する方法を教えて欲しい。

【原因】
【解決方法】
以下の手順を実行することによりMySQLからPostgreSQLにDBを変更し、データも引き継ぐことが可能になります。

【1】別サーバにOpManagerをインストールし、DBを変更する手順
【2】MySQL版のOpManagerをインストールしているサーバのみを使用し、DB変更を行う手順

OpManager 11.6(11600)インストーラー Postgres版の入手方法については、
「保守ユーザ向けモジュールダウンロード認証画面」より入手してください。
アクセス方法に関しましては、保守ご契約者(ユーザ登録者)のお客様にのみ2017年4月7日に保守メールにてお知らせしております。


別サーバにOpManagerをインストールし、データを移行させる手順

別サーバを用意し、データを移行させる手順は以下のとおりです。

※注意※
リストアは同じビルド番号のOpManager間でのみ行えます。

例えばOpManager 11.6(11600)をご利用の場合は、11.6のOpManagerにのみリストアが可能となっております。

Windowsの場合の手順)

稼働中のOpManagerサーバ(MySQL版)にて:

(OpManager 11.6を使用している場合)
バックアップを取得する手順を実行する前に、
バックアップを取得するサーバ上で以下の手順の通りパッチを適用する必要があります。
※パッチを適用しない場合、正常にDBを変更できない場合があります。
パッチ適用手順)
1. jdbc.zipファイルをダウンロード解凍し得られたjdbcフォルダーをOpManager\classesディレクトリ直下に配置。
配置後のパスは以下のとおりです。

  • OpManager\classes\jdbc\BackupDB$BackupConfigDataThread.class
  • OpManager\classes\jdbc\BackupDB$BackupDataThread.class
  • OpManager\classes\jdbc\BackupDB.class

2.  OpManagerサービスを再起動。

1. OpManagerを停止。
2. Windowsの[スタート]メニュー > [すべてのプログラム] > [アクセサリ] > [コマンド プロンプト]を右クリック > [管理者として実行]選択しコマンドプロンプトを管理者権限で起動します。

3. OpManager\bin\backupに移動。

4. 以下のコマンドを実行しバックアップを取得。
BackupDB.bat -targetdb pgsql

5. 上記コマンドでOpManager\backupフォルダ下にバックアップファイルが作成されたことを確認。

------------------------------------------------

移行先サーバ(PostgreSQL版)にて:

6. 移行元(MySQL版)と同ビルド番号 & PostgreSQLバンドル版のOpManagerを別のサーバにインストール。
7. 手順4にてOpManager(MySQL版)より取得したバックアップファイルを移行先のサーバ(PostgreSQL版)にコピー。
8. OpManagerサーバ(PostgrSQL版)上でWindowsの[スタート]メニュー > [すべてのプログラム] > [アクセサリ] > [コマンド プロンプト]を右クリック > [管理者として実行]選択しコマンドプロンプトを管理者権限で起動します。

9. OpManager\bin\backupに移動し、以下のコマンドを実行。

> RestoreDB.bat <バックアップファイル名>

※ バックアップファイル名を引数として設定します。
※ バックアップファイル名にはファイルの絶対パスを指定してください。
※ ファイルパスに日本語を含む2バイト文字、特殊文字を含めないでください。含めた場合、リストアに失敗する場合がございます。

例) RestoreDB.bat "c:\OpManager\backup\BackUp_APR3_2014_17_43_38_11300.zip"

10. OpManager(PostgreSQL版)を起動。

※注意※
下記2つのフォルダは、バックアップコマンドによるバックアップ対象外ですので、手動でバックアップリストアを実施していただく必要がございます。

  • OpManager\mibsフォルダ
  • OpManager\Reportsフォルダ
  • OpManager\images\mapsフォルダ

外部からMIBファイルをOpManagerにアップロードするなどした場合には、OpManager\mibsフォルダをコピーし、移行先の OpManager\mibsフォルダ に対して上書きする必要があります。
作成されたスケジュールレポートが保存されている Reportsフォルダ は、移行先のOpManagerインストールフォルダ下に配置または同フォルダを上書きする必要があります。

11. OpManager(PostgreSQL版)の動作に問題がなければ、MySQL版のOpManagerをアンインストール。
12. 移行先OpManager(PostgreSQL版)にて、ライセンスファイルをOpManager 画面右上[サポート]>[ライセンス登録] から適用してください。

*その後、必要に応じて、最新のOpManagerへアップグレードします。
OpManager 11.x/12.x から最新版へのアップグレード手順
https://www.manageengine.jp/support/kb/OpManager/?p=2717

Linuxの場合の手順

稼働中のOpManagerサーバ(MySQL版)にて:

(OpManager 11.6を使用している場合)
バックアップを取得する手順を実行する前に、
バックアップを取得するサーバ上で以下の手順の通りパッチを適用する必要があります。
※パッチを適用しない場合、正常にDBを変更できない場合があります。
パッチ適用手順)
1. jdbc.zipファイルをダウンロード解凍し得られたjdbcフォルダーをOpManager\classesディレクトリ直下に配置。
配置後のパスは以下のとおりです。

  • OpManager\classes\jdbc\BackupDB$BackupConfigDataThread.class
  • OpManager\classes\jdbc\BackupDB$BackupDataThread.class
  • OpManager\classes\jdbc\BackupDB.class

2.  OpManagerサービスを再起動。

1. OpManagerを停止
2. ターミナルを起動
3. OpManager\bin\backupに移動

4. 以下のコマンドを実行しバックアップを取得
BackupDB.sh -targetdb pgsql

5. 上記コマンドでOpManager\backupフォルダ下にバックアップファイルが作成されたことを確認

------------------------------------------------

移行先サーバ(PostgreSQL版)にて:

6. 移行元(MySQL版)と同ビルドのPostgreSQLバンドル版のOpManagerを別のサーバにインストール
7. 手順4にてOpManager(MySQL版)より取得したバックアップファイルを移行先のサーバ(PostgreSQL版)にコピー
8. ターミナルを起動し、OpManager\bin\backupに移動

9. 以下のコマンドを実行

# RestoreDB.sh <手順5で取得したバックアップファイルのコピーの絶対パス>

※ バックアップファイル名を引数として設定します。
※ バックアップファイル名にはファイルの絶対パスを指定してください。
※ ファイルパスに日本語を含む2バイト文字、特殊文字を含めないでください。含めた場合、リストアに失敗する場合がございます。

例) RestoreDB.sh /opt/backup/backupBackup_Mysql_to_Pgsql_815_142241_11300.zip

10. OpManager(PostgreSQL版)を起動。

※注意※
下記2つのフォルダは、バックアップコマンドによるバックアップ対象外ですので、手動でバックアップリストアを実施していただく必要がございます。

  • OpManager\mibsフォルダ
  • OpManager\Reportsフォルダ
  • OpManager\images\mapsフォルダ

外部からMIBファイルをOpManagerにアップロードするなどした場合には、OpManager\mibsフォルダをコピーし、移行先の OpManager\mibsフォルダ に対して上書きする必要があります。
作成されたスケジュールレポートが保存されている Reportsフォルダ は、移行先のOpManagerインストールフォルダ下に配置または同フォルダを上書きする必要があります。

11. 動作に問題がなければ、MySQL版のOpManagerをアンインストール。
12. 移行先OpManager(PostgreSQL版)で、ライセンスファイルをOpManager 画面右上[サポート]>[ライセンス登録] から適用してください。

*その後、必要に応じて、最新のOpManagerへアップグレードします。
OpManager 11.x/12.x から最新版へのアップグレード手順
https://www.manageengine.jp/support/kb/OpManager/?p=2717

MySQL版のOpManagerをインストールしているサーバのみを使用し、DB変更を行う手順

  • ※注意※
    リストアは同じビルド番号のOpManager間でのみ行えます。

    例:OpManager 11.6(11600)をご利用の場合は、11.6のOpManagerにのみリストアが可能となっております。

Windowsの場合の手順

稼働中のOpManagerサーバ(MySQL版)にて:

(OpManager 11.6を使用している場合)
バックアップを取得する手順を実行する前に、
バックアップを取得するサーバ上で以下の手順の通りパッチを適用する必要があります。
※パッチを適用しない場合、正常にDBを変更できない場合があります。
パッチ適用手順)
1. jdbc.zipファイルをダウンロード解凍し得られたjdbcフォルダーをOpManager\classesディレクトリ直下に配置。
配置後のパスは以下のとおりです。

  • OpManager\classes\jdbc\BackupDB$BackupConfigDataThread.class
  • OpManager\classes\jdbc\BackupDB$BackupDataThread.class
  • OpManager\classes\jdbc\BackupDB.class

2.  OpManagerサービスを再起動。

1. OpManagerを停止。

※注意 1※
下記手順Xにてバックアップファイルをリストアした際にOpManagerが起動しないことに備え、予めMySQL版のOpManagerのインストールフォルダのコピーを予めご取得ください。

2. Windowsの[スタート]メニュー > [すべてのプログラム] > [アクセサリ] > [コマンド プロンプト]を右クリック > [管理者として実行]選択しコマンドプロンプトを管理者権限で起動します。

3. OpManager\bin\backupに移動

4. 以下のコマンドを実行しバックアップを取得
BackupDB.bat -targetdb pgsql

5. 上記コマンドでOpManager\backupフォルダ下にバックアップファイルが作成されたことを確認し、OpManagerとは全く関係のないフォルダにバックアップファイルをコピー

※注意 2※

  • 手順5.において、バックアップファイルをOpManagerとは関係のないフォルダにコピーしておかない場合、OpManagerのアンインストールと共にバックアップファイルが削除されてしまいます。
    • バックアップファイルに問題があり正常にリストアできない場合には、サポートにて解析を行いますが、解析の結果修復できない場合がございます。その場合には新規にOpManagerを構築頂く必要があります。
  • 下記2つのフォルダは、バックアップコマンドによるバックアップ対象外ですので、「アンインストール前」に手動でバックアップ・リストアを実施していただく必要がございます。
    • OpManager\mibsフォルダ
    • OpManager\Reportsフォルダ
    • OpManager\images\mapsフォルダ

    外部からMIBファイルをOpManagerにアップロードするなどした場合には、
    OpManager\mibsフォルダをコピーし、移行先の OpManager\mibsフォルダ に対して上書きする必要があります。
    作成されたスケジュールレポートが保存されている Reportsフォルダ は、移行先のOpManagerインストールフォルダ下に配置または同フォルダを上書きする必要があります。

6. OpManager(MySQL版)をアンインストール

7. OpManager(MySQL版)と同ビルドのPostgreSQLバンドル版のOpManagerを再インストール
8. Windowsの[スタート]メニュー > [すべてのプログラム] > [アクセサリ] > [コマンド プロンプト]を右クリック > [管理者として実行]選択しコマンドプロンプトを管理者権限で起動します。

9. OpManager\bin\backupに移動し、以下のコマンドを実行

> RestoreDB.bat <バックアップファイル名>

※ バックアップファイル名を引数として設定します。
※ バックアップファイル名にはファイルの絶対パスを指定してください。
※ ファイルパスに日本語を含む2バイト文字、特殊文字を含めないでください。含めた場合、リストアに失敗する場合がございます。

例) RestoreDB.bat "c:\backup\BackUp_APR3_2014_17_43_38_11300.zip"

10. OpManager(PostgreSQL版)を起動

11. ライセンスファイルをOpManager 画面右上[サポート]>[ライセンス登録] から適用してください。

*その後、必要に応じて最新のOpManagerへアップグレードします。
OpManager 11.x/12.x から最新版へのアップグレード手順
https://www.manageengine.jp/support/kb/OpManager/?p=2717

Linuxの場合の手順

稼働中のOpManagerサーバ(MySQL版)にて:

(OpManager 11.6を使用している場合)
バックアップを取得する手順を実行する前に、
バックアップを取得するサーバ上で以下の手順の通りパッチを適用する必要があります。
※パッチを適用しない場合、正常にDBを変更できない場合があります。
パッチ適用手順)
1. jdbc.zipファイルをダウンロード解凍し得られたjdbcフォルダーをOpManager\classesディレクトリ直下に配置。
配置後のパスは以下のとおりです。

  • OpManager\classes\jdbc\BackupDB$BackupConfigDataThread.class
  • OpManager\classes\jdbc\BackupDB$BackupDataThread.class
  • OpManager\classes\jdbc\BackupDB.class

2.  OpManagerサービスを再起動。正常に稼働していることを確認します。

1. OpManagerを停止。

※注意 1※
下記手順Xにてバックアップファイルをリストアした際にOpManagerが起動しないことに備え、予めMySQL版のOpManagerのインストールフォルダのコピーを予めご取得ください。

2. ターミナルを起動。
3. OpManager\bin\backupに移動

4. 以下のコマンドを実行しバックアップを取得
# BackupDB.sh -targetdb pgsql

5. 上記コマンドでOpManager\backupフォルダ下にバックアップファイルが作成されたことを確認し、OpManagerとは全く関係のないフォルダにバックアップファイルをコピー

※注意※

  • 手順5.において、バックアップファイルをOpManagerとは関係のないフォルダにコピーしておかない場合、OpManagerのアンインストールと共にバックアップファイルが削除されてしまいます。
    • バックアップファイルに問題があり正常にリストアできない場合には、サポートにて解析を行いますが、解析の結果修復できない場合がございます。その場合には新規にOpManagerを構築頂く必要があります。
  • 下記2つのフォルダは、バックアップコマンドによるバックアップ対象外ですので、「アンインストール前」に手動でバックアップ・リストアを実施していただく必要がございます。
    • OpManager\mibsフォルダ
    • OpManager\Reportsフォルダ
    • OpManager\images\mapsフォルダ

    外部からMIBファイルをOpManagerにアップロードするなどした場合には、
    OpManager\mibsフォルダをコピーし、移行先の OpManager\mibsフォルダ に対して上書きする必要があります。
    作成されたスケジュールレポートが保存されている Reportsフォルダ は、移行先のOpManagerインストールフォルダ下に配置または同フォルダを上書きする必要があります。

6. OpManager(MySQL版)をアンインストール。

7. OpManager(MySQL版)と同ビルドのPostgreSQLバンドル版のOpManagerを再インストール。

8. ターミナルで以下のコマンドを実行。

# RestoreDB.sh <手順5で取得したバックアップファイルのコピーの絶対パス>

※ バックアップファイル名を引数として設定します。
※ バックアップファイル名にはファイルの絶対パスを指定してください。
※ ファイルパスに日本語を含む2バイト文字、特殊文字を含めないでください。含めた場合、リストアに失敗する場合がございます。

例) RestoreDB.sh /opt/backup/backupBackup_Mysql_to_Pgsql_815_142241_11300.zip

9. OpManager(PostgreSQL版)を起動
10. ライセンスファイルをOpManager 画面右上[サポート]>[ライセンス登録] から適用してください。

*その後、必要に応じて最新のOpManagerへアップグレードします。
OpManager 11.x/12.x から最新版へのアップグレード手順
https://www.manageengine.jp/support/kb/OpManager/?p=2717


【対応リリース】 11.3 - 11.6まで
★-----------------------------------------------------------------------------★
OpManager 製品紹介ページはこちら ↓
https://www.manageengine.jp/products/OpManager/
★-----------------------------------------------------------------------------★