バックアップの参考資料

バックアップの参考資料

バックアップの指針

■ バックアップを推奨するサーバ

INSUITE で使用しているサーバのうち、バックアップを推奨するサーバは、ファイルサーバとDBサーバです。管理サーバ、APサーバの共有ディレクトリである「/home/DreamArts/share」ディレクトリは、ファイルサーバ上のディレクトリをマウントして使用します。したがって、このデータ領域のバックアップは、ファイルサーバのバックアップを行うことで実現されます。

「/home/DreamArts/share」ディレクトリをバックアップしてもアクセスログやエラーログ等のログファイルは、バックアップされませんので、アクセスログやエラーログ等のログファイルをバックアップしたい場合には、管理サーバ、APサーバごとに「/home/DreamArts/logs」ディレクトリ配下をバックアップしてください。

また、INSUITE のモジュールもすべてバックアップしたい場合には、管理サーバ、APサーバごとに下記のディレクトリ配下をバックアップしてください。「/var/qmail」は管理サーバのみとなります。

INSUITEのモジュールをすべてバックアップしたい場合の対象ディレクトリ

1/home/DreamArts
2/usr/lib/perl5
※環境によって異なる場合があります。
/usr/local/etc/is_enterprise.iniの「Perl5Lib」をご参照ください。
3/usr/local
4/var/qmail

■ 事前準備

バックアップを開始する前に、管理サーバ、APサーバのApacheを止めておいてください。

■ バックアップを実行するタイミング

バックアップ実行中は、全てのユーザがINSUITE にアクセスできなくなります。したがって、バックアップはユーザがINSUITE を使用していない時間帯に実行してください。また、ファイルサーバとDBサーバのバックアップは同時に行ってください。バックアップのタイミングがずれると、データの不整合が生じる可能性があります。

■ その他

NFSファイルシステムを採用しているファイルサーバとDBサーバのバックアップは、それらの製品のオプション機能やサードパーティから提供されているツールを利用するとより容易に行うことができます。

≪メ モ≫
APサーバ、管理サーバ、DBサーバが同じマシンで稼動し、ファイルサーバを使用していない場合、
バックアップが必要となるデータは、DBサーバのデータおよび/home/DreamArts/share配下のデータです。

ファイルサーバのバックアップ

■ バックアップの注意点

  • バックアップを行う時は、ユーザからのアクセスを遮断するために事前に管理サーバ、APサーバのApacheを止めてください。
  • ファイルサーバのバックアップはDBサーバのバックアップと同時に行ってください。DBサーバと異なるタイミングでバックアップした場合、リストア後にデータの不整合が生じる可能性があります。

■ リストアを行うときの注意点

  • リストアを行う時は、ユーザからのアクセスを遮断するために事前に管理サーバおよびAPサーバのApacheを止めてください。
  • バックアップを実行した時と、バックアップしたデータをリストアする時のINSUITE のバージョンは、同じバージョンでなければなりません。

Oracleサーバのバックアップ

以下に、expコマンドを使用して手動でOracleサーバのデータをバックアップする方法を説明します。参考資料としてご参照ください。

■ バックアップ対象となるデータについて

INSUITE のデータは、Oracleデータベース内ではiseadminユーザのデータとして格納されています。したがって、データベースのバックアップは全データに対して行う必要はなく、iseadminユーザのデータのみを対象とします。

バックアップ対象となるSID

/{任意のSIDディレクトリ} adhoc/
arch/
bdump/
cdump/
create/
exp/
pfile/
udump/

■ バックアップの操作

バックアップを行う前に、ユーザからのアクセスを遮断するため管理サーバおよびAPサーバのApacheを止めてください。

1. OracleサーバにOracleユーザでログインします。 2. exportファイルを保存する任意のディレクトリのサイズとパーミッションを確認し、必要があれば変更します。 3. expコマンドを実行します。expコマンドの実行結果は以下のように表示されます。
(ユーザがキー操作を行う箇所は斜体で表示しています。)

#exp

Export: Release 8.1.7.0.1 - Production on WW MM DD hh:mm:ss YYYY
(c) Copyright 2000 Oracle Corporation. All rights reserved.

