よくあるご質問

キーワードから探す

  • FAQ検索
  • ID検索

※スペースで区切って複数検索が可能です。

カテゴリで絞り込む

カテゴリから探す

ID:3685
作成日: 2023/03/02
[ILP共通]データベースのバックアップ/リストア手順

InterSafe ILPでは、定期的なデータベースのバックアップを推奨しています。障害発生等で、ILP Server
が利用できなくなった場合にデータベースをリストアしていただくことで早期に復旧していただくことが可能です。

※ ILP Serverを利用するためのデータをバックアップする手順です。ローカル環境のファイル等
    InterSafe Client環境のデータは対象ではないため、ご注意ください。

※ 本ページに記載のデータベースのバックアップに加え、以下の設定・ファイルをバックアップいただくと
  より早急に復旧いただけます。
 ・PostgreSQL 関連ファイル
 ・IS WorkFlow/IS FileTransporter 関連フォルダー
 ・Java パラメーターの設定
 ・Apache 関連ファイル
  詳細は、アップデートマニュアルの2-2.アップデートの準備をご参照ください。

※記載しているパスやアプリケーション名は、バージョンによって異なります。
 恐れ入りますが、ご利用のバージョンに合わせて読み替えてご確認ください。

1.データベースのバックアップ手順
   ※ 手動で行う場合は、1-2のpg_dump.exeが含まれる行をコマンドプロンプトから実行するだけで結構です。
1-1. C:\Users\<ユーザーID>\AppData\Roaming\postgresql\pgpass.conf
       をテキストエディタで開いて、以下一行を追記します。

   localhost:ポート:*:postgres:パスワード

  ※ 例: localhost:5432:*:postgres:password
  ※ ポート(デフォルト:5432)とパスワード(デフォルト:password)は利用情報にあわせて記載してください。
  ※ "パスワード"はPostgreSQLインストール  時に指定したユーザー"postgres"のパスワードです。
  ※ フォルダ/ファイル(\postgresql\pgpass.conf)が存在しない場合は新規作成してください。PostgreSQLパスワード認証用のファイルです。
  ※ pgAdminⅢを使用し接続を行う場合や、サーバの「プロパティ」を表示した際に、「パスワード保存」を
         アンチェックするとpgpass.confの内容は削除される場合があります
のでご注意ください。

1-2. 任意のファイル名のbatファイルを生成し以下のように記入してください。

 set APPDATA=C:\Users\<ユーザーID>\AppData\Roaming
 set USERPROFILE=C:\Users\<ユーザーID>
 "C:\Program Files\PostgreSQL\XX\bin\pg_dump.exe" --username "postgres" -Fc --blobs --file "d:\PGBack\ILPDB-bkup%date:~0,4%%date:~5,2%%date:~8,2%.ctar" ISDB
cd d:\PGBack
forfiles /d -180 /c "cmd /c del @fname.ctar"

  ※ ブラウザの幅によっては、改行位置がずれて表示される可能性がございますので上記をコピーしてご利用ください
  ※ 各ディレクトリやファイル名はご利用環境に合わせ変更してください
  ※ 日次実行する場合は、バックアップファイル名を"backup%date:~0,4%%date:~5,2%%date:~8,2%.ctar"の
     ように指定すると便利です。(実行されるマシンのコマンドプロンプトで「date /t」を実行した際
      yyyy/mm/dd形式で表示される場合です。その他の場合は適宜変更してください)
  ※ forfilesで定期削除ができます。上記は180日経過したものを削除する場合の例です。
  ※ データベース名「ISDB」については、SecureDevice Standard/Professional の場合、データベース名が「SDCDB」になります。

1-3. 作成したbatファイルを実行します。 

  ※注意事項
  ・ スナップショットバックアップですので、Apache、Tomcatサービスの停止をしなくても実行可能ですが
   停止されることを推奨しております。
  ・ タスクスケジューラ等にbatファイルを登録して定期的実行することができますが、「操作の編集」では
    「開始(オプション)(T):」にバッチを置いたディレクトリを指定してください。

1-4. アップロードファイルをバックアップ(コピーします)     
   
※InterSafe v5.00以降、かつWorkflow/FileProtection/FileTransporterをご利用の場合のみ実行してください。

  ワークフローのアップロードファイルはPostgreSQLからのみ閲覧できる
  データとして、設定しているフォルダに格納されています。

  [スタート]-[Apache Tomcat X.X TomcatX]-[Configure Tomcat]
  [Java]タブの[Java Options]より、格納先フォルダをご確認いただけます。

  ・ ファイル書出し申請、クイック書出しのファイルの格納先フォルダー       
     -Dwf.uploadfile.dir=(パス)
  ・ ファイル持込み申請のアップロードしたファイルの格納先フォルダー
     -Dwf.carryin.upload.dir=(パス)
  ・ ファイル持込み申請のダウンロードしたファイルの格納先フォルダー
      -Dwf.carryin.download.dir=(パス)
  ・ セキュアファイル変換申請のファイルの格納先フォルダー       
     -Dwf.convertsecurefile.upload.dir=(パス)
  ・ ファイル転送のアップロードファイルの格納先フォルダー       
     -Dwf.filetransport.upload.dir=(パス)
  ・ ファイル転送のダウンロードファイルの格納先フォルダー       
     -Dwf.filetransport.download.dir=(パス)

