• 検索結果がありません。

Microsoft Word - nvsi_050077jp_oracle10g_rac_0113.doc

N/A
N/A
Protected

Academic year: 2021

シェア "Microsoft Word - nvsi_050077jp_oracle10g_rac_0113.doc"

Copied!
29
0
0

読み込み中.... (全文を見る)

全文

(1)

Article ID: NVSI-050077JP Created: 2005/01/13 Revised:

Oracle Database10g Real Application Clusters 動作検証

1. 検証目的

Linux 上で稼動する Oracle Database10g Real Application Clusters(以下 Oracle10g RAC)環境において、 NetVault を使用し Oracle データベースのバックアップが問題なく行えること、またシステムが導入されている各 DB サーバの内蔵ディスクに障害が発生した際にいち早く復旧するために、VaultDR を使用したディザスタリカバ リが可能であることを確認するために検証を行います。

※すべての検証は、Oracle10g RAC の中でも、リーズナブルに導入が可能な Standard Edition を使用した、 Oracle Real Application Clusters for Standard Edition(以下 SE RAC)を使用し、ストレージの管理に Automatic Storage Management(ASM)を使用し確認しています。Enterprise Edition 等で使用可能な Raw Device や OCFS を使用したストレージ管理とは状況が異なる場合がありますので、ご注意ください。 2. 検証環境 2.1 構成図 2.2 ハードウェア構成 (1) DB サーバ 表2-1 ハードウェア構成(DB サーバ) [rac01:Node1] メーカー HP 機種 DL380G2

CPU Intel Pentium3 1.4GHz

メモリ 1GB

内蔵ディスク容量 36GB(U160,10000rpm)

FC Card LSI Logic FC929X

ADTX Array MasStor L

HP DL380G2 HP DL380G2

SONY SDX-700C

(2)

表2-2 ハードウェア構成(DB サーバ) [rac02:Node2]

メーカー HP

機種 DL380G2

CPU Intel Pentium3 1.4GHz

メモリ 1GB

内蔵ディスク容量 36GB(U160,10000rpm)

FC Card LSI Logic FC929X

(2) バックアップ・サーバ

表2-3 ハードウェア構成(バックアップ・サーバ) [tm01]

メーカー DELL

機種 PowerEdge1550

CPU Intel Pentium3 1.4GHz x2

メモリ 512MB

内蔵ディスク容量 18GB(U160,10000rpm)

SCSI Card Adaptec AIC-7899P

(3) ディスク 表2-4 ハードウェア構成(ディスク) [ADTX] メーカー ADTX 機種 AXRR-L I/F FC (4) テープ 表2-5 ハードウェア構成(テープ装置) [DDS4] メーカー SONY 機種 SDX-700C AIT-3 ドライブ I/F SCSI 2.3 ソフトウェア構成 表2-6 ソフトウェア構成 [DB1] ホスト rac01

OS Red Hat Enterprise Linux AS3 Update2

DB Software Oracle10g R10.1.0.2:ORACLE_SID=SERAC1

Cluster Software Oracle Cluster Ready Service R10.1.0.2

Backup Software NetVault 7.1.1 R2004OCT27-CHIEF

Oracle RMAN APM v3.601

表2-7 ソフトウェア構成 [DB2]

ホスト rac02

OS Red Hat Enterprise Linux AS3 Update2

DB Software Oracle10g R10.1.0.2:ORACLE_SID=SERAC2

Cluster Software Oracle Cluster Ready Service R10.1.0.2

Backup Software NetVault 7.1.1 R2004OCT27-CHIEF

Oracle RMAN APM v3.601

表2-8 ソフトウェア構成 [nvserver]

ホスト tm01

OS Red Hat Enterprise Linux AS3 Update2

Backup Software NetVault 7.1.1 R2004OCT27-CHIEF

(3)

2.4 ディスク構成

表2-9 パーティション構成 [DB1]

パーティション Type マウントポイント/Raw Device 使用

/dev/cciss/c0d0p1 Internal: File /boot

/dev/cciss/c0d0p2 Internal: File /

/dev/cciss/c0d0p3 SWAP SWAP

/dev/sda1 Shared: Raw /dev/raw/raw1 <- Oracle:

/dev/sda2 Shared: Raw /dev/raw/raw2 <- Oracle:

/dev/sda5 Shared: Raw /dev/raw/raw3 <- Oracle:

/dev/sda6 Shared: Raw /dev/raw/raw4 <- Oracle:

/dev/sda7 Shared: Raw /dev/raw/raw5 <- Oracle:

表2-10 パーティション構成 [DB2]

パーティション Type マウントポイント/Raw Device 使用

/dev/cciss/c0d0p1 Internal: File /boot

/dev/cciss/c0d0p2 Internal: File /

/dev/cciss/c0d0p3 SWAP SWAP

/dev/sda1 Shared: Raw /dev/raw/raw1 <- Oracle:

/dev/sda2 Shared: Raw /dev/raw/raw2 <- Oracle:

/dev/sda5 Shared: Raw /dev/raw/raw3 <- Oracle:

/dev/sda6 Shared: Raw /dev/raw/raw4 <- Oracle:

/dev/sda7 Shared: Raw /dev/raw/raw5 <- Oracle: ※それぞれの$ORACLE_HOME は/u01/app/oracle/product/10.1.0/db になります。

表2-11 パーティション構成 [DBBACKUP]

パーティション Type マウントポイン/Raw Device 使用

/dev/sda1 Internal: File /boot

/dev/sda2 Internal: File /

/dev/sda3 SWAP SWAP

2.5 Oracle 構成

(1) Oracle10g SERAC 導入方法について

下記の日本オラクル社のWeb サイトより入手可能なドキュメント(以下 SERAC 手順書)に従って基本的な、 Oracle Database10g Standard Edition の Real Application Clusters の設定を行いました。

「はじめての方のためのStandard Edition での Real Application Clusters セットアップ手順 ~Linux x86 版」 Version: 第 1.0.0.0.1 版

(2) アーカイブログ・モードの設定と格納先の設定方法

SERAC 手順書に記載のように、DBCA による構成時に自動アーカイブをオンにし、ASM 上に作成するよう に指定しています。Oracle RMAN APM を使用してオンライン・バックアップを実行する際には設定が必須と なっています。

(4)

(3) テスト・データ作成