ユーザー名:_iseadmin_
パスワード:_iseadmin_

接続: Oracle8i Release 8.1.7.0.1 - Production
JServer Release 8.1.7.0.1 – Production

配列フェッチ・バッファ・サイズを入力してください。: 4096 >_{Enter}_
エクスポートするファイル: expdat.dmp >_/{EXPORT_DIR}/exp.dmp_
モード選択:(1)E(全データベース),(2)U(ユーザー),(3)T(表): (2)U >_{Enter}_
GRANT(権限)をエクスポートしますか? (yes/no): yes >_{Enter}_
表データをエクスポートしますか? (yes/no): yes >_{Enter}_
エクステントを圧縮しますか? (yes/no): yes >_{Enter}_

JA16EUCキャラクタ・セットおよびJA16EUCFIXED NCHARキャラクタ・セットでエクスポートが終了。
. プリスキーマ・プロシージャ型オブジェクトとアクションをエクスポート中
. ユーザーISEADMINの外部機能ライブラリ名をエクスポート中
. ユーザーISEADMINのオブジェクト・タイプ定義をエクスポート中
ISEADMINのオブジェクトをエクスポートしています...
. データベース・リンクをエクスポート中
. 順序番号をエクスポート中
. クラスタ定義をエクスポート中
. ISEADMINの表をエクスポートしています... 従来型のパス経由...
. 表 IS_ADDRESS_0をエクスポートしています 6行エクスポートされました。
. 表 IS_ADDRESS_1をエクスポートしています 1015行エクスポートされました。
・
・

. シノニムをエクスポート中
. ビューをエクスポート中
. ストアド・プロシージャをエクスポート中
. 演算子をエクスポート中
. 参照整合性制約をエクスポート中
. シノニムをエクスポート中
. ビューをエクスポート中
. ストアド・プロシージャをエクスポート中
. 演算子をエクスポート中
. 参照整合性制約をエクスポート中
. トリガーをエクスポート中
. 索引型をエクスポート中
. ビットマップ、関数索引および拡張可能索引をエクスポート中
. ポスト可能なアクションをエクスポートしています。
. スナップショットをエクスポート中
. スナップショット・ログをエクスポート中
. ジョブ・キューをエクスポートしています。
. リフレッシュ・グループと子をエクスポートしています。
. ディメンションをエクスポート中
. ポストスキーマ・プロシージャ型オブジェクトとアクションをエクスポート中
. 統計をエクスポート中
エクスポートは警告なしで終了しました。

注意1: exportファイルを保存するディレクトリサイズがexportファイルサイズよりも小さい場合、正常にexportができません。
注意2: エクスポートファイルの保存先はフルパスで指定してください。

■ リストアの操作

  • リストアを行う前に、ユーザからのアクセスを遮断するため管理サーバおよびAPサーバのApacheを止めてください。
  • リストアを行う際のINSUITE のバージョンは、バックアップを行ったときと同じバージョンである必要があります。

1. OracleサーバにOracleユーザでログインします。 2. impコマンドを実行します。impコマンドの実行結果は以下のように表示されます。
(ユーザがキー操作を行う箇所は斜体で表示しています。)

# imp

Import: Release 8.1.7.3.0 - Production on 月 Dec 9 16:26:53 2002
(c) Copyright 2000 Oracle Corporation. All rights reserved.

ユーザー名: **_iseadmin_**
パスワード: **_iseadmin_**

接続: Oracle8i Enterprise Edition Release 8.1.7.3.0 - Production
JServer Release 8.1.7.3.0 - Production

インポート・ファイル: expdat.dmp > **_/{EXPORT_DIR}/exp.dmp_**
挿入バッファ・サイズを入力してください(最小値 8192)。 30720>_{_**_Enter_**_}_

エクスポート・ファイルは従来型のパス経由でEXPORT:V08.01.07が作成しました。
JA16EUCキャラクタ・セットとJA16EUC NCHARキャラクタ・セットでインポートが完了しました。

インポート・ファイルの内容のみ表示しますか? (yes/no): no >_{_**_Enter_**_}_