2.データベースのリストア手順
   ※ SecureDevice Standard/Professional の場合は、「Tomcat」のサービスを停止した後、2-5.のみの実行してください。他の手順は不要です。

2-1. 「Apache」のサービスを停止し、次に「Tomcat」のサービスを停止します。

2-2.  以下いずれかの方法でデータベース名を変更します。
    ※ 各ディレクトリやデータベースのファイル名はご利用環境、目的に合わせ変更してください

  ●コマンドでの変更方法

cd C:\Program Files\PostgreSQL\XX\bin
psql -U postgres -h localhost -c "ALTER DATABASE ""ISDB"" RENAME TO ""ISDB_old"""

  ●管理ツールを使用した変更方法   
   pgAdmin を起動し、ログオン後、PostgreSQL XX(localhost:5432)-データベース-ISDB
        を右ボタンクリックし[プロパティ]より"ISDB"->ISDB_old"など任意名前に変更します。
   ※起動に失敗する場合は、別ブラウザでの起動、IEの場合は「IE セキュリティ強化の構成」オフをお試しください。

2-3. 添付「CreateISDB.bat」を任意フォルダに保存し、環境に合わせ編集します。
  ※ILPのバージョンによってPostgreSQLのバージョン番号(パス)が異なりますのでご注意ください。
   ILP5系以前:PostgreSQL9.2 ILP6~7:PostgreSQL10 ILP8以降:PostgreSQL14

      主な変更箇所
        set PG_HOME="C:/Program Files/PostgreSQL/14" 
        set DP_HOST=localhost 
        set DP_PORT=5432
        set DP_USER=postgres
        set DP_DB_NAME=ISDB

2-4. CreateISDB.batを実行します。
###############################
# Create database ISDB
###############################
##########################
# 接続設定
##########################

PostgreSQL Home : "C:/Program Files/PostgreSQL/XX"
~(中略)~
Create ISDB successful.
続行するには何かキーを押してください . . .

  実行後にpgAdmin を起動し、ログオン後、PostgreSQL XX(localhost:5432)-データベース-ISDBを
  右ボタンクリックし、[プロパティ]-[Parameters]をご確認ください。
  以下4つのパラメータがない場合には、右上+より手動で設定をしてください。
  



2-5. 任意のファイル名のbatファイルを生成し以下のように記入してください。  

  "C:\Program Files\PostgreSQL\XX\bin\pg_restore.exe" --username postgres --dbname ISDB --verbose "d:\PGBack\ILPDB-bkupyyyymmdd.ctar

    ※ 各ディレクトリやリストア元のファイル名はご利用環境、目的に合わせ変更してください
    ※ v5.10以前で試用していた「--clean」パラメータは使用しませんのでご注意ください。

2-6.作成したbatを実行してください。 

  ※ 途中ユーザー"postgres"のパスワードを求められた場合はPostgreSQLインストール時に指定した
      ユーザー"postgres"のパスワードを入力します。
     (1-1項が設定されている環境では必要ありません)

  ※リストア時に以下のような警告が出力される場合がございます。
   public スキーマが既に存在していることを示した内容ですので、
   こちらの警告は無視してリストアを続行いただいて問題ございません。

  "C:\Program Files\PostgreSQL\XX\bin\pg_restore.exe" --username postgres --dbname ISDB --verbose "d:\PGBack\ILPDB-bkupyyyymmdd.ctar
 pg_restore: リストアのためデータベースに接続しています
 パスワード:
 pg_restore: SCHEMA "public"を作成しています
 pg_restore: TOC処理中:
 pg_restore: TOCエントリ3; 2615 2200 SCHEMA public postgres から
 pg_restore: エラー: could not execute query: ERROR:  schema "public" already exists
 コマンド: CREATE SCHEMA public;
 pg_restore: COMMENT "SCHEMA public"を作成しています
   |
   |
 pg_restore: ACL "public.TABLE workflowuserlogininfo"を作成しています
 pg_restore: 警告: リストア中に無視されたエラー数: 1

2-7. 1-4項でバックアップしたファイル[Java Options]で設定している格納先フォルダーにコピーします。
   ※ InterSafe v5.00以降、かつWorkflowオプションをご利用の場合のみ実行してください。

   ※ リストアに必要なファイルは、手順1で取得したデータです。
ログメンテナンスツール
       にて
取得するワークフローのアップロードファイルではありませんので、ご注意ください。

 

2-8. リストアしたDB内のChangeDate(更新時間)を最新にする
※ 本設定を実施しないと、クライアントへポリシー情報が配布されないなどの問題が発生します。
  1) ILPサーバが導入されたマシンのスタートメニューより[PostgreSQL XX] > pgAdmin4 >
      Servers > PstgreSQLXX > Databases > ISDB   > Schemas > Public >Functions >
  2) forcerenewchangedate()を選択し、右クリックより[Scripts]-[SELECT Scripts]を選択します。
  3) 三角マーク([Execute/Refresh(F5)])をクリックします。
  4) Data OutPut タブで「forcerenewchangedate boolean] 「true」になれば完了です。

 

2-9. 「Tomcat」のサービスを起動します。次に「Apache」のサービス を起動すれば終了です。
対象バージョン
4.x以降
対象ビルド
 
添付ファイル
一般情報
この内容は参考になりましたか?
ご回答いただきまして、ありがとうございます。
今後の参考にさせていただきます。
Powered by i-ask
Page Top