tablespace DATA_TS として約 12 万件のテスト・データを登録。

SQL> CREATE TABLESPACE DATA_TS DATAFILE '+SERAC' SIZE 200M;

表領域が作成されました。

3. NetVault インストール 3.1 NetVault インストール

通常の手順に従って、rac01 および rac02 には、NetVault Client を、tm01 には NetVault Server のインストール を実行します。その後、NetVault Server の Client Management より rac01 および rac02 の各ノードのマシンを 登録します。

図3-1 NetVault クライアント管理登録

3.2 デバイス登録

デバイス管理より、テープデバイスの登録を行います。

(5)

3.3 Oracle RMAN APM インストール

クライアント管理 -> NetVault Machine 名で右クリックし、ソフトウェアのインストールを選択して、必要な APM を インストールします。

図3-3 Oracle RMAN APM インストール

APM をインストール後、Oracle インスタンスを一度シャットダウンし、リンク設定を行います。なお、シャットダウン は、APM をインストールするノードだけで必要となります。詳細な手順については、Oracle RMAN APM に関する ユーザーズ・ガイドをご参照ください。

※ リンク設定

[oracle@rac01 oracle]$ cd $ORACLE_HOME/lib

[oracle@rac01 lib]$ ln -s /usr/netvault/lib/orasbt.so orasbt.so [oracle@rac01 lib]$ ln -s orasbt.so libobk.so

[oracle@rac02 oracle]$ cd $ORACLE_HOME/lib

[oracle@rac02 lib]$ ln -s /usr/netvault/lib/orasbt.so orasbt.so [oracle@rac02 lib]$ ln -s orasbt.so libobk.so

APM のインストールおよびリンク設定は、対象ノード毎に行う必要があります。次に、NetVault クライアント側の CLI から rman を使用して、バックアップやリストアを実行するために、NetVault サーバ側で nvpluginaccess コマ ンドを使用して、クライアントに対する許可の設定を行う必要があります。例では、rac01 と rac02 の 2 つのノード に対して設定を行っています。

※ nvpluginaccess の設定

[root@tm01 root]# cd /usr/netvault/util/

[root@tm01 util]# ./nvpluginaccess -remove -client rac01 Removed client stanza 'rac01'

[root@tm01 util]# ./nvpluginaccess -remove -client rac02 Removed client stanza 'rac02'

[root@tm01 util]# ./nvpluginaccess -client rac01 -account default Please select a plugin you wish to allow client 'rac01' to access: 1) Informix plugin

2) Oracle RMAN plugin

(6)

4) Specify plugin name 2

Please enter the password for the account 'default': Successfully added client 'rac01'

[root@tm01 util]# ./nvpluginaccess -client rac02 -account default Please select a plugin you wish to allow client 'rac02' to access: 1) Informix plugin

2) Oracle RMAN plugin

3) Informix and Oracle RMAN plugins 4) Specify plugin name

2

Please enter the password for the account 'default': Successfully added client 'rac02'

すべての設定終了後、バックアップウィンドウから各ノードのOracle RMAN APM の設定を行います。APM 名を ダブルクリックすることで、データベースの追加画面になります。

図3-4 Oracle RMAN APM アイコン

データベースの追加画面では、それぞれ必要な内容を記述していきます。Init File の項目では、ファイルとしてバ ックアップが必要なものを”,”(カンマ)区切りで記述できます。例では、SERAC1 のインスタンスと共に、ASM のイ ンスタンスの初期化パラメータファイルを指定していますが、その他必要なものを適宜記述するようにしてください。

(7)

表3-1 Oracle RMAN APM 設定項目 項目 内容 SID インスタンス毎のSID Home ORACLE_HOME RMAN RMAN 実行ファイルパス(※) Init File 初期化パラメータファイル等

Owner Oracle User

Group Oracle Group

Select NLS_LANG NLS_LANG

RMAN の実行ファイルパスについて

Oracle10g RAC 環境下で 2 ノード以上のインスタンスが稼動した状態で、RMAN によるバックアップを実行する と、ora_pz<SLAVE_NAME>_<SID>という名称でシングルインスタンス構成とは異なるバックグラウンド・プロセ スがRMAN により実行されます。

[oracle@rac01 oracle]$ ps -ef|grep ora_pz

oracle 29546 1 0 09:57 ? 00:00:00 ora_pz99_SERAC1 oracle 32590 1 0 10:13 ? 00:00:00 ora_pz98_SERAC1 oracle 32592 1 0 10:13 ? 00:00:00 ora_pz97_SERAC1 oracle 32594 1 0 10:13 ? 00:00:00 ora_pz96_SERAC1 これらのプロセスは、パラレル実行のためのスレーブプロセスであり、メインであるサーバプロセスの処理が正常 に終了後も、元のプロセスとの関係が一旦リセットされた後に、別のサーバプロセスからの要求を待つように待機 状態になることが確認されています。待機状態であることは、v$ps_slave ビューによって SLAVE_NAME と STASU 列によって確認が可能です。

SQL> select slave_name,status from v$pq_slave;

SLAV STAT ---- ---- PZ96 IDLE PZ97 IDLE PZ98 IDLE PZ99 IDLE

NetVault は、RMAN プロセスから起動された全ての子プロセスが終了するのを待ち続けるため、RMAN による バックアップが完了してもNetVault のバックアップジョブが完了しない場合があります。この問題を回避するため に、rman.sh というシェルスクリプトを作成し、その中から rman コマンドを実行するようにします。RMAN 実行ファ イルパスには、rman.sh ファイルのパスを指定します。

[oracle@rac01 oracle]$ vi $ORACLE_HOME/bin/rman.sh

(8)

rman.sh の内容

#!/bin/sh

for (( fd = 3 ; fd <= 16 ; fd++ )) do

eval "exec $fd>&-" done $ORACLE_HOME/bin/rman $* exit_status=$? exit $exit_status 4. バックアップ運用方式について (1) バックアップ取得方法 1 つのノードから NetVault Server に接続されたテープ装置にネットワーク経由にてバックアップを実行。 (2) バックアップ対象ファイル データ・ファイル [ASM] アーカイブ・ログ・ファイル [ASM] 制御ファイル [ASM] サーバパラメータファイル[ASM] 初期化パラメータファイル [ローカル] オンラインREDO ログ [ASM] (オフラインの場合のみ取得) その他必要に応じて取得(プログラムファイル等) [ローカル] (3) バックアップ運用方式

