Veritas InfoScale™ 8.0 ソリューションガイド - Linux
- 第 I 部 Veritas InfoScale の概要
- 第 II 部 Veritas InfoScale 製品のソリューション
- 第 III 部 IPv6 またはデュアルスタックへのスタックレベルの移行
- 第 IV 部 データベースのパフォーマンスの向上
- データベースアクセラレータの概要
- Veritas Concurrent I/O によるデータベースパフォーマンスの向上
- Atomic Write I/O によるデータベースパフォーマンスの向上
- 第 V 部 PITC (Point-In-Time Copy) の使用
- 第 VI 部 ストレージ利用率の最大化
- 第 VII 部 データ移行
- データ移行の理解
- LVM から VxVM へのオフライン移行
- ネイティブファイルシステムから VxFS へのオフライン変換
- ネイティブファイルシステムの VxFS ファイルシステムへのオンライン移行について
- ストレージアレイの移行
- プラットフォーム間のデータ移行
- CDS(Cross-Platform Data Sharing)機能の概要
- CDS のディスク形式とディスクグループ
- CDS(Cross-platform Data Sharing)を使用するためのシステムの設定
- システムの管理
- ディスクの操作
- ディスクグループの操作
- 情報の表示
- ファイルシステムに関する考慮事項
- Oracle ASM から Veritas File System への移行
- 第 VIII 部 vSphere の Just In Time Availability ソリューション
- 第 IX 部 Veritas InfoScale 4 K セクタのデバイスサポートのソリューション
- 第 X 部 REST API のサポート
- 第 XI 部 参照先
オフホスト意志決定支援システムの複製データベースの設定
オフホスト意志決定支援システムの複製データベースを設定するには
- データベーステーブルのコピーを含むスナップショットボリュームを使用するオフホスト処理ホストがまだ準備されていない場合、準備します。 データベースの初期化に必要な新規データベースログと設定ファイルを設定します。
- プライマリホスト上で次のコマンドを実行し、元のボリュームからプレックスを切り離す方式で表領域ボリュームのフルサイズスナップショット snapvol を作成します。
# vxsnap -g database_dg make \ source=volume/newvol=snapvol/nmirror=N
nmirror 属性には、スナップショットボリュームのミラー数 N を指定します。
ボリューム内に使用可能なプレックスが存在しない場合、またはプレックスのブレークオフをサポートしていないボリュームレイアウトの場合は、スナップショット用に空のボリュームを用意します。
次のコマンドを使って、スナップショットを作成します。
# vxsnap -g database_dg make source=volume/snapvol=snapvol
たとえば、データベースが複数のボリュームに分散している場合は、各ボリュームとそのスナップショットボリュームを一組として同一行で個別に指定します。たとえば、次のように指定します。
# vxsnap -g database_dg make source=vol1/snapvol=svol1 \ source=vol2/snapvol=svol2 source=vol3/snapvol=svol3
メモ:
この手順を実行するとスナップショットボリュームが設定され、元のボリュームに対する変更の追跡が開始されます。
複製データベースを作成する準備が整ったら、3 に進みます。
- バックアップするボリュームのファイルシステムにデータベース上で構成された表が含まれる場合は、ボリュームへの更新を停止します。
DB2 にはデータベースの I/O 処理を一時的に停止する write suspend コマンドがあります。DB2 データベース管理者権限で、例に示されているスクリプトを使います。複製データベースをロールフォワードする必要がある場合(たとえば、スタンバイデータベースとして使う場合)、プライマリデータベースは LOGRETAIN RECOVERY モードである必要があります。
#!/bin/ksh # # script: backup_start.sh # # Sample script to suspend I/O for a DB2 database. # # Note: To recover a database using backups of snapshots, the database # must be in LOGRETAIN mode. db2 <<! connect to database set write suspend for database quit !
Sybase ASE のバージョン 12.0 以降では、データベースへの書き込みを一時的に停止するデータベース静止機能が提供されています。Sybase データベース管理者権限で、例に示されているスクリプトを使って、データベースを静止状態にします。
#!/bin/ksh # # script: backup_start.sh # # Sample script to quiesce example Sybase ASE database. # # Note: The "for external dump" clause was introduced in Sybase # ASE 12.5 to allow a snapshot database to be rolled forward. # See the Sybase ASE 12.5 documentation for more information. isql -Usa -Ppassword -SFMR <<! quiesce database tag hold database1[, database2]... [for external dump] go quit !
Sybase ASE 12.5 を使っている場合、for external dump 句を quiesce コマンドに指定できます。このウォームスタンバイ方式を使うと、プライマリデータベースからダンプされたトランザクションログを使って、複製データベースを更新することを許可します。
- プライマリホスト上で次のコマンドを実行し、元のボリュームに基づいてスナップショットボリュームの内容を更新します。
# vxsnap -g database_dg refresh snapvol source=vol \ [snapvol2 source=vol2]... syncing=yes
syncing=yes 属性は、スナップショットの同期をバックグラウンドで開始します。
たとえば、スナップショット svol1、svol2 と svol3 を更新するには、次のコマンドを実行します。
# vxsnap -g database_dg refresh svol1 source=vol1 \ svol2 source=vol2 svol3 source=vol3
- 手順「3」でボリュームへの更新を一時的に停止した場合、すべての表領域やデータベースを停止、ホットバックアップまたは静止状態から解除します。
DB2 データベース管理者権限で、例に示されているスクリプトを使います。
#!/bin/ksh # # script: backup_end.sh # # Sample script to resume I/O for a DB2 database. # db2 <<! connect to database set write resume for database quit !
Sybase データベース管理者権限で、例にあるスクリプトを実行して、データベースを静止状態から解除します。
#!/bin/ksh # # script: backup_end.sh # # Sample script to release example Sybase ASE database from quiesce mode. isql -Usa -Ppassword -SFMR <<! quiesce database tag release go quit !
- スナップショットの内容が元のボリュームの内容と完全に同期するまで待機するには、次のコマンドを実行します。
# vxsnap -g database_dg syncwait snapvol
たとえば、スナップショット svol1、svol2 と svol3 のすべてについて同期の完了を待機する場合は、次の 3 つのコマンドを個別に実行します。
# vxsnap -g database_dg syncwait svol1 # vxsnap -g database_dg syncwait svol2 # vxsnap -g database_dg syncwait svol3
メモ:
スナップショットボリュームの内容の同期が完了するまで、そのスナップショットボリュームを別のディスクグループに移動することはできません。 同期の進行状況は、vxsnap print コマンドで確認できます。
- プライマリホスト上で次のコマンドを実行し、スナップショットボリュームを含むディスクをその元のディスクグループ database_dg から別のディスクグループ snapvoldg に分割します。
# vxdg split database_dgsnapvoldgsnapvol ...
たとえば、database_dg からスナップボリュームを分割するには次のコマンドを実行します。
# vxdg split database_dg snapvoldg svol1 svol2 svol3
- プライマリホスト上で次のコマンドを実行し、スナップショットボリュームのディスクグループをデポートします。
# vxdg deport snapvoldg
- 複製データベースを設定するオフホスト上で次のコマンドを実行し、スナップショットボリュームのディスクグループをインポートします。
# vxdg import snapvoldg
- VxVM は、自動的にリカバリしないように設定されていないかぎり、ディスクグループのインポート後自動的にボリュームをリカバリします。 スナップショットボリュームが DISABLED 状態に初期設定され、分割後回復されないかどうかを確認してください。
ボリュームが DISABLED 状態になっている場合は、オフホスト上で次のコマンドを使ってスナップショットボリュームをリカバリし、再起動してください。
# vxrecover -g snapvoldg -m snapvol ...
- オフホスト上で次のコマンドを実行し、表領域を含む各スナップショットボリュームのファイルシステムをチェックして、そのボリュームをマウントします。
# fsck -t vxfs /dev/vx/rdsk/diskgroup/snapvol # mount -t vxfs /dev/vx/dsk/diskgroup/snapvolmount_point
スナップショットボリューム snap1_dbase_vol のファイルシステムをチェックして、そのボリュームを /rep/dbase_vol にマウントするには、次のコマンドを実行します。
# fsck -t vxfs /dev/vx/rdsk/snapvoldg/snap1_dbase_vol # mount -t vxfs /dev/vx/dsk/snapvoldg/snap1_dbase_vol \ /rep/dbase_vol
メモ:
複製 DB2 データベースのボリュームは、プライマリホストと同じマウントポイントにマウントする必要があります。
- プライマリホストからオフホストに必要なログファイルをコピーします。
Sybase ASE データベースについては、プライマリホスト上でデータベースを静止するときにfor external dump 句を指定した場合は、データベース管理者権限で次の isql コマンドを実行して、データベースのトランザクションログをダンプします。
dump transaction to dump_device with standby_access
ダンプされたトランザクションログをオフホスト上の適切なデータベースディレクトリにコピーします。
- データベース管理者権限で、新規データベースを起動します。
複製 DB2 データベースをロールフォワードできない場合は、次のコマンドを実行してデータベースの起動とリカバリを行います。
db2start db2inidb database as snapshot
複製 DB2 データベースをロールフォワードする場合(プライマリはスナップショットが作成される前に LOGRETAIN RECOVERY モードに設定されている必要があります)、次のコマンドを実行してそのデータベースを起動し、ロールフォワード保留状態にします。
db2start db2inidb database as standby
プライマリデータベースから最新のログファイルを入手し、次のコマンドを実行して複製データベースをログの終わりまでロールフォワードします。
db2 rollforward db database to end of logs
Sybase ASE データベースには、例に示されているスクリプトを使います。
#!/bin/ksh # # script: startdb.sh <list_of_database_volumes> # # Sample script to recover and start replica Sybase ASE # database. # Import the snapshot volume disk group. vxdg import $snapvoldg # Mount the snapshot volumes (the mount points must already # exist). for i in $* do fsck -t vxfs /dev/vx/rdsk/$snapvoldg/snap_$i mount -t vxfs /dev/vx/dsk/$snapvoldg/snap_$i \ ${rep_mnt_point}/$i done # Start the replica database. # Specify the -q option if you specified the "for external # dump" clause when you quiesced the primary database. # See the Sybase ASE 12.5 documentation for more information. /sybase/ASE-12_5/bin/dataserver \ [-q] \ -sdatabase_name \ -d /sybevm/master \ -e /sybase/ASE-12_5/install/dbasename.log \ -M /sybase # Online the database. Load the transaction log dump and # specify "for standby_access" if you used the -q option # with the dataserver command. isql -Usa -Ppassword -SFMR <<! [load transaction from dump_device with standby_access go] online database database_name [for standby_access] go quit !
ウォームスタンバイ方式にする場合は、dataserver コマンドに -q オプションを指定します。 次の isql コマンドを実行し、トランザクションログのダンプをロードして、データベースをオンラインにします。
load transaction from dump_device with standby_access online database database_name for standby_access
ウォームスタンバイ方式にしない場合は、次の isql コマンドを実行してデータベースを修復し、コミットされていないトランザクションを quiesce コマンドが発行された時点にロールバックして、データベースをオンラインにします。
online database database_name