既存オブジェクトによる作成エラーは無視しますか? (yes/no): no >{**_Enter_**_}_

GRANT(権限)をインポートしますか? (yes/no): yes >_{_**_Enter_**_}_
表データをインポートしますか? (yes/no): yes >_{_**_Enter_**_}_

エクスポート・ファイルをすべてインポートしますか? (yes/no): no > _{_**_yes_**_}_
・
・
- 表 "TBL_REVPROXY"をインポートしています *行インポートされました。
- 表 "TBL_REVPROXY_AUTH_BASIC"をインポートしています *行インポートされました。
- 表 "TBL_REVPROXY_AUTH_FORM"をインポートしています *行インポートされました。
- 表 "TBL_SESSIon"をインポートしています *行インポートされました。
制約を可能にします...
インポートは警告なしに正常終了しました。

3. APサーバ、管理サーバのApacheを起動し、データがリストアされていることを確認してください。

MySQLサーバのバックアップ

DBサーバがMySQLサーバのバックアップとリストアについて記載します。

■ バックアップの操作

  • バックアップを行う前に、ユーザからのアクセスを遮断するため管理サーバおよびAPサーバのApacheを止めてください。

以下のコマンドでバックアップを取得します。
mysqldump -u root -x --all-databases -p > dump.sql

■ リストアの操作

  • リストアを行う前に、ユーザからのアクセスを遮断するため管理サーバおよびAPサーバのApacheを止めてください。
  • リストアを行う際のINSUITE のバージョンは、バックアップを行ったときと同じバージョンである必要があります。
  • リストア対象のサーバにMySQLをインストールしたら、/etc/my.cnfを設定を設定します。
[mysql]
default-character-set = utf8

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
#symbolic-links=0
port=3306
default_storage_engine = INNODB
character-set-server = utf8
skip-character-set-client-handshake
lower_case_table_names=1

設定後、mysqlを再起動します。
service mysql restart

1. iseadminユーザ作成(インストール手順書の通り)

GRANT ALL PRIVILEGES ON isdb.* TO iseadmin IDENTIFIED BY 'iseadmin' WITH GRANT OPTION;

2. DB作成(インストール手順書の通り)

create database isdb;

3. テーブルの作成(インストール手順書の通り)

# cd /mnt/cdrow/MySQL/sql/ # ./create_all.sh 192.168.1.1 isdb iseadmin iseadmin

※テーブルの作成をしない場合

# cd /mnt/cdrow/MySQL/sql/ # mysql -u iseadmin -D isdb -A -p < create_func.sql

  1. エクスポートしたデータをインポートする
# mysql -u root -A -p -f < dump.sql

Enter password:

ERROR 1118 (42000) at line 80880: Row size too large. The maximum row size for the used table type, 
not counting BLOBs, is 65535\. You have to change some columns to TEXT or BLOBs

ERROR 1118 (42000) at line 80953: Row size too large. The maximum row size for the used table type, 
not counting BLOBs, is 65535\. You have to change some columns to TEXT or BLOBs

ERROR 1118 (42000) at line 81026: Row size too large. The maximum row size for the used table type, 
not counting BLOBs, is 65535\. You have to change some columns to TEXT or BLOBs

ERROR 1118 (42000) at line 81099: Row size too large. The maximum row size for the used table type, 
not counting BLOBs, is 65535\. You have to change some columns to TEXT or BLOBs

ERROR 1118 (42000) at line 81172: Row size too large. The maximum row size for the used table type, 
not counting BLOBs, is 65535\. You have to change some columns to TEXT or BLOBs

ERROR 1118 (42000) at line 81245: Row size too large. The maximum row size for the used table type, 
not counting BLOBs, is 65535\. You have to change some columns to TEXT or BLOBs

ERROR 1146 (42S02) at line 103716: Table 'isdb.iv_member_info_zh_g1' doesn't exist

※上記のエラーはMySQLの仕様でdumpのSQLの中で VIEWの場合でも一時的にテーブルを作成するために発生するエラーですが、mysql -f オプションにて強制的にrestore すれば、エラーが出力されても、正常にVIEWを作成します。