オフライン・バックアップ (Raw Device Plugin, VaultDR APM 使用) オンライン・バックアップ (Oracle RMAN APM 使用)

(4) リカバリ・カタログに関する注意 RMAN(Recovery Manager)を使用してバックアップされたデータに関する情報は、カレント制御ファイルまた はリカバリ・カタログに格納されます。RMAN 使用時にリカバリ・カタログを使用する際には、リカバリ・カタロ グ自身をRAC 構成とは異なる Oracle サーバへの格納や、そのバックアップを行うことが必要となります。そ の他一般的なバックアップに関する注意事項は、通常のスタンドアロンのOracle 環境と違いはありません。 本検証ではすべてリカバリ・カタログを使用して実施されています。制御ファイルを使用する場合には、カタロ グデータの保持期間が短い事や、制御ファイルがASM に格納されており多重化が難しいため、別途制御フ ァイルのバックアップについて検討する必要があることに注意してください。 5. オフライン・バックアップ

Oracle Database 管理者ガイド 10g リリース 1 (10.1) P12-46 によると、「ASM ファイルを含むデータベースのバ ックアップは、Recovery Manager を使用して実行する方法しかありません。」と記載があります。 しかし、日本オラクルがサポート契約対象者に公開している知識ベースKNOWN92739 によると、Oracle 社以外 から提供されるバックアップ方法について次のように述べられています。 コールドバックアップについては、Oracle インスタンス、ASM インスタンスがすべて停止した状態でストレージ装 置のスナップショット機能等を使用して行うことが可能です。リストアする際には、Oracle インスタンス、ASM イン スタンスがすべて停止した状態で元の状態に復元する必要があります。ただしこれらの復元操作(インスタンス停 止中のデータベース状態)は各ストレージ製品の動作に完全に依存し、ORACLE 社が保証を与えるものではあり ません。

(9)

NetVault では、Raw Device としてアクセスされている ASM 領域のバックアップを、Raw Device プラグインを使 用して実行することができます。

すべてのノードにてOracle および ASM のインスタンスをすべて停止した状態にて、オフライン・バックアップを実 行。ノード毎に固有のファイルについては、個別に取得を行います。バックアップ終了後、再びインスタンスを起動 します。

[oracle@rac02 oracle]$ sqlplus “/ as sysdba“

SQL*Plus: Release 10.1.0.2.0 - Production on 火 12 月 28 12:11:52 2004

Copyright (c) 1982, 2004, Oracle. All rights reserved.

Oracle Database 10g Release 10.1.0.2.0 - Production With the Real Application Clusters option

に接続されました。 SQL> shutdown immediate

データベースがクローズされました。 データベースがディスマウントされました。 ORACLE インスタンスがシャットダウンされました。

[oracle@rac02 oracle]$ ORACLE_SID=+ASM2 sqlplus "/ as sysdba"

SQL*Plus: Release 10.1.0.2.0 - Production on 火 12 月 28 12:17:33 2004

Copyright (c) 1982, 2004, Oracle. All rights reserved.

Oracle Database 10g Release 10.1.0.2.0 - Production With the Real Application Clusters option

に接続されました。 SQL> shutdown

OSM ディスク・グループがディスマウントされました OSM インスタンスがシャットダウンされました

もう一方のノード側もすべてシャットダウンします。 [oracle@rac01 oracle]$ sqlplus "/ as sysdba"

SQL*Plus: Release 10.1.0.2.0 - Production on 火 12 月 28 12:19:21 2004

Copyright (c) 1982, 2004, Oracle. All rights reserved.

Oracle Database 10g Release 10.1.0.2.0 - Production With the Real Application Clusters option

に接続されました。 SQL> shutdown immediate

データベースがクローズされました。 データベースがディスマウントされました。 ORACLE インスタンスがシャットダウンされました。

[oracle@rac01 oracle]$ ORACLE_SID=+ASM1 sqlplus "/ as sysdba"

SQL*Plus: Release 10.1.0.2.0 - Production on 火 12 月 28 12:20:08 2004

(10)

Oracle Database 10g Release 10.1.0.2.0 - Production With the Real Application Clusters option

に接続されました。 SQL> shutdown

OSM ディスク・グループがディスマウントされました OSM インスタンスがシャットダウンされました

5.1 Raw Device Plugin を使用したオフライン・バックアップ

今回の検証ではASM を構成するディスクとして、共有ディスク上の Raw Device を使用しました。そのため NetVault でバックアップを行う際には、Raw Device プラグインを使用し、ブロックデバイス指定を行う必要があり ます。

Oracle 側では Raw マッピングされたデバイスファイルを使用しますが、そのマッピングを raw コマンド により確認するようにしてください。

[root@rac01 root]# raw -qa

/dev/raw/raw1: bound to major 8, minor 1 /dev/raw/raw2: bound to major 8, minor 2 /dev/raw/raw3: bound to major 8, minor 5 /dev/raw/raw4: bound to major 8, minor 6 /dev/raw/raw5: bound to major 8, minor 7

[root@rac01 root]# ls -l /dev|grep " 8, [1,2,5,6,7]"

brw-rw---- 1 root disk 8, 1 2 月 19 2004 sda1 brw-rw---- 1 root disk 8, 2 2 月 19 2004 sda2 brw-rw---- 1 root disk 8, 5 2 月 19 2004 sda5 brw-rw---- 1 root disk 8, 6 2 月 19 2004 sda6 brw-rw---- 1 root disk 8, 7 2 月 19 2004 sda7

(11)

5.2 Raw Device Plugin を使用したリストア

リストア時は、Oracle であることを意識せずに単なる Raw Device イメージとしてのリストアを実行するだけです。 その際には、必ずすべてのノードでOracle および ASM のインスタンスを停止している必要があります。 各リストアを行う際に、リストアするデバイスファイルを変更することが可能です。

図 5-2 NetVault Raw Device リストア

6. VaultDR APM によるシステム復旧

6.1 VaultDR APM を使用したシステム部分のバックアップ

VaultDR を使用することで、Linux としての OS の領域、Oracle の実行ファイル等すべての環境をディスクイメー ジによりバックアップすることが可能になります。一度対象となるRAC のノードを OS 毎シャットダウンし、 VaultDR Client の CD により起動し、ドライバの設定およびネットワーク設定を完了すると待機状態になります。

