OpManager ナレッジベース

イベントテーブルのバックアップ/リストア手順


要望

OpManager/bin/backup/BackUp.bat(sh)ではイベントテーブルのバックアップに
対応していないが、イベントテーブルのバックアップ/リストアを行いたい。

解決方法

※次の手順は同一ビルドで実施する必要があります。

1.クエリの実行

次のクエリを実行し、イベントテーブルのテーブル名を取得します。

 select * from pg_tables where tablename like 'event_2%';

クエリ実行結果のtablenameカラムを参照し、
"event_YYYY_MM_DD_HH"形式のテーブル名を控えます。
例:
Event_2018_08_28_22

上記クエリは、OpManagerのGUI上のクエリ実行機能では実行できず、
OpManagerのデータベースに直接接続して実行する必要がございます。

●データベース(PostgreSQL)への接続方法:
https://www.manageengine.jp/support/kb/OpManager/?p=3207

2. バックアップ方法

2-1. OpManagerサービスを停止し、次のプロセスが存在しないことを確認します。
java、postgres、wrapper
※OpManagerのプロセスが残存している場合の対応方法
http://www.manageengine.jp/support/kb/OpManager/?p=8535
2-2. 管理者権限でコマンドプロンプト(Windows)またはターミナル(Linux)を起動します。
2-3. \OpManager\bin\に移動し、
startPgSQL.bat(sh)
を実行しデータベースを起動します。
2-4. コマンドプロンプト/ターミナル上で\OpManager\pgsql\binに移動します。
2-5. 次のコマンドを実行し、バックアップファイルを取得します。
  pg_dump -h 127.0.0.1 -p 13306 -U postgres -a -t <TableName> -f "<FilePath>/<TableName>.bkp" OpManagerDB
例:
  pg_dump -h 127.0.0.1 -p 13306 -U postgres -a -t event_2018_08_28_22 -f "/opt/OpManager/event_2018_08_28_22.bkp" OpManagerDB
2-6. \OpManager\bin\に移動し、
stopPgSQL.bat(sh)
を実行しデータベースを停止します。

3. リストア方法

3-1. 次のURLの手順でBackUp.bat(sh)で取得したバックアップファイルをリストアします。
・PostgreSQLを使用したバックアップ・リストアの方法を知りたい
https://www.manageengine.jp/support/kb/OpManager/?p=89
3-2. 管理者権限でコマンドプロンプト(Windows)またはターミナル(Linux)を起動します。
3-3. \OpManager\bin\に移動し、
startPgSQL.bat(sh)
を実行しデータベースを起動します。
3-4. コマンドプロンプト/ターミナル上で\OpManager\pgsql\binに移動します。
3-5. 次のURLを参考にデータベースに接続し、下記クエリをそれぞれ実行します。
・データベース(PostgreSQL)への接続方法
https://www.manageengine.jp/support/kb/OpManager/?p=3207

DROP TABLE <TableName>;

CREATE TABLE <TableName> (id integer not null, text text,category character varying(100),ddomain character varying(100),network character varying(100),node character varying(100),entity character varying(250),severity integer,ttime bigint,source character varying(100),helpurl character varying(100),webnms character varying(100),groupname character varying(100),ownername character varying(25) not null,alarmcode text, displayname character varying(100),eventtype character varying(255), pollid bigint not null default (-1));

ALTER TABLE <TableName> ADD CONSTRAINT <TableName>_pkey PRIMARY KEY("id","ownername");

例:

DROP TABLE event_2018_08_28_22;

CREATE TABLE event_2018_08_28_22 (id integer not null, text text,category character varying(100),ddomain character varying(100),network character varying(100),node character varying(100),entity character varying(250),severity integer,ttime bigint,source character varying(100),helpurl character varying(100),webnms character varying(100),groupname character varying(100),ownername character varying(25) not null,alarmcode text, displayname character varying(100),eventtype character varying(255), pollid bigint not null default (-1));

ALTER TABLE event_2018_08_28_22 ADD CONSTRAINT event_2018_08_28_22_pkey PRIMARY KEY("id","ownername");

3-6. 次のコマンドを実行し、DBからログアウトします。
\q
3-7. 次のコマンドを実行し、リストアします。
psql -U postgres -h 127.0.0.1 -p 13306 -f "<BKPFilePath>" OpManagerDB
例:
psql -U postgres -h 127.0.0.1 -p 13306 -f "/opt/OpManager/event_2018_08_28_22.bkp" OpManagerDB
3-8. \OpManager\bin\に移動し、
stopPgSQL.bat(sh)
を実行しデータベースを停止します。

【対応ビルド】すべて

★-----------------------------------------------------------------------------★
OpManager 製品紹介ページはこちら ↓
https://www.manageengine.jp/products/OpManager/
★-----------------------------------------------------------------------------★