図6-1 VaultDR Client のネットワーク設定画面と、待機状態

次に、NetVault サーバ側に VaultDR Server APM を導入し、VaultDR Client で設定したアドレスを登録します。

(12)

アドレス登録後は、NetVault サーバから OS が含まれているシステム領域が確認できるため、必要なパーティシ ョンを選択して、バックアップを行います。この例では、スワップ領域を含む合計12GB のデータが 100BaseTX のネットワークの上限に近い10.85Mbyte/sec にて 19 分でバックアップされているのが確認できます。 図6-3 VaultDR によるバックアップ画面 6.2 VaultDR APM によるシステムリストア

リストアの際には、バックアップの時と同様にVaultDR Client を起動し待機状態にしたあとに、NetVault サーバ からVaultDR APM によって取得されたデータをリストアします。

(13)

. オンライン・バックアップ (Oracle RMAN APM 使用)

7.1 バックアップ

Oracle RMAN APM を使用して対象をすべて選択し、バックアップを実行します。

図 7-1 Oracle RMAN バックアップ

7.2 バックアップ・オプション

各バックアップ・オプションは、RMAN で指定されるオプションに準拠しており、運用形態に合わせて選択します。 各項目の詳細については、Oracle RMAN APM のユーザーズ・ガイドを参照してください。本検証では、Backup Type の指定と、リカバリ・カタログの指定だけが選択されています。複数ドライブ搭載のテープライブラリや、 VTL(仮想テープライブラリ)を使用することで、複数チャネルを使用したパラレル処理が可能になります。

(14)

7.3 RMAN 増分バックアップ(参考テスト)

Oracle Database 10g のライセンス規約上、Standard Edition での増分バックアップの使用は認められて

おりません。ここでは機能としての動作確認にとどまり、実際の運用環境においては、Enterprise Edition のラ

イセンスが必要になります。ご注意ください。以下は、Enterprise Edition にて構築の場合の参考情報です。

まず、現在の状況の確認を行います。

表領域DATA_TS 内に Trousers という 12 万件の登録があるテーブルが作成されています。

SQL> select count(*) from trousers;

COUNT(*) --- 127440 現在は、127440 件であることが確認できました。 次に、更新のためのデータをINSERT します。 SQL> @orcl_change1.sql 1 行が作成されました。 ~中略~ 1 行が作成されました。 コミットが完了しました。

SQL> select count(*) from trousers;

COUNT(*) --- 127455

これにより15 件追加されたことが確認できます。

次に NetVault の GUI を使用して、Oracle RMAN APM のプラグインを開き対象となる表領域等を指定したあと、 Backup Option の Backup Type の所で、”Incremental”を選択し Level を入力します。(例では 2 に設定しまし た。)

(15)

図 7-3 Oracle RMAN APM 差分バックアップ

バックアップ終了後、RMAN の list backup により、Type が”Incr”および LV が”2”になっていることが確認できま す。

RMAN> list backup;

BS Key Type LV Size Device Type Elapsed Time 終了時刻 --- ---- -- --- --- --- --- 1667 Incr 2 922M SBT_TAPE 00:02:25 05-01-04

BP キー: 1670 ステータス: AVAILABLE 圧縮: NO タグ: TAG20050104T180504 ハンドル: tm01:#293:rac01:25_546717905:SERAC_1104829481 メディア: バックアップ・セット 1667 のデータ・ファイルのリスト

File LV Type Ckp SCN Ckp 時刻 Name ---- -- ---- --- --- ---- 1 2 Incr 1847674 05-01-04 +SERAC/serac/datafile/system.256.1 2 2 Incr 1847674 05-01-04 +SERAC/serac/datafile/undotbs1.258.1 3 2 Incr 1847674 05-01-04 +SERAC/serac/datafile/sysaux.257.1 4 2 Incr 1847674 05-01-04 +SERAC/serac/datafile/users.259.1 5 2 Incr 1847674 05-01-04 +SERAC/serac/datafile/example.267.1 6 2 Incr 1847674 05-01-04 +SERAC/serac/datafile/undotbs2.268.1 7 2 Incr 1847674 05-01-04 +SERAC/serac/datafile/data_ts.488.1

BS Key Type LV Size Device Type Elapsed Time 終了時刻 --- ---- -- --- --- --- --- 1668 Incr 2 9M SBT_TAPE 00:00:24 05-01-04 BP キー: 1671 ステータス: AVAILABLE 圧縮: NO タグ: TAG20050104T180504 ハンドル: tm01:#293:rac01:26_546718060:SERAC_1104829481 メディア: 含まれている制御ファイル: Ckp SCN: 1847748 Ckp 時間: 05-01-04 SPFILE も含まれます: 修正時間: 05-01-04

(16)

7.4 リストア

RMAN のリストアはすべて、Oracle 側の Recovery Manager から操作を行います。NetVault の Restore 画面 からは、Backup Piece 名を確認することが可能です。 また、それぞれの項目をダブルクリックすることで、リスト ア対象となるデータの詳細を確認し、リストアの選択を行うことになります。

図 7-4 Oracle RMAN APM リストア選択

リストアオプションでは、必ずターゲット・データベースのパスワードを必ず入力するようにします。デフォルトでは ブランクになっています。また、リカバリ・カタログを使用してバックアップした場合には、リストア時にも”Use Catalog”にチェックを入れ、必要項目を入力します。

(17)

またRMAN の list backup によっても、詳細なバックアップの結果を確認することが可能です。RMAN のコマンド を使用してリストアを行うことで、NetVault GUI からは指定できない RMAN のさまざまなオプションを利用するこ とができます。

[oracle@rac01 oracle]$ rman target / catalog rman/rman@o10g

Recovery Manager: Release 10.1.0.2.0 - Production

Copyright (c) 1995, 2004, Oracle. All rights reserved.

ターゲット・データベース: SERAC (データベース ID=592341675)に接続されました リカバリ・カタログ・データベースに接続されました。

RMAN> list backup;

BS Key Type LV Size Device Type Elapsed Time 終了時刻 --- ---- -- --- --- --- --- 1597 Full 986M SBT_TAPE 00:02:29 05-01-04

BP キー: 1600 ステータス: AVAILABLE 圧縮: NO タグ: TAG20050104T174631 ハンドル: tm01:#279:rac01:21_546716791:SERAC_1104828365 メディア: バックアップ・セット 1597 のデータ・ファイルのリスト

File LV Type Ckp SCN Ckp 時刻 Name ---- -- ---- --- --- ---- 1 Full 1846725 05-01-04 +SERAC/serac/datafile/system.256.1 2 Full 1846725 05-01-04 +SERAC/serac/datafile/undotbs1.258.1 3 Full 1846725 05-01-04 +SERAC/serac/datafile/sysaux.257.1 4 Full 1846725 05-01-04 +SERAC/serac/datafile/users.259.1 5 Full 1846725 05-01-04 +SERAC/serac/datafile/example.267.1 6 Full 1846725 05-01-04 +SERAC/serac/datafile/undotbs2.268.1 7 Full 1846725 05-01-04 +SERAC/serac/datafile/data_ts.488.1

BS Key Type LV Size Device Type Elapsed Time 終了時刻 --- ---- -- --- --- --- --- 1598 Full 9M SBT_TAPE 00:00:26 05-01-04 BP キー: 1601 ステータス: AVAILABLE 圧縮: NO タグ: TAG20050104T174631 ハンドル: tm01:#279:rac01:22_546716947:SERAC_1104828365 メディア: 含まれている制御ファイル: Ckp SCN: 1846835 Ckp 時間: 05-01-04 SPFILE も含まれます: 修正時間: 05-01-04 BS キー サイズ デバイス・タイプ経過時間終了時刻 --- --- --- --- --- 1630 8M SBT_TAPE 00:00:24 05-01-04 BP キー: 1633 ステータス: AVAILABLE 圧縮: NO タグ: TAG20050104T174940 ハンドル: tm01:#279:rac01:23_546716980:SERAC_1104828365 メディア: バックアップ・セット 1630 のアーカイブ・ログのリスト Thrd Seq Low SCN Low 時刻 Next SCN Next Time ---- --- --- --- --- --- 1 401 1840442 05-01-04 1843800 05-01-04 1 402 1843800 05-01-04 1843812 05-01-04 1 403 1843812 05-01-04 1846866 05-01-04 1 404 1846866 05-01-04 1846877 05-01-04 2 136 1840439 05-01-04 1843798 05-01-04 2 137 1843798 05-01-04 1843808 05-01-04

(18)

2 138 1843808 05-01-04 1846864 05-01-04 2 139 1846864 05-01-04 1846874 05-01-04

BS Key Type LV Size Device Type Elapsed Time 終了時刻 --- ---- -- --- --- --- --- 1647 Full 9M SBT_TAPE 00:00:25 05-01-04 BP キー: 1656 ステータス: AVAILABLE 圧縮: NO タグ: TAG20050104T175008 ハンドル: tm01:#279:rac01:24_546717008:SERAC_1104828365 メディア: 含まれている制御ファイル: Ckp SCN: 1846918 Ckp 時間: 05-01-04 7.5 異なるノードへのリストア

rac01 で取得したバックアップデータを異なる rac02 でリストアする場合には、rac02 側で Oracle RMAN APM へ の事前設定が必要になります。まず、バックアップウィンドウ画面から、Oracle RMAN APM を開かずに、右クリッ クメニューからConfigure を選択します。

図 7-6 Oracle RMAN APM Configure

Oracle RMAN APM の Configure ウィンドウで、設定に応じた内容に変更します。例えば、NetVault Server が”tm01”で、”rac01”のノードから Oracle RMAN APM にてバックアップしたデータを”rac02”のノードへリストアす る場合には、”Default NetVault Server”, ”Do Restore from NetVault Server”に NetVault Server 名であ る”tm01”を、また”Restore Backup Taken from NetVault Client”に”rac01”とバックアップした際の NetVault Client 名を入力します。ORACLE_SID ではありませんので注意します。

(19)

図 7-7 Oracle RMAN APM 詳細設定

表7-1 Oracle RMAN APM Configure 設定項目

項目 内容

RMAN Utility Connection Timeout (min.) RMAN のコネクション・タイムアウト

Default Oracle Account 標準のOracle アカウント

Default Recovery Catalog Service Name 標準で使用するリカバリ・カタログ・サービス名

Default Recovery Catalog Account 標準で使用するリカバリ・カタログのアカウント名

Default NetVault Server 標準で使用するNetVault Server

Do Restore from NetVault Server リストアに使用するNetVault Server

Restore Backup taken from NetVault Client 異なるノードのNetVault Client 名

Slave Connection Timeout (0= Never) スレイブ・コネクションのタイムアウト

Select Default NS_LANG NLS_LANG

Configure の設定後、元の NetVault Client としてのバックアップデータを指定します。リストア先が新しいクライア ントになるため、クライアント指定のタブで選択をします。同じサーバにリストアする際にはクライアント指定は必須 ではありませんが、他のサーバにリストアするため注意します。

(20)

図 7-8 Oracle RMAN APM リストア指定詳細とクライアント指定

また、オプションタブで忘れずにターゲットサービス(データベース)の変更を行います。例では、元々SERAC1 で あったサービス名をSERAC2 に書き換え、そのサービスのアカウントとパスワードを入力します。また、リカバリ・ カタログの指定も行います。

図 7-9 Oracle RMAN APM リストアオプション設定

リストア完了後、リカバリ処理を行うことになりますが、その後の手順に違いはありません。復旧後、必要に応じて Oracle RMAN APM Configure の設定を元に戻しておきます。

(21)

7.6 バックアップ中の障害について プライマリのノードからバックアップしている際に、障害により不正終了した場合には、バックアップ・ジョブは失敗 します。例えば、rac01 のノードで強制終了を実行すると、以下のように失敗になります。 SQL> shutdown abort ORACLE インスタンスがシャットダウンされました。 図 7-10 強制終了によるジョブの失敗 なお、他の運用管理ソフトなどと連動して、ジョブ失敗後にセカンダリノードでのバックアップ・ジョブの実行ができ る場合には、バックアップは正常に終了します。 図 7-11 セカンダリノードでのバックアップの再実行

. Oracle RMAN APM を使用したリカバリ

各メディア障害を実際に発生させ、そのリカバリ手順について確認します。ここでは、実際のファイルのリストアに Oracle RMAN APM の機能を使用します。また、RMAN のコマンドを使用してのリストアも可能ですが、その際の 詳細な手順につきましてはOracle RMAN APM のユーザーズ・ガイドおよび Oracle 社が提供する Recovery Manager のマニュアルをご参照ください。

8.1 メディア障害の発生

まず、状態の確認を行います。

SQL> COL NAME FORMAT A20

SQL> select FILE#,DF.NAME,TS.NAME,STATUS from v$datafile DF,v$tablespace TS where DF.TS#=TS.TS#;

FILE# NAME NAME STATUS --- --- --- --- 1 +SERAC/serac/datafil SYSTEM SYSTEM e/system.256.1

(22)

2 +SERAC/serac/datafil UNDOTBS1 ONLINE e/undotbs1.258.1

3 +SERAC/serac/datafil SYSAUX ONLINE e/sysaux.257.1

4 +SERAC/serac/datafil USERS ONLINE e/users.259.1

FILE# NAME NAME STATUS --- --- --- ---

5 +SERAC/serac/datafil EXAMPLE ONLINE e/example.267.1

6 +SERAC/serac/datafil UNDOTBS2 ONLINE e/undotbs2.268.1

7 +SERAC/serac/datafil DATA_TS ONLINE e/data_ts.488.1

7 行が選択されました。

SQL> select * from v$backup;

FILE# STATUS CHANGE# TIME --- --- --- --- 1 NOT ACTIVE 0 2 NOT ACTIVE 0 3 NOT ACTIVE 0 4 NOT ACTIVE 0 5 NOT ACTIVE 0 6 NOT ACTIVE 0 7 NOT ACTIVE 0 7 行が選択されました。 すべてのデータが含まれるASM のディスク・グループに障害を発生させます。これで、すべての表領域、アーカ イブ・ログ、オンラインREDO ログ、制御ファイル等が失われます。

[root@rac02 root]# mkfs -j /dev/sda5 [root@rac02 root]# mkfs -j /dev/sda6 [root@rac02 root]# mkfs -j /dev/sda7

すぐには障害ステータスが確認できない場合もあるので、一度シャットダウン、または強制シャットダウン後、再度 起動しようとしても動作しないことがわかります。 SQL> shutdown ORA-03113: 通信チャネルで end-of-file が検出されました SQL> shutdown abort ORACLE インスタンスがシャットダウンされました。

(23)

[oracle@rac01 oracle]$ sqlplus

SQL*Plus: Release 10.1.0.2.0 - Production on 水 12 月 29 17:17:41 2004

Copyright (c) 1982, 2004, Oracle. All rights reserved.

ユーザー名を入力してください: / as sysdba アイドル・インスタンスに接続しました。

SQL> startup

ORACLE インスタンスが起動しました。

Total System Global Area 285212672 bytes Fixed Size 778500 bytes Variable Size 108011260 bytes Database Buffers 176160768 bytes Redo Buffers 262144 bytes

ORA-03113: 通信チャネルで end-of-file が検出されました

8.2 NetVault GUI からのリストア

まずは、RMAN でリストアを行うためには最低でも nomount 状態でインスタンスを起動しておく必要があります。

SQL> startup nomount

ORACLE インスタンスが起動しました。

Total System Global Area 285212672 bytes Fixed Size 778500 bytes Variable Size 108011260 bytes Database Buffers 176160768 bytes Redo Buffers 262144 bytes

NetVault から選択して、リストアを実行します。リストアの詳細については、Oracle RMAN APM を使用したリスト アの項目を確認するようにしてください。注意点としては、必ずリストアオプションでターゲット・データベースのパ スワードと、リカバリ・カタログの使用をするようにしてください。リストアオプションの中に、リカバリのためのチェッ クボックスもありますが、後で不完全回復が必要になりますので、チェックしないようにします。

(24)

リストアを実行し、ジョブ管理で状況を確認すると一つのリストアジョブからリストア項目毎に、サブタスクが実行さ れそれぞれが完了することで全体のリストアが終了します。

図 8-2 Oracle RMAN APM リストア正常終了の確認

8.3 リストア後のリカバリ処理

リストアの完了を確認後、mount 状態で起動します。

SQL> startup mount

ORACLE インスタンスが起動しました。

Total System Global Area 285212672 bytes Fixed Size 778500 bytes Variable Size 108011260 bytes Database Buffers 176160768 bytes Redo Buffers 262144 bytes データベースがマウントされました。

RECOVER DATABASE コマンドにより、リカバリを試みますが、エラーとなるため指示に従い BACKUP CONTROLFILE を使用しリカバリします。

SQL> recover database;

ORA-00283: エラーによってリカバリ・セッションは取り消されました。

ORA-01610: BACKUP CONTROLFILE オプションを指定してリカバリを実行してください。

SQL> recover database using backup controlfile until cancel;

ORA-00279: 変更 1847674(01/04/2005 18:05:05 で生成)にはスレッド 1 が必要です ORA-00289: 検討すべきログ・ファイル:+SERAC/serac//1_405_544978413.dbf ORA-00280: 変更 1847674(スレッド 1)は順序番号 405 に存在します。

ログの指定: {<RET>=suggested | filename | AUTO | CANCEL} AUTO ORA-00279: 変更 1847674(01/04/2005 17:49:38 で生成)にはスレッド 2 が必要です ORA-00289: 検討すべきログ・ファイル:+SERAC/serac//2_140_544978413.dbf ORA-00280: 変更 1847674(スレッド 2)は順序番号 140 に存在します。 ORA-00279: 変更 1847777(01/04/2005 18:08:09 で生成)にはスレッド 2 が必要です ORA-00289: 検討すべきログ・ファイル:+SERAC/serac//2_141_544978413.dbf

(25)

ORA-00278: ログ・ファイル'+SERAC/serac//2_140_544978413.dbf'はこのリカバリでは必要なくなり ました ORA-00279: 変更 1847779(01/04/2005 18:08:09 で生成)にはスレッド 1 が必要です ORA-00289: 検討すべきログ・ファイル:+SERAC/serac//1_406_544978413.dbf ORA-00280: 変更 1847779(スレッド 1)は順序番号 406 に存在します。 ORA-00278: ログ・ファイル'+SERAC/serac//1_405_544978413.dbf'はこのリカバリでは必要なくなり ました ORA-00279: 変更 1847787(01/04/2005 18:08:11 で生成)にはスレッド 2 が必要です ORA-00289: 検討すべきログ・ファイル:+SERAC/serac//2_142_544978413.dbf ORA-00280: 変更 1847787(スレッド 2)は順序番号 142 に存在します。 ORA-00278: ログ・ファイル'+SERAC/serac//2_141_544978413.dbf'はこのリカバリでは必要なくなり ました ORA-00308: アーカイブ・ログ+SERAC/serac//2_142_544978413.dbf をオープンできません。 ORA-17503: ksfdopn:2 ファイル+SERAC/serac//2_142_544978413.dbf のオープンに失敗しました

ORA-15173: entry '2_142_544978413.dbf' does not exist in directory 'serac'

最後に、特定のログが無い旨のメッセージが表示されましたが、これはアーカイブ・ログではなくオンラインREDO ログを指定する必要があります。しかしながら、ASM を使用して ASM すべての領域に障害があった場合、オンラ インREDO ログは失われています。そのため、最終的にはリカバリを途中でキャンセルし、RESETLOGS オプシ ョン付でデータベースをオープンすることで、不完全回復を行います。 もちろん、オンラインREDO ログがある場合には、完全回復することが可能です。その場合にも、バックアップさ れた制御ファイルを使用してのリカバリの場合には、RESETLOGS オプション付でデータベースをオープンする 必要があります。

SQL> recover database using backup controlfile until cancel

ORA-00279: 変更 1847787(01/04/2005 18:08:11 で生成)にはスレッド 2 が必要です ORA-00289: 検討すべきログ・ファイル:+SERAC/serac//2_142_544978413.dbf ORA-00280: 変更 1847787(スレッド 2)は順序番号 142 に存在します。

ログの指定: {<RET>=suggested | filename | AUTO | CANCEL} CANCEL

メディア・リカバリが取り消されました。

SQL> alter database open resetlogs;

データベースが変更されました。

データベースがオープン後、ステータスを確認してみます。すべて正常な状態であることがわかります。

SQL> COL NAME FORMAT A20

SQL> select FILE#,DF.NAME,TS.NAME,STATUS from v$datafile DF,v$tablespace TS where DF.TS#=TS.TS#;

FILE# NAME NAME STATUS --- --- --- ---

(26)

1 +SERAC/serac/datafil SYSTEM SYSTEM e/system.256.1

2 +SERAC/serac/datafil UNDOTBS1 ONLINE e/undotbs1.258.1

3 +SERAC/serac/datafil SYSAUX ONLINE e/sysaux.257.1

4 +SERAC/serac/datafil USERS ONLINE e/users.259.1

FILE# NAME NAME STATUS --- --- --- ---

5 +SERAC/serac/datafil EXAMPLE ONLINE e/example.267.1

6 +SERAC/serac/datafil UNDOTBS2 ONLINE e/undotbs2.268.1

7 +SERAC/serac/datafil DATA_TS ONLINE e/data_ts.488.1

7 行が選択されました。

SQL> select * from v$backup;

FILE# STATUS CHANGE# TIME --- --- --- --- 1 NOT ACTIVE 0 2 NOT ACTIVE 0 3 NOT ACTIVE 0 4 NOT ACTIVE 0 5 NOT ACTIVE 0 6 NOT ACTIVE 0 7 NOT ACTIVE 0 7 行が選択されました。 リストアの際に、増分バックアップしたデータから戻したため、正しくフルバックアップ後のトランザクションが反映さ れているか確認してみます。15 件追加したあとの状態であることがわかります。増分バックアップの項目を実行し ていない場合には、カウントが異なります。 SQL> select count(*) from trousers; COUNT(*) --- 127455

(27)

8.4 リカバリ後の注意点

RESETLOGS 付で、データベースをオープンした場合、ログ順序番号はリセットされ、1 番から開始されます。そ のため、古いアーカイブ・ログはすべて不要になります。ディスク領域を無駄に消費し、これからの運用と混同しな いためにも、古いアーカイブ・ログは削除しておくことが推奨されます。オープン後直ぐに状況を確認します。

RMAN> list archivelog all;

新しいデータベース・インカネーションでリカバリ・カタログを更新しています リカバリ・カタログの完全再同期を開始しています

完全再同期が完了しました

アーカイブ・ログ・コピーのリスト Key Thrd Seq S Low 時刻 Name --- ---- --- - --- ---- 1557 1 401 A 05-01-04 +SERAC/serac//1_401_544978413.dbf 1565 1 402 A 05-01-04 +SERAC/serac//1_402_544978413.dbf 1617 1 403 A 05-01-04 +SERAC/serac//1_403_544978413.dbf 1625 1 404 A 05-01-04 +SERAC/serac//1_404_544978413.dbf 1689 1 405 A 05-01-04 +SERAC/serac//1_405_544978413.dbf 2209 1 406 A 05-01-04 +SERAC/serac//1_406_544978413.dbf 2210 1 407 A 05-01-04 +SERAC/serac//1_407_544978413.dbf 1556 2 136 A 05-01-04 +SERAC/serac//2_136_544978413.dbf 1564 2 137 A 05-01-04 +SERAC/serac//2_137_544978413.dbf 1616 2 138 A 05-01-04 +SERAC/serac//2_138_544978413.dbf 1624 2 139 A 05-01-04 +SERAC/serac//2_139_544978413.dbf 1688 2 140 A 05-01-04 +SERAC/serac//2_140_544978413.dbf 2211 2 141 A 05-01-04 +SERAC/serac//2_141_544978413.dbf 2212 2 142 A 05-01-04 +SERAC/serac//2_142_544978413.dbf

LIST ARCHIVELOG ALL コマンドにて最新のログが含まれていないことを確認し、RMAN から DELETE ARCHIVELOG ALL にて削除します。もし、RESETLOGS によってリセットされた以降のログが含まれている場 合には、個別に指定の上削除するようにします。(例にはそのための記述は、含まれていません)削除の際に、再 度削除対象のアーカイブ・ログを確認します。

RMAN> delete archivelog all;

チャネル: ORA_DISK_1 が割り当てられました チャネル ORA_DISK_1: sid=243 devtype=DISK

アーカイブ・ログ・コピーのリスト Key Thrd Seq S Low 時刻 Name --- ---- --- - --- ---- 1557 1 401 A 05-01-04 +SERAC/serac//1_401_544978413.dbf 1565 1 402 A 05-01-04 +SERAC/serac//1_402_544978413.dbf 1617 1 403 A 05-01-04 +SERAC/serac//1_403_544978413.dbf 1625 1 404 A 05-01-04 +SERAC/serac//1_404_544978413.dbf 1689 1 405 A 05-01-04 +SERAC/serac//1_405_544978413.dbf 2209 1 406 A 05-01-04 +SERAC/serac//1_406_544978413.dbf 2210 1 407 A 05-01-04 +SERAC/serac//1_407_544978413.dbf 1556 2 136 A 05-01-04 +SERAC/serac//2_136_544978413.dbf 1564 2 137 A 05-01-04 +SERAC/serac//2_137_544978413.dbf 1616 2 138 A 05-01-04 +SERAC/serac//2_138_544978413.dbf 1624 2 139 A 05-01-04 +SERAC/serac//2_139_544978413.dbf

(28)

1688 2 140 A 05-01-04 +SERAC/serac//2_140_544978413.dbf 2211 2 141 A 05-01-04 +SERAC/serac//2_141_544978413.dbf 2212 2 142 A 05-01-04 +SERAC/serac//2_142_544978413.dbf このオブジェクトを削除しますか(YES または NO を入力してください)。 Yes アーカイブ・ログを削除しました アーカイブ・ログ・ファイル名=+SERAC/serac//1_401_544978413.dbf レコード ID=586 ス タンプ=546712170 アーカイブ・ログを削除しました アーカイブ・ログ・ファイル名=+SERAC/serac//1_402_544978413.dbf レコード ID=588 ス タンプ=546712175 ~中略~ アーカイブ・ログ・ファイル名=+SERAC/serac//2_141_544978413.dbf レコード ID=599 ス タンプ=546720920 アーカイブ・ログを削除しました アーカイブ・ログ・ファイル名=+SERAC/serac//2_142_544978413.dbf レコード ID=600 ス タンプ=546720920 14 オブジェクトを削除しました 削除後最終的に、クリアになっているのを確認します。その後、強制的にログスイッチを発生させ、ログ順序番号 が1番からになっているのを確認します。下記の例では”1_1_546720919.dbf”の 2 つ目の数字がその番号になり ます。

RMAN> list archivelog all;

指定がリカバリ・カタログのどのアーカイブ・ログとも一致しません

SQL> alter system switch logfile;

システムが変更されました。

RMAN> list archivelog all;

アーカイブ・ログ・コピーのリスト Key Thrd Seq S Low 時刻 Name --- ---- --- - --- ----

2224 1 1 A 05-01-04 +SERAC/serac//1_1_546720919.dbf

バックアップ制御ファイルを使用してリカバリすると、ローカル管理一次表領域から一次ファイルのエントリが削除 されるため再追加をします。

SQL> select * from v$tempfile;

レコードが選択されませんでした。

SQL> alter tablespace temp add tempfile;

表領域が変更されました。

SQL> select * from v$tempfile;

(29)

BYTES BLOCKS CREATE_BYTES BLOCK_SIZE NAME

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

1 0 3 1 ONLINE READ WRITE

104857600 12800 104857600 8192 +SERAC/serac/tempfile/temp.768.7

次に、リカバリ・カタログの完全再同期が必要なため、通常はRESET DATABASE を実行します。しかし、事前 にLIST ARCHIVELOG ALL を実行した際に自動的に行われているため、LIST INCARNATION により更新され た状況だけを確認しておきます。

RMAN> reset database;

データベース・インカネーションはすでに登録されています。

RMAN> list incarnation;

データベース・インカネーション・リスト

DB Key Inc Key DB Name DB ID STATUS Reset SCN Reset Time --- --- --- --- --- --- --- 163 170 SERAC 592341675 PARENT 1 04-02-05 163 164 SERAC 592341675 PARENT 357370 04-12-15 163 1744 SERAC 592341675 CURRENT 1847788 05-01-04 最後に、通常運用の際には再度完全なフルバックアップを実行するようにします。また、忘れずにもう一方のノー ドも起動し最終的にRAC としての状況確認を行います。 9. 検証結果および考察

以上の検証により、NetVault を使用して Oracle10g RAC の環境で VaultDR によるシステムのバックアップ、 ASM 領域の Raw Device Plugin によるオフライン・バックアップ、Oracle RMAN APM を使用してのオンライン・ バックアップの運用が可能であることが確認できました。

また、Oracle10g RAC 環境のすべてのデータが失われた状態からの復旧については、以下の手順により復旧が 可能なことを確認しました。

① VaultDR による各ノードのシステムリストア

② 各ノードを起動し、片側のノードから ASM に使用している共有ディスクのデータを Raw Device Plugin によ り取得したバックアップからリストア

③ 片側のノードを nomount 状態で起動後、Oracle RMAN APM により取得した最新のバックアップより、必要 なデータをリストアおよびリカバリ

④ もう一方のノードを起動し、状況を確認

VaultDR であれば 10GB 程度のシステムを 100BaseTX の環境でも 20 分程度ですみやかに復旧することを実 現できます。

表 2-2 ハードウェア構成(DB サーバ) [rac02:Node2]
表 2-9 パーティション構成 [DB1]
図 3-1 NetVault クライアント管理登録
図 3-3 Oracle RMAN APM インストール
+7

参照

関連したドキュメント

・広告物を掲出しようとする場所を所轄する市町村屋外広告物担当窓口へ「屋

あらまし MPEG は Moving Picture Experts Group の略称であり, ISO/IEC JTC1 におけるオーディオビジュアル符号化標準の

平成 26 年の方針策定から 10 年後となる令和6年度に、来遊個体群の個体数が現在の水

北海道の来遊量について先ほどご説明がありましたが、今年も 2000 万尾を下回る見 込みとなっています。平成 16 年、2004

・Microsoft® SQL Server® 2019 Client Access License (10 User)ライセンス証書 オープン価格. オープン価格 Microsoft SQL

当監査法人は、我が国において一般に公正妥当と認められる財務報告に係る内部統制の監査の基準に

〒020-0832 岩手県盛岡市東見前 3-10-2

(1) 会社更生法(平成 14 年法律第 154 号)に基づき更生手続開始の申立がなされている者又は 民事再生法(平成 11 年法律第