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

Microsoft Word - OracleDatabase10gAutomatic_j080421_r3.doc

N/A
N/A
Protected

Academic year: 2021

シェア "Microsoft Word - OracleDatabase10gAutomatic_j080421_r3.doc"

Copied!
27
0
0

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

全文

(1)

日立

日立

日立

日立ディスクアレイ

ディスクアレイ

ディスクアレイの

ディスクアレイ

のレプリケーション

レプリケーション

レプリケーション

レプリケーション機能

機能

機能

機能と

Oracle 10g Automatic Storage Management

を使

使

使

使った

った

ったバックアップ

った

バックアップ

バックアップ・

バックアップ

・・

・リカバリ

リカバリ

リカバリの

リカバリ

のベストプラクティス

ベストプラクティス

ベストプラクティス

ベストプラクティス

株式会社日立製作所 SAN ソリューション事業部 斉藤 聡史 株式会社日立製作所 SAN ソリューション事業部 渡辺 孝 Todd Hanson, Hitachi Data Systems; and

(2)

2

要旨

要旨

要旨

要旨

今日のエンタープライズは、品質や費用効率の高いよいバックアップソリューションを探求している。この 問題に答えるべく、日立製作所と日立データシステムズは Hitachi Universal Storage Platform™ V と Oracle Database のバックアップシステムの最適化を目指し、Oracle Database ファイルの管理を簡略化するために Oracle10g からサポートされた機能 Automatic Storage Management(ASM)環境をターゲットに実機でテストを 実施し、結果から本ベストプラクティスをまとめた。

AMS は Oracle Database の標準機能のため、追加費用なく Oracle のクラスタボリューム管理とファイルシス テム機能を提供する。AMS により、ストレージの利用効率・性能・可用性を上昇させ、サードパーティ製の クラスタボリューム管理やファイルシステム機能の必要性が減少する。結果、例えばデータセンタでのコス ト削減がされる。

ASM を業界トップの Hitachi Universal Storage Platform V(USP V)で使う事で、最高レベルのデータファ イルのオートメーション性能、複雑性の削減、性能の向上が得られることが実証されている。

USP V はストレージ統合、仮想化、ストレージ管理のシンプル化において高い価値を提供する。同時に、ASM と USP V は強固で高信頼なデータベース、堅実なバックアップやディザスタリカバリ、そして充実な管理方 法を提供する。

(3)

目次

目次

目次

目次

序論 序論 序論 序論 ...4444 日立 日立 日立

日立ストレージストレージ HITACHI STORAGE SOLUストレージストレージHITACHI STORAGE SOLUHITACHI STORAGE SOLUTIONSHITACHI STORAGE SOLUTIONSTIONS シリーズTIONSシリーズシリーズシリーズででで ORACLE ASMでORACLE ASM をORACLE ASMORACLE ASMををを使使使使うにはうにはうにはうには ...7...777

ストレージ側の設定(共有ボリュームの設定)... 7

HITACHI DYNAMIC LINK MANAGERの概要 ... 7

HITACHI SHADOWIMAGE™の概要 ... 7

HITACHI TRUECOPY® ASYNCHRONOUSと HITACHI UNIVERSAL REPLICATORの 概要 ... 8

POINT-IN-TIMEコピー用のコンシステンシーグループと AT-TIMEスプリットオプション ... 8

ASM ディスクグループとペアグループ(コンシステンシーグループ) ... 9

ASM の基本的な操作方法 ... 10

S SS SHADOWIMAGEHADOWIMAGEHADOWIMAGE のHADOWIMAGEののの設定方法設定方法設定方法設定方法 ... 11...111111 ペアグループについて... 11 ペアグループの操作... 11 RAID MANAGERコマンド説明... 12 SHADOWIMAGE / TRUECO SHADOWIMAGE / TRUECO SHADOWIMAGE / TRUECO SHADOWIMAGE / TRUECOPY / URPY / URPY / UR をPY / URををを使使使使ったったったった ASMASM バックアップASMASMバックアップバックアップ・バックアップ・・・リカバリリカバリ ...リカバリリカバリ... 13131313 バックアップ概要 ... 13 ORACLE 10G と ORACLE 9Iの比較... 13 コールドバックアップの事前注意事項... 14 ホットバックアップの事前注意事項... 14 データタイプごとのバックアップ要件... 14 リカバリの概要 ... 16

シナリオ1:SHADOWIMAGEを使った ORACLE DATABASE 10G ASM のバックアップ ... 17

シナリオ2:SHADOWIMAGEを使った ORACLE 10G ASM のリカバリ ... 20

シナリオ3:SHADOWIMAGEを使った ORACLE10G ASM のクローニング... 21

シナリオ4:SHADOWIMAGEを使った ORACLE10Gのコールドバックアップ... 22 別表

別表 別表

別表 A: RMANA: RMANA: RMANA: RMAN リカバリカタログガイドラインリカバリカタログガイドラインリカバリカタログガイドラインリカバリカタログガイドライン ... 24242424 別表

別表 別表

別表 B: TNSNAMES.ORAB: TNSNAMES.ORAB: TNSNAMES.ORAB: TNSNAMES.ORA 構成構成構成ファイル構成ファイルファイルファイルのの例のの例例...例... 25...252525 別表

別表 別表

別表 C: SHADOWIMAGEC: SHADOWIMAGEC: SHADOWIMAGEC: SHADOWIMAGE のののの構成定義構成定義構成定義構成定義ファイルファイルファイルファイルのの例のの例例例 ... 26262626 別表

別表 別表

(4)

4

日立

日立

日立

日立ディスクアレイ

ディスクアレイ

ディスクアレイの

ディスクアレイ

のレプリケーション

レプリケーション

レプリケーション

レプリケーション機能

機能

機能

機能と

Oracle 10g Automatic Storage Management

を使

使

使

使った

った

ったバックアップ

った

バックアップ

バックアップ・

バックアップ

・・

・リカバリ

リカバリ

リカバリの

リカバリ

のベストプラクティス

ベストプラクティス

ベストプラクティス

ベストプラクティス

株式会社日立製作所 SANソリューション事業部 斉藤 聡史 株式会社日立製作所 SANソリューション事業部 渡辺 孝 Todd Hanson, Hitachi Data Systems

Oracle Corporation Nitin Vengurlekar

序論

本書では、Automatic Storage Management(ASM)環境での Oracle のバックアップ・リカバリについて、日立 のレプリケーション技術と組み合わせたときのベストプラクティスを記載する。ASM は、エンタープライズ IT 企業のために Oracle Database をストレージや管理タスクを簡素化する。

日立製作所と日立データシステムズは、最新の Hitachi Storage Solutions(HSS)シリーズのストレージを ASM 環境で使うことは最も実用的であることを実機検証し、本ベストプラクティスを導き出した。

このベストプラクティスは、日立ストレージと ASM 環境における、高い費用効率、高品質バックアップ、DB クローニング、リカバリソリューションを探るのを支援する。

日 立 製 作 所 は 、 ヘ テ ロ ジ ニ ア ス レ プ リ ケ ー シ ョ ン 対 応 の 筐 体 内 Point-in-Time コ ピ ー (Hitachi ShadowImage™) や 、 リ モ ー ト レ プ リ ケ ー シ ョ ン (Hitachi TrueCopy® Synchronous/TrueCopy® Asynchronous/Universal Replicator)を提供する。また、業務サイトのデータ保護に加え、レプリケーショ ン機能同士を組み合わせることで、ディザスタリカバリやゼロタイムロスなど高度なビジネス継続性を提供 できる。 Oracle ASM のバックアップ・リカバリ方法は、従来のファイルシステムでのバックアップ・リカバリ方法と 同じ概念で運用できる。しかし、本書で述べているように全く異なる手順や設定方法があるため、DBA の方々 には参考にして頂きたい。

(5)

日立ディスクアレイサブシステムの高性能/高信頼性ボリュームレプリケーション機能(Hitachi ShadowImage、 TrueCopy Synchronous、TrueCopy Asynchronous、Universal Replicator)を使用した Point-in-Time コピー は、高速にデータのコピーを生成する。本書では、Oracle Database ASM 環境を ShadowImage や TrueCopy を 使ってどのように運用するかについて、以下の 3 点に絞って説明している。

• データベースのバックアップ • データベースのリカバリ

• データベースのクローニング(バッチ処理、移行検証、開発用途)

Hitachi Storage Solutions のハードウェアによるレプリケーションは、ストレージからサーバへの転送が なくストレージ内で処理されるため、サーバベースより効率的である。加えて、ストレージによるレプリケ ーションが集中管理化を促進し、データ保護に掛かるコスト増加を抑えるのに役立つ。

Oracle Database には、フラッシュバックデータベース(Flashback Database)と呼ばれる Point-in-Time コ ピー機能がリカバリのために Oracle10g から組み込まれている。Oracle フラッシュバックデータベースは、 高速な Oracle のリカバリと、論理的なデータ破壊またはユーザエラーが発生した時刻を特定できる。時刻を 指定したロールバックでデータベースはエラーが発生する前の状態にリストアが可能である。その後、選択 的に適用していける。 日立のレプリケーション製品は、コンシステンシーグループ・テクノロジによって、Oracle Database 10g/11g ASM のスプリットミラーガイドライン要件を満たしている。このため、ASM 環境のデータベースを整合性が保 たれた有効な状態のコピーが作成可能である。 • 各ASMディスクグループに含まれる全LUでPoint-in-Timeスプリットコピーを生成でき、各LUのスプ リット実施が同じ時刻であること。 • 各ASMディスクグループに含まれる全LUが書き込み完了を守りアトミック(atomic)にスプリットさ れ、書き込み順序性が保たれること。 • データ表領域とアーカイブログはそれぞれ別のASMディスクグループにあること。(レプリケーショ ンを作るタイミングが異なるため) – –– – DATADGディスクグループはデータ表領域を含む – –– – FLASHDGディスクグループはアーカイブログ、制御ファイル、フラッシュバックログを含む – –– – REDODGディスクグループはREDOログファイルを含む(通常はバックアップしないため分ける) • 日立レプリケーション機能のペアグループには、ASMディスクグループの全ボリュームを含むこと。 • バックアップサーバには、業務サーバと同様なオペレーティングシステム(OS)環境があり、適切な Oracleバイナリや初期化パラメータファイル、パスワードファイル、ユーザID/グループがあるこ と。 • バックアップホストは、適したオペレーションシステム(OS) 環境、Oracle バイナリ、初期化パラ メータファイル/パスワードファイル、ディレクトリ、ユーザ名/グループ名で構成されていること。 • バックアップサーバは、Oracle Recovery Manager(RMAN)のリカバリカタログに接続するための設

定が設定されている事こと。 ASM は、サーボパーティ製のボリュームマネージャやクラスタファイルシステムと比較して、データファイ ル自動化のための優れた機能、複雑性の軽減、向上した性能を提供する。業界最高の Hitachi Universal Storage Platform V はストレージ統合、仮想化、ストレージ管理のシンプル化において高い価値を提供する。 Oracle と USP V の業界最高レベルの両プラットフォームが共に結集することで、最高のシステムが実現する。 USP V が持つ高度なボリューム製品によるパフォーマンスの最適化やシームレスなバックアップによって、 ASM を完全に補完する。同時に、ASM と USP V は強固で高信頼なデータベース、堅実なバックアップやディザ

(6)

6 スタリカバリ、そして充実な管理方法を提供する。

本書では、ASM と USP V を組み合わせたときのベストプラクティスを紹介している。通常、ベストプラクテ ィスは ASM または USP V 固有のものになりがちで、組み合わせると変更が必要になったり全く使えなくなっ たりすることがある。本書では、その点にも注意して記載している。

本書では、便宜上、最新の最高性能で主力製品である Hitachi Universal Storage Platform™ V (USP V)を 取り上げて記載しているが、アーキテクチャ、ユーザビリティなどが同じため、以下の製品についても同じ 方法でバックアップ、リカバリ、クローニングが可能である。

• Hitachi Universal Storage Platform V (USP V) • Hitachi Universal Storage Platform VM (USP VM) • Hitachi Adaptable Modular Storage (AMS) • Hitachi Workgroup Modular Storage (WMS) • Hitachi Tape Modular Storage (TMS) • Hitachi Universal Storage Platform (USP) • Hitachi Network Storage Controller (NSC)

(7)

日立ストレージHitachi Storage SolutionsシリーズでOracle ASMを使うには

ストレージ側の設定(共有ボリュームの設定)

共有ボリュームは、Real Application Cluster (RAC)データベースを構築するときに必要である。OS プラッ トフォームにボリュームを認識させる設定をすればよく、共有ボリュームへの設定をする以外に特定の設定 はない。共有させるためにはボリュームを複数のサーバから認識させる。また、サーバからボリュームへの パスを複数定義するのにパス冗長化ソフト「Hitachi Dynamic Link Manager」を使う。

Hitachi Dynamic Link Manager の概要

Hitachi Dynamic Link Manager (HDLM)はストレージシステムへのアクセスパスを管理する。HDLM を使用す ることで、パスに障害が出た場合にアクセスパスを他のパスへフェールオーバーする機能を提供し、システ ムの可用性と信頼性を向上させる。 HDLM には以下の機能がある。: • ロードバランシグロードバランシグロードバランシグロードバランシグ (load balancing) 複数のアクセスパスがホストからストレージシステムに接続しているとき、HDLM は複数のアクセ スパスを使って負荷分散する。これは、特定のアクセスパスにデータアクセスが大量に集中するこ とを回避する。 • 障害障害障害発生障害発生発生でも発生でもでもプロセスでもプロセスをプロセスプロセスををを継続継続継続継続するするするする (failover) 複数のアクセスパスがホストからストレージシステムに接続しているとき、使用中のアクセスパス に障害が発生すると、HDLM によって自動的に他のアクセスパスへ切り替わる。障害に影響されず にプロセスを継続できる。

• エラーからエラーエラーエラーからからリカバリからリカバリリカバリされたリカバリされたされたされたオンラインパスオンラインパスオンラインパスオンラインパスをおくことがをおくことが可能をおくことがをおくことが可能可能可能であるであるであるである (failb(failb(failb(failback)ack)ack)ack)

障害からパスを回復するとアクセスパスをオンラインにする。通常、障害があったアクセスパスを 回復するタイミングは管理者が業務への影響が小さい時間帯に行うため、フェイルバックは手動で 行うが、フェイルバックを自動で行うことも可能である。「automatic failback」を有効にすると、 ユーザが物理経路の問題を解決した後に自動的に HDLM がパスを有効化する。

• 常時常時常時常時インターバルインターバルインターバルでインターバルでででパスステータスパスステータスパスステータスパスステータスをを自動をを自動自動自動ででで確認で確認確認 確認 (path health checking)(path health checking)(path health checking)(path health checking)

HDLM はユーザが定義した時間間隔でアクセスパスのステータスを確認することで、障害を検出で きる。既存のパスエラーを確認し、適宜にそれを解決することが可能である。

Linux では、LUN へのそれぞれのパスは/dev/sda、/dev/sdb、などのデバイス名が割り当てられる。HDLM は、 同じ LUN へのパスをみつけ、/dev/sddlmaa などの共通 HDLM 名を割り当てる。Linux の HDLM デバイスフォー マットは/dev/sddlm[a-p][a-p][1-15]である。HDLM デバイスパーティションは sddlm*name の後の数で表さ れる。全デバイスは指定の数なしで表される。アクティブな HDLM ロードバランシングとパスフェイルオー バー機能の HDLM デバイス名を使用しなければならない。更なる情報に関しては、各 OS プラットフォームの HDLM ユーザーズガイドをご参照のこと。

Hitachi ShadowImage™の概要

ShadowImage™は、ストレージシステム内の RAID ボリュームや、Hitachi Universal Volume Manager を使用 して仮想化接続されている外部ストレージのボリュームで使用可能な、ストレージによるボリュームレプリ

(8)

8 ケーション機能である。ShadowImage の正ボリューム(P-VOL)は、9 つまで副ボリューム(S-VOL)を生成可能で ある。ShadowImage のレプリケーション機能は、業務サーバからの I/O 操作を止めることなく実施可能であ る。更に、ShadowImage ボリュームはオンラインバックアップ時のアプリケーション要求に対応するために At-time スプリットオプションを実装しており、これによりコンシステンシーグループを使った柔軟なバッ クアップを可能としている。

Hitachi TrueCopy® Asynchronous と Hitachi Universal Replicator の 概要

Hitachi TrueCopy Synchronous(TC)と TrueCopy Asynchronous(TCA)、Universal Replicator(UR)はリモート コピーを可能とする機能である。これらは、プライマリサイトのボリュームに対し読み出し/書き込みの I/O を継続しながらリモートコピーを行うことができる。TCA や UR はセカンダリサイトへ非同期でコピーするが、 障害が発生してもアプリケーションが書き込み途中のデータを保護するため、書き込み順序性(write ordering)を保つ。書き込み順序性はコンシステンシーグループごとに保たれる。TCA と UR の大きな違いは 書き込み情報の格納先の違いである。TCA は限られたキャッシュメモリに格納し、UR は広大なジャーナルボ リュームに格納する。TCA や UR は、運用に合わせさまざまなリカバリオプションを提供するため、例えば ShadowImage と連携した構成をとる事が出来る。

Point-in-Time コピー用のコンシステンシーグループと At-Time スプリットオプション

コンシステンシーグループは ShadowImage ペアグループに At-time スプリットオプションを適用する事で作 成できる。コンシステンシーグループを使ってペア分割することで、Point-in-Time コピーを作成可能であ る。ペア分割コマンドが、サーバから USP V に RAID Manager を介して行われるとき、同じコンシステンシー グループに含まれる全ての LU は同時に且つアトミック(atomic)にペア分割され、S-VOL(副ボリューム)のデ ータを確定する。S-VOL の内容は、ペア分割操作が実行されたときの P-VOL(正ボリューム)と同じである。 コンシステンシーグループは128グループまで作成できる。コンシステンシーグループ内に、合計4096ペアま でShadowImageペアを作成できる。

その他、ShadowImageの詳細な説明やTrueCopy AsynchronousやUniversal Replicatorについてはそれぞれの ユーザーズガイドで確認できる。

(9)

ASM ディスクグループとペアグループ(コンシステンシーグループ)

ASMディスクグループとShadowImageペアグループの対応を表1に示す。 表 表 表 表 1. 1. 1. 3 1. 333ディスクグループディスクグループディスクグループディスクグループ構成時構成時の構成時構成時ののの配置配置配置配置 ASM ASM ASM

ASM ディスクグループディスクグループディスクグループ ディスクグループ ShadowImageShadowImage ペアグループShadowImageShadowImageペアグループペアグループペアグループ ( (( (コンシスコンシスコンシステンシーグループコンシステンシーグループテンシーグループテンシーグループ))) ) 用途 用途用途 用途 DATADG DATADG DATADG

DATADG DATADGDATADG DATADGDATADG システムシステム表領域システムシステム表領域表領域表領域 SYSAUXSYSAUX 表領域SYSAUXSYSAUX表領域表領域表領域 UNDOUNDO 表領域UNDOUNDO表領域表領域表領域 ユーザユーザ表領域ユーザユーザ表領域表領域表領域 TEMPTEMP 表領域TEMPTEMP表領域表領域表領域

サーバパラメータファイルサーバパラメータファイル(サーバパラメータファイルサーバパラメータファイル(((spfilespfilespfilespfile))) ) そのその他そのその他他の他ののの表領域表領域表領域表領域

制御制御ファイル制御制御ファイルファイル 1ファイル111 FLASHDG

FLASHDG FLASHDG

FLASHDG FLASHDGFLASHDG FLASHDGFLASHDG アーアーカイブログファイルアーアーカイブログファイルカイブログファイルカイブログカイブログファイルカイブログ領域カイブログカイブログ領域領域領域(((アーカイブログファイル(アーカイブログファイルアーカイブログファイル)アーカイブログファイル))) FlashbackFlashback リカバリFlashbackFlashbackリカバリリカバリリカバリ領域領域領域領域

制御制御ファイル制御制御ファイルファイル 2ファイル222 REDODG

REDODG REDODG

REDODG REDODGREDODG REDODGREDODG ノード 1ノードノードノード111 メンバメンバメンバメンバ 1111 グループグループグループ 1グループ111 REDO REDO REDO REDO ログファイルログファイル 1ログファイルログファイル111~~~~3333 ノードノード 2ノードノード222 メンバメンバメンバメンバ 1111 グループグループ 1グループグループ111 REDOREDOREDO ログファイルREDOログファイル 1ログファイルログファイル111~~~~3333

(10)

10

ASM の基本的な操作方法

ASM ASM ASM ASM インスタンスインスタンスインスタンス起動インスタンス起動起動起動とととと停止停止停止停止 ASM インスタンスはsrvctlコマンドで起動や停止する。このコマンドはどのノードからも実行可能である。 ASM インスタンスの起動: $ srvctl start asm $ srvctl start asm $ srvctl start asm

$ srvctl start asm ----n nodename1n nodename1n nodename1n nodename1 $ srvctl start asm

$ srvctl start asm $ srvctl start asm

$ srvctl start asm ----n nodename2n nodename2n nodename2n nodename2

ASM インスタンスの停止: $ srvctl stop asm

$ srvctl stop asm $ srvctl stop asm

$ srvctl stop asm ----n nodename1n nodename1n nodename1 n nodename1 $ srvctl stop asm

$ srvctl stop asm $ srvctl stop asm

$ srvctl stop asm ----n nodename2n nodename2n nodename2 n nodename2 また、シングルインスタンスの場合、通常のデータベースインスタンスと同様に、SID環境変数に+ASM を設 定して起動・停止を行う。 ASM インスタンスの起動(シングルインスタンス): $ export ORACLE_SID=+ASM $ export ORACLE_SID=+ASM $ export ORACLE_SID=+ASM $ export ORACLE_SID=+ASM $ sqlplus / as sysdba $ sqlplus / as sysdba $ sqlplus / as sysdba $ sqlplus / as sysdba SQL> startup SQL> startup SQL> startup SQL> startup ASM インスタンスの起動停止(シングルインスタンス): $ export ORACLE_SID=+ASM $ export ORACLE_SID=+ASM $ export ORACLE_SID=+ASM $ export ORACLE_SID=+ASM $ sqlplus / as sysdba $ sqlplus / as sysdba $ sqlplus / as sysdba $ sqlplus / as sysdba SQL> shutdown SQL> shutdown SQL> shutdown SQL> shutdown ASM ASM ASM ASM インスタンスインスタンスインスタンスのインスタンスののの状態状態を状態状態ををを確認確認確認確認 ASM インスタンスが起動しているかどうかは crs_stat コマンドで知ることができる。 $ crs_stat $ crs_stat $ crs_stat

$ crs_stat ----t Name Type Target State Hostt Name Type Target State Hostt Name Type Target State Hostt Name Type Target State Host

通常のDB インスタンスと同様の方法で、ASM インスタンスの状態も知ることができる。 SQL> select instance_name, status from v$instance;

SQL> select instance_name, status from v$instance; SQL> select instance_name, status from v$instance; SQL> select instance_name, status from v$instance;

(11)

ShadowImageの設定方法

ペアグループについて

ShadowImage でのバックアップはペアグループと呼ばれる単位で行う。また、Point-in-Time コピーを行う場 合は、このペアグループがコンシステンシーグループになる。ペアグループは構成定義ファイル(horcm.conf) を使って設定する。 例えば、3ディスクグループ構成(データ表領域の DATADG とアーカイブログ領域の FLASHDG、REDO ログファ イルの REDODG の3つ)の場合、バックアップが必要なディスクグループは DATADG と FLASHDG であるが、こ の2つのディスクグループをペアグループと一致させる必要がある。また、ディスクグループに LU 追加また は削除する場合は、ペアグループの設定も変更する。

ペアグループの操作

ShadowImage または TrueCopy のペアグループを操作するインターフェースは、RAID Manager と呼ばれる CLI またはストレージ管理ソフト Storage Navigator と呼ばれる GUI がある。(以下、RAID Manager について説 明する) RAID Manager はサーバ上で動作するソフトウェアである。サーバにコマンドデバイス(CMD)という特殊な LU を認識させておく事で、CMD を介してボリュームを複製したり、ペア状態を取得したりする。RAID Manager を使うためには、2つのインスタンスを起動させておく必要がある。このため構成定義ファイルも2つ必要 である。参考までに構成定義ファイル(horcm.conf)の記述例を本書巻末の別表Cに載せた。 (更なる詳細情報については、RAID Manager のマニュアルを参照。) インスタンス起動の例(インスタンス0と1を起動): # horcmstart.sh 0 1 # horcmstart.sh 0 1 # horcmstart.sh 0 1 # horcmstart.sh 0 1 一度構成定義ファイルを定義しそのインスタンスが開始すると、ShadowImage ペアを作成する準備が整う。 ペアの作成は paircreate コマンドを使う。paircreate コマンドの主なオプションは次の通りである。 「-g」オプションは、ペアグループ名を指定している。 「-vl」オプションは、コピーの方向を示す。通常はこれを使う。 「-m grp」オプションは、ペアグループをコンシステンシーグループとして作成することを指定している。 ASM ASM ASM ASM 環境環境では環境環境ではではではペアペアペアペアをををを作成作成する作成作成するする際する際際、際、、ペアグループ、ペアグループをペアグループペアグループをををコンシステンシーグループコンシステンシーグループコンシステンシーグループコンシステンシーグループとしてとしてとしてとして作成作成する作成作成するするする必要必要必要があるので必要があるのでがあるので、があるので、、、 Point Point Point

Point----ininin-in---timetimetimetime オプションオプションオプションオプション((((--m grp)--m grp)m grp)をm grp)ををを付付ける付付けるけるける。。。。 ShadowImage コンシステンシーグループ作成の例: # paircreate

# paircreate # paircreate

# paircreate ----gggg DATADG DATADG DATADG DATADG ––––vl vl vl vl ––––m grpm grpm grpm grp # paircreate

# paircreate # paircreate

# paircreate ----gggg FLASHDG FLASHDG FLASHDG FLASHDG ––––vl vl vl vl ––––m grpm grpm grpm grp 通常、ディスクグループには複数のボリューム(LU)が含まれているが、Point-in-Time オプションを付けコ ンシステンシーグループにする事で、ボリューム同士の整合性(consistency)を保ったまま、あたかも 1 つの ボリュームかのようにタイミングのずれもなくペア分割することが可能となる。 Point-in-Time オプションを付けないでペア生成を行った場合、ペア分割する際、各ボリュームのペア分割 タイミングにばらつきが出るため、整合性を保てなくなる恐れがある。不整合となってしまったコピーはリ カバリに使用できない。また、不整合かどうかはリカバリするまで分からない。

(12)

12 Point-in-Time コピーの例(コンシステンシーグループ): # pairsplit # pairsplit # pairsplit

# pairsplit ----gggg DATADG DATADG DATADG DATADG # pairsplit

# pairsplit # pairsplit

# pairsplit ----gggg FLASHDG FLASHDG FLASHDG FLASHDG ペア状態の遷移を確認するには pairevtwait コマンドを使う。 pairevtwait コマンドの主なオプションは以下の通りである。 「-g」オプションは、ペアグループ名を指定する。 「-s」オプションは、遷移先のペア状態を指定する。 「-t」オプションは、秒単位で状態遷移待ち時間(タイムアウト)を指定する。 サスペンド状態(PSUS)を確認する例: # pairevtwait # pairevtwait # pairevtwait

# pairevtwait ––––g DATADG g DATADG g DATADG ––––s psus g DATADG s psus s psus s psus ––––t t t t 3600360036003600 # pairevtwait

# pairevtwait # pairevtwait

# pairevtwait ––––g FLASHDG g FLASHDG g FLASHDG ––––s psus g FLASHDG s psus s psus s psus ––––t t t t 36363636000000 00

RAID Manager コマンド説明

表2に基本的な RAID Manager のペア操作コマンドとその機能を示す。 表 表 表 表2222. . . . ペアコマンドペアコマンドペアコマンドペアコマンド コマンド コマンド コマンド コマンド名名名 名 説明説明 説明説明 補足補足 補足補足 paircreate paircreate paircreate paircreate 新規新規に新規新規にににペアペアペアペアをををを生成生成する生成生成するするする。。。。 ペアペア生成ペアペア生成生成 生成 ( ((

(SMPLSMPLSMPL→SMPL→→→PAIRPAIRPAIRPAIR)))) pairsplit pairsplit pairsplit pairsplit 一時的一時的に一時的一時的にににペアペアペアペアをを分割をを分割分割し分割ししし、、、、副副副ボリューム副ボリュームへのボリュームボリュームへのへのへの更新更新更新を更新ををを停止停止させる停止停止させるさせるさせることでことでことで副ことで副副副ボリューボリューボリューボリュー ム ムム ムににににバックアップバックアップバックアップバックアップをををを作成作成する作成作成するする。する。。正副。正副正副正副ボリュームボリュームのボリュームボリュームのののペアペアペアペア関係関係関係関係はは維持はは維持維持され維持されされされ、、、、差分情差分情差分情差分情 報 報報 報もももも保持保持保持保持されされるされされるるる。。。。 ペ ペペ ペアアア分割ア分割分割/分割///ペアサスペンドペアサスペンドペアサスペンドペアサスペンド ( ((

(PAIR/COPYPAIR/COPYPAIR/COPY→PAIR/COPY→→→PSUSPSUSPSUSPSUS))))

pairresync pairresync pairresync pairresync ペアサスペンドペアサスペンド状態ペアサスペンドペアサスペンド状態状態状態からからからからペアペア再同期ペアペア再同期再同期する再同期するするする。。。差分情報。差分情報を差分情報差分情報をを使を使使使ってってってって高速高速高速に高速に再同期にに再同期再同期再同期しししペしペペペ ア アア ア状態状態にする状態状態にするにするにする。。。差分情報。差分情報差分情報差分情報がないがないがないがない場合場合は場合場合はは使は使使えない使えないえない。えない。。。 ペア ペアペア ペア再同期再同期再同期 再同期 ( ((

(PSUSPSUSPSUS→PSUS→→→PAIRPAIRPAIRPAIR)))) p

pp

pairresync airresync airresync airresync ----restorerestorerestorerestore ペアサスペンド状態ペアサスペンドペアサスペンドペアサスペンド状態状態状態からからからからペアペアペアをペアを逆方向をを逆方向逆方向逆方向にににに再同期再同期再同期させ再同期させ、させさせ、、、バックアップデータバックアップデータバックアップデータバックアップデータのののリのリリリ ストア ストアストア ストアをををを行行行行ううう。う。差分情報。。差分情報差分情報差分情報ををを使を使使って使ってって高速って高速に高速高速にににリストアリストアリストアされるリストアされるされるされる。。。。通常通常、通常通常、、、リストアリストアリストアリストア後後後に後ににに ペアサスペンド ペアサスペンドペアサスペンド ペアサスペンドさせるさせるさせるさせる。。。。 ペアリストア ペアリストアペアリストア ペアリストア pairsplit pairsplit pairsplit pairsplit ––––SSSS ペアペアのペアペアののの差分情報差分情報差分情報差分情報をを破棄をを破棄破棄破棄ししししペアペアペアをペアをを削除を削除する削除削除するするする。。。再度。再度再度、再度、、、ペアペア状態ペアペア状態状態状態にするにはにするにはにするには、にするには、ペア、、ペアペアペア生生生生 成 成成 成をやりをやりをやり直をやり直直直すすすす必要必要がある必要必要があるがあるがある。。。。 ペア ペアペア ペア削除削除削除 削除 ( ((

(PAIR/COPY/PSUSPAIR/COPY/PSUSPAIR/COPY/PSUS→PAIR/COPY/PSUS→→→SMPLSMPLSMPLSMPL)))) p

pp

pairevtwaitairevtwaitairevtwait airevtwait 指定指定した指定指定したしたしたペアペアペアペア状態状態になるまで状態状態になるまでになるまでになるまで待待待ち待ちちち続続続続けけ、けけ、、、プロンプトプロンプトプロンプトにプロンプトににに返返返返らないらない。らないらない。。。確実確実確実確実ななペアななペアペアペア状状状状 態遷移 態遷移態遷移 態遷移ををを実現を実現実現実現させるためにさせるためにさせるためにさせるために使用使用する使用使用するする。する。。 。 pairdisplay pairdisplay pairdisplay pairdisplay ペアペア状態ペアペア状態状態状態ややややペアペアペアペア進捗率進捗率などを進捗率進捗率などをなどをなどを確認確認確認する確認するする。する。。 。 pairvolchk pairvolchk pairvolchk

pairvolchk PointPoint-PointPoint---inininin----TimeTimeTimeTime オプションオプションオプションオプション(((コンシステンシーグループ(コンシステンシーグループのコンシステンシーグループコンシステンシーグループのの設定の設定設定)設定))の)の有無のの有無有無を有無ををを確認確認確認確認すすすす る るる る。。。。

(13)

ShadowImage / TrueCopy / URを使ったASMバックアップ・リカバリ

バックアップの概要

シナリオ1では ShadowImage を使って稼働中の業務サーバをテープバックアップする方法について述べる。 また、シナリオ3では、セカンダリサーバでデータベース・クローニングのテクニックを述べる。このクロ ーニングはデータベースのバックアップにも適用できる。

Oracle 10g と Oracle 9i の比較

Oracle10g と Oracle9i のバックアップ手順の違いは主に 2 つある。1 つ目は、コンシステンシーグループへ の意識を要すること、2 つ目は、データベースインスタンスだけでなく ASM インスタンスの挙動にも気をつ けなければならないことである。

ホットバックアップ

ホットバックアップ

ホットバックアップ

ホットバックアップ手順

手順

手順

手順の

のフローチャート

フローチャート

フローチャート

フローチャート

図1にホットバックアップ手順のフローチャートを示す。 図1.ホットバックアップ手順のフローチャート ASMのリバランスの確認 バックアップ処理の開始 データ表領域、アーカイブログ領域 のペアの再同期 (PSUS→PAIR) ログスイッチ (REDOログ→アーカイブログ) バックアップモード開始 (begin backup) データ表領域のバックアップ (PAIR→PSUS) バックアップモード終了 (end backup) ログスイッチ (REDOログ→アーカイブログ) アーカイブログ領域のバックアップ (PAIR→PSUS) 制御ファイルのバックアップ 不要なアーカイブログの削除 バックアップ処理の完了

(14)

14

コールドバックアップの事前注意事項

コールドバックアップを行うときは、データベースインスタンスだけでなく ASM インスタンスもあるので併 せて停止させる。

ホットバックアップの事前注意事項

ホットバックアップを行うときは、ペアを作成する際に Point-in-time オプションをつけること。ASM 環境 下でのホットバックアップは、ペアに付加されている Point-in-time オプションが必要になる。ペア分割に よるバックアップが Point-in-time オプションなしで行われると、ディスクグループ内のボリューム間の整 合性が保たれない。無効なデータとなるリスクがある。結果、ホットバックアップは本番側データベースの 有効なコピーができない。

データタイプごとのバックアップ要件

データ

データ

データ

データ表領域

表領域

表領域

表領域

Oracle9i 以前では、全ての表領域を 1 つずつバックアップモードにしなければならなかった。これは、例え ば表領域を新たに追加するだけで、ホットバックアップスクリプトをメンテナンスしなければならないこと を意味する。Oracle10g からは、データベースを 1 つのコマンドでバックアップモードにできるようになっ た。これによりバックアップが簡素化された。 バックアップモードの開始: SQL> alter database begin backup; SQL> alter database begin backup; SQL> alter database begin backup; SQL> alter database begin backup;

バックアップモードの終了: SQL> alter database end backup; SQL> alter database end backup; SQL> alter database end backup; SQL> alter database end backup;

制御

制御

制御

制御ファイル

ファイル

ファイル

ファイル

制御ファイルは、Oracle Recovery Manager(RMAN) または SQL*Plus を使ってバックアップする。 コマンドは以下である。

RMAN> run { RMAN> run { RMAN> run { RMAN> run {

allocate channel ctl_file type disk; allocate channel ctl_file type disk; allocate channel ctl_file type disk; allocate channel ctl_file type disk; copy current controlfile to

copy current controlfile to copy current controlfile to copy current controlfile to ‘

‘‘

‘+FLASHDG/control_file/con+FLASHDG/control_file/con+FLASHDG/control_file/con+FLASHDG/control_file/control_starttrol_starttrol_start’trol_start’’’;;;; copy current controlfile to

copy current controlfile to copy current controlfile to copy current controlfile to ‘

‘‘

‘+FLASHDG/control_file/control_bakup+FLASHDG/control_file/control_bakup+FLASHDG/control_file/control_bakup+FLASHDG/control_file/control_bakup’’’’;;;; release channel ctl_file;

release channel ctl_file; release channel ctl_file; release channel ctl_file; }}}} 制御ファイルは、データ表領域をバックアップした後の状態をバックアップする必要があるため、このよう に個別に取得する。

サーバ

サーバ

サーバ

サーバパラメータファイル

パラメータファイル

パラメータファイル

パラメータファイル(

(spfile

spfile

spfile)

spfile

サーバパラメータファイルは、ShadowImage などでバックアップできるため、データ表領域などと 一緒にバックアップできる。ここでは、サーバパラメータファイルを DATADG に配置しているため、 DATADG のバックアップ時に一緒にバックアップされる。

(15)

REDO

REDO

REDO

REDO ログファイル

ログファイル

ログファイル

ログファイル

REDOログファイルは、ShadowImageでバックアップできないため対象にしない。リカバリに必要なので、REDO ログファイルをバックアップする際は、'alter system archive log current'を使ってアーカイブログ領域 にコピーしておく。(アーカイブログ領域のバックアップは次に述べる)

アーカイブログファイル

アーカイブログファイル

アーカイブログファイル

アーカイブログファイル(

(アーカイブログ

アーカイブログ

アーカイブログ

アーカイブログ領域

領域

領域

領域)

従来ファイルシステム上に生成されていたアーカイブログファイルは、ASM 環境では ASM ディスクグループ 上に生成される。 アーカイブログ領域にはバックアップモードがないため、アーカイブログファイルの生成中にバックアップ を行うことは、無効なアーカイブログの取得になりかねない。このため、ShadowImage でバックアップ(pair split)する際は、先に'alter system archive log current'によって強制的に全ノードでアーカイブログフ ァイルを生成させ、完了したことを確認しておく。アーカイブログファイルの生成の完了は、各ノードのデ ータベースインスタンスのアラートログを見て確認できる。バックアップが完了したら、必要なくなった古 いアーカイブログは削除することができる。

古くなった

くなった

くなった

くなったアーカイブログ

アーカイブログ

アーカイブログ

アーカイブログの

の削除方法

削除方法

削除方法

削除方法

生成されてから 2 週間が過ぎたアーカイブログファイルを全て削除する方法は以下の通り。 RMAN> DELETE ARCHIVELOG ALL COMPLETED

RMAN> DELETE ARCHIVELOG ALL COMPLETED RMAN> DELETE ARCHIVELOG ALL COMPLETED

RMAN> DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE BEFORE 'SYSDATE BEFORE 'SYSDATE BEFORE 'SYSDATE----14';14';14';14';

(16)

16

リカバリの概要

シナリオ2では、シナリオ1で取得したバックアップを業務サーバへのリカバリする方法について述べる。

リカバリ

リカバリ

リカバリ

リカバリ手順

手順

手順の

手順

のフローチャート

フローチャート

フローチャート

フローチャート

図2にリカバリ手順を示す。 注意:ASM インスタンスが起動している間にリストアしてしまうと、ASM ディスクグループは破壊されること があるので、ASM インスタンスを停止または ASM ディスクグループのマウントを解除してから進めること。 図2.リカバリ手順のフローチャート 制御ファイルのバックアップ リカバリ処理の開始 データ表領域のリストア (リストアが完了したら) ペアをサスペンドにする (PAIR→PSUS) ASMインスタンスの起動 リカバリ処理の完了

RAID Manager SQL*Plus RMAN

データベースインスタンスの停止 ASMインスタンスの停止 アーカイブログ領域のリストア (リストアが完了したら) ペアをサスペンドにする (PAIR→PSUS) データベースインスタンスをMOUNT 制御ファイルのリストア データベースインスタンスの停止 データベースインスタンスをOPEN データベースインスタンスをMOUNT メディアリカバリ (recover database) 一時表領域などを追加 データベースインスタンスを再起動 内は必要に応じて実施する。

(17)

シナリオ1:ShadowImage を使った Oracle Database 10g ASM のバックアップ

この手順では、業務サーバ上で稼動している Oracle Database 10g ASM をホットバックアップモードに変更 し、ShadowImage を使って短時間且つボリューム間の整合性を保ったまま At-time スプリットコピーで副ボ リューム(S-VOL)を作成し、バックアップサーバで RMAN を使って S-VOL からテープにバックアップするもの である。ShadowImage を使ったコピーは、業務サーバやデータベースへの影響を与えることなく、バックア ップが可能である。 この例では、最小構成の 3 つの ASM ディスクグループ環境(DATADG、FLASHDG、REDODG)を使っている。また、 ShadowImage は常時サスペンド方式を使用する。

業務

業務

業務

業務サーバ

サーバ

サーバ

サーバにて

にて

にて

にて(

(S

SS

S-

-VOL

--

VOL

VOLの

VOL

の作成

作成

作成

作成)

まだ ShadowImage のコンシステンシーグループのペアを作成していなければここで作成する(paircreate)。 作成後ペアはサスペンド(pairsplit)させておく。 # paircreate # paircreate # paircreate

# paircreate ––––g DATADG g DATADG g DATADG g DATADG ––––vl vl –vl vl –––mmm grpm grp grp grp # paircreate

# paircreate # paircreate

# paircreate ––––g FLASHDG g FLASHDG g FLASHDG g FLASHDG ––––vl vl vl vl ––––m grpm grpm grp m grp

# # #

# pairsplit pairsplit pairsplit –g DATADGpairsplit g DATADGg DATADGg DATADG #

# #

# pairsplit pairsplit pairsplit –g FLASHDGpairsplit g FLASHDGg FLASHDGg FLASHDG

既に作成されていれば、ペアがペア状態(PAIR)でなければペア再同期(pairresync)をする。 # pairresync

# pairresync # pairresync

# pairresync ––––g DATADGg DATADGg DATADGg DATADG # pairresync

# pairresync # pairresync

# pairresync ––––g FLASHDGg FLASHDGg FLASHDGg FLASHDG

ペア状態(PAIR)になったことを確認する。 # pa

# pa # pa

# pairevtwait irevtwait irevtwait irevtwait ––––g DATADG g DATADG g DATADG –g DATADG –––s pairs pairs pairs pair––––t 9999t 9999t 9999t 9999 # pairevtwait

# pairevtwait # pairevtwait

# pairevtwait ––––g FLASHDG g FLASHDG g FLASHDG –g FLASHDG –––s pair s pair s pair s pair ––––t 9999t 9999t 9999t 9999

バックアップ中にログスイッチが発生しないようにするため、ログスイッチを行う。 SQL> alter system archive log current;

SQL> alter system archive log current; SQL> alter system archive log current; SQL> alter system archive log current;

業務サーバの Oracle をバックアップモードにする。(begin backup) SQL> alter database begin backup;

SQL> alter database begin backup; SQL> alter database begin backup; SQL> alter database begin backup; DATADG をペア分割する。(pairsplit) コンシステンシーグループを使って作成されているため、ペアは整合性を保ったまま分割される。 # pairsplit # pairsplit # pairsplit

# pairsplit ––––g DATADGg DATADGg DATADGg DATADG

サスペンド状態(PSUS)になったことを確認する。 # pairevtwait

# pairevtwait # pairevtwait

# pairevtwait ––––g DATADG g DATADG g DATADG ––––s psus g DATADG s psus s psus ––––t 9999s psus t 9999t 9999t 9999

Oracle のバックアップモードを終了する。(end backup) SQL> alter database end backup;

SQL> alter database end backup; SQL> alter database end backup; SQL> alter database end backup;

(18)

18 ログスイッチを行う。

SQL> alter system archive log current; SQL> alter system archive log current; SQL> alter system archive log current; SQL> alter system archive log current;

制御ファイルのバックアップを2つ作成する。1つは(control_start)、バックアップサーバで Oracle を MOUNT 状態にするのに使い、もう1つは、テープにバックアップするのに使う。Oracle を MOUNT すると制御 ファイルが変更されてしまうため、変更されていない制御ファイルが必要なためである。

RMAN> RMAN> RMAN>

RMAN> run {run {run {run {

allocate channel ctl_file type disk; allocate channel ctl_file type disk; allocate channel ctl_file type disk; allocate channel ctl_file type disk; copy current contr

copy current contr copy current contr

copy current controlfile toolfile toolfile toolfile to ‘

‘‘

‘+FLASHDG/control_file/control_start+FLASHDG/control_file/control_start+FLASHDG/control_file/control_start+FLASHDG/control_file/control_start’’’’;;;; copy current controlfile to

copy current controlfile to copy current controlfile to copy current controlfile to ‘

‘‘

‘+FLASHDG/control_file/control_bakup+FLASHDG/control_file/control_bakup+FLASHDG/control_file/control_bakup+FLASHDG/control_file/control_bakup’’’’;;;; release channel ctl_file;

release channel ctl_file; release channel ctl_file; release channel ctl_file; }}}} バックアップ情報をリカバリカタログに記憶させる。こうすることで、RMAN に最新のアーカイブログを記憶 させる。 RMAN> resync RMAN> resync RMAN> resync

RMAN> resync catalog; catalog; catalog; catalog;

最新のアーカイブログを持った FLASHDG をペア分割する。 # pairsplit

# pairsplit # pairsplit

# pairsplit ––––g FLASHDGg FLASHDGg FLASHDGg FLASHDG

サスペンド状態(PSUS)になったことを確認する。 # pairevtwait

# pairevtwait # pairevtwait

# pairevtwait ––––g FLASHDG g FLASHDG g FLASHDG ––––s psus g FLASHDG s psus s psus s psus ––––t 9999t 9999t 9999t 9999

不要

不要

不要

不要になった

になった

になった

になったアーカイブログファイル

アーカイブログファイル

アーカイブログファイルの

アーカイブログファイル

の削除

削除

削除

削除

不要になったアーカイブログファイルを削除する。ここでは、二週間以上前に作成されたアーカイブログフ ァイルを全て削除する。 $ export ORACLE_SID=db10asm $ export ORACLE_SID=db10asm $ export ORACLE_SID=db10asm $ export ORACLE_SID=db10asm $ rman target / $ rman target / $ rman target /

$ rman target / nocatalog nocatalog nocatalog nocatalog

RMAN> delete archivelog all completed before 'SYSDATE RMAN> delete archivelog all completed before 'SYSDATE RMAN> delete archivelog all completed before 'SYSDATE RMAN> delete archivelog all completed before 'SYSDATE----14';14';14';14';

(19)

バックアップサーバ

バックアップサーバ

バックアップサーバ

バックアップサーバにて

にて

にて(

にて

(S

SS

S-

--

-VOL

VOL

VOLから

VOL

からテープ

から

から

テープ

テープに

テープ

にバックアップ

バックアップ

バックアップ

バックアップ)

バックアップサーバは、ShadowImage で複製された S-VOL を使うことができる。

まず、ASM インスタンスを起動する。作成した S-VOL をバックアップサーバに認識させると、raw デバイス名 や HDLM 名が再度つけられるため変更されてしまう事があるが、ASM インスタンスは業務サーバと異なるデバ イス名でも ASM ディスクグループを見つけようとする。Oracle ASM は、これらの候補ボリュームから正しい ディスクグループを識別し、マウントできる。 $ export ORACLE_SID=+ASM $ export ORACLE_SID=+ASM $ export ORACLE_SID=+ASM $ export ORACLE_SID=+ASM $ sqlplus $ sqlplus $ sqlplus

$ sqlplus ““““/as sysdba/as sysdba/as sysdba/as sysdba”””” SQL> startup SQL> startup SQL> startup SQL> startup バックアップサーバの S-VOL を使ってデータベースを起動させる。 RMAN バックアップについては以下に述べる。 以下の例では、バックアップサーバ上のデータベースを RMAN でバックアップする方法である。スタートアッ プ制御ファイル(control_start)を使ってデータベースを MOUNT する。次に、バックアップ制御ファイル (control_bakup)を RMAN バックアップの一部としてバックアップする。 init.ora file init.ora file init.ora file init.ora file control_files = +FLASHDG/control_file/control_start control_files = +FLASHDG/control_file/control_start control_files = +FLASHDG/control_file/control_start control_files = +FLASHDG/control_file/control_start バックアップサーバでデータベースインスタンスを MOUNT する: $ export ORACLE_SID=db10asm $ export ORACLE_SID=db10asm $ export ORACLE_SID=db10asm $ export ORACLE_SID=db10asm $ sqlplus $ sqlplus $ sqlplus

$ sqlplus ““““/as sysdba/as sysdba/as sysdba/as sysdba”””” SQL> startup mount SQL> startup mount SQL> startup mount SQL> startup mount RMAN を使ってバックアップを実施する: RMAN> run { RMAN> run { RMAN> run { RMAN> run {

allocate channel t1 type sbt_tape allocate channel t1 type sbt_tape allocate channel t1 type sbt_tape allocate channel t1 type sbt_tape backup format backup format backup format backup format ‘‘‘‘ctl %d/%s/%p/%tctl %d/%s/%p/%tctl %d/%s/%p/%tctl %d/%s/%p/%t’’’’ controlfilecopy controlfilecopy controlfilecopy

controlfilecopy ‘‘‘‘+FLASHDG/control_file/control_bakup+FLASHDG/control_file/control_bakup+FLASHDG/control_file/control_bakup’+FLASHDG/control_file/control_bakup’’’;;;; backup backup backup backup full full full full format format format format ‘‘‘‘al %d/%s/%p/%tal %d/%s/%p/%tal %d/%s/%p/%tal %d/%s/%p/%t’’’’ (archive all); (archive all); (archive all); (archive all); release channel t1 release channel t1 release channel t1 release channel t1 }}}}

(20)

20

シナリオ2:ShadowImage を使った Oracle 10g ASM のリカバリ

前項でのホットバックアップを使って、ShadowImage は取得したデータを高速にリストアするリカバリ方法 を提供する。差分ビットマップによって変更ブロックは管理され、必要最小限のデータのみがプライマリ LU にリストアされるため、ダウンタイムは最小化される。 データファイルをリストアした後、アーカイブログでデータベースのインスタンスリカバリを実施する。業 務サーバに残っているREDOログファイル(REDODG)やアーカイブログ(FLASHDG)をリストアなどでリストアす る際は注意する。REDODGやFLASHDGには、障害が起こる直前までにコミットされたトランザクションを含むた め、完全リカバリできなくなる可能性がある。もし、REDODGが破損してしまったら、ディスクグループを再 作成し、データベースをRESETLOGSでOPENする。FALSHDGが破損してしまったら、ShadowImageでバックアップ したディスクグループをリストアできる。 もしシャットダウンされていなければ、業務サーバ上のデータベースインスタンスをシャットダウンする: $ export ORACLE_SID=db10a $ export ORACLE_SID=db10a $ export ORACLE_SID=db10a $ export ORACLE_SID=db10asmsmsm sm $ sqlplus $ sqlplus $ sqlplus

$ sqlplus ““““/as sysdba/as sysdba/as sysdba/as sysdba”””” SQL> shutdown SQL> shutdown SQL> shutdown SQL> shutdown ShadowImageでディスクグループをリストアするためASMインスタンスをシャットダウンする。もし、他のデ ータベースが稼動していてASMインスタンスをシャットダウンできない場合は、リストアするデータベースだ けが使用している全てのディスクグループをDISMOUNTする。 $ $ $

$ export ORACLE_SID=+ASM export ORACLE_SID=+ASM export ORACLE_SID=+ASM export ORACLE_SID=+ASM $ sqlplus

$ sqlplus $ sqlplus

$ sqlplus ““““/as sysdba/as sysdba/as sysdba/as sysdba”””” SQL> shutdown SQL> shutdown SQL> shutdown SQL> shutdown または

SQL> alter diskgroup DATADG dismount; SQL> alter diskgroup DATADG dismount; SQL> alter diskgroup DATADG dismount; SQL> alter diskgroup DATADG dismount; ペアリストア(pairresync -restore)を実施する。 サスペンド状態(PSUS)からペア状態(PAIR)になる。 # pairresync # pairresync # pairresync

# pairresync ––––g Dg Dg Dg DATADG ATADG ATADG ––––restoreATADG restorerestorerestore ペア状態(PAIR)になったことを確認する。 # pairevtwait # pairevtwait # pairevtwait

# pairevtwait ––––g DATADG g DATADG g DATADG ––––s pair g DATADG s pair s pair s pair ––––t 9999t 9999t 9999 t 9999 ペア状態(PAIR)のままだと副ボリュームの内容が変更される恐れがあるので、 ペアをサスペンド状態(PSUS)にする。 # pairsplit # pairsplit # pairsplit

# pairsplit ––––g DATADGg DATADGg DATADGg DATADG

サスペンド状態(PSUS)になったことを確認する。 # pairevtwait

# pairevtwait # pairevtwait

# pairevtwait ––––g DATADG g DATADG g DATADG ––––s psus g DATADG s psus s psus s psus ––––t 9999t 9999t 9999t 9999 AMSインスタンスが起動していない場合は起動(startup)する。ディスクグループがMOUNTされていない場合は MOUNTする。 $ export ORACLE_SID=+ASM $ export ORACLE_SID=+ASM $ export ORACLE_SID=+ASM $ export ORACLE_SID=+ASM $ sqlplus $ sqlplus $ sqlplus

$ sqlplus ““““/as sysdba/as sysdba/as sysdba/as sysdba”””” SQL> startup

SQL> startup SQL> startup SQL> startup

(21)

または

SQL> alter diskgroup DATADG mount; SQL> alter diskgroup DATADG mount; SQL> alter diskgroup DATADG mount; SQL> alter diskgroup DATADG mount;

業務サーバにリストアしたデータベースを MOUNT で起動する。

完全リカバリまたは不完全リカバリ(Point-in-time リカバリ)を選択する。 Point-in-time リカバリは、"until SCN"または"until time"で指定できる。 $ RMAN> run { $ RMAN> run { $ RMAN> run { $ RMAN> run { recover database; recover database; recover database; recover database; }}}} または $ RMAN run { $ RMAN run { $ RMAN run { $ RMAN run {

set until time set until time set until time

set until time ’’’’12121212----maymaymaymay----06 15:3006 15:3006 15:3006 15:30’’’’;;;; recover database; recover database; recover database; recover database; }}}} データベースを起動(OPEN)する。

$ RMAN> alter database open; $ RMAN> alter database open; $ RMAN> alter database open; $ RMAN> alter database open;

不完全リカバリや制御ファイルを再作成した場合は、データベースを RESETLOGS で起動(OPEN)する。 RESETLOGS を実施した場合、通常はバックアップを取得してから業務を再開する。

$ RMAN> alter database open resetlogs; $ RMAN> alter database open resetlogs; $ RMAN> alter database open resetlogs; $ RMAN> alter database open resetlogs;

シナリオ3:ShadowImage を使った Oracle10g ASM のクローニング

ここでの手順は、ホットバックアップモードを使わずにOracle10g ASM データベースのクローンを作成する ものである。Point-in-Time コピーと呼ばれることもある。このコピーは、例えば、本番業務と全く同じデ ータベースを他のサーバの開発環境の構築に使用可能である。クローンを作成するために、ShadowImageグル ープには、データファイル、制御ファイル、REDO ログファイル、Flashback ログファイルが含まれている必 要がある。この、データベースのクローニングはShadowImageのコンシステントAt-Timeスプリット機能を使 って作成する。 PAIR 状態から開始する。必要に応じてペア生成(paircreate)またはペア再同期(pairresync)する。 # paircreate # paircreate # paircreate

# paircreate ––––g SIALLDB g SIALLDB g SIALLDB ––––vlg SIALLDB vlvl –m grpvl m grpm grpm grp または

# pairresync # pairresync # pairresync

# pairresync ––––g SIALLDBg SIALLDBg SIALLDBg SIALLDB ペアスプリットする。ペアグループは、コンシステンシーグループで作られているため整合性を保ったまま のスプリットとなる。 # pairsplit # pairsplit # pairsplit

(22)

22 ペアがサスペンド状態(PSUS) であることを確認する。 # pairevtwait # pairevtwait # pairevtwait

# pairevtwait ––––g SIALLDB g SIALLDB g SIALLDB ––––s psus g SIALLDB s psus s psus s psus ––––t 9999t 9999t 9999t 9999テストサーバでASMインスタンスを起動する。

テストサーバ上の ShadowImage の副ボリュームに対し、正しくパーミッションを設定されているか、 ASM_DISKSTRING や ASM_DISKGROUPS の指定が正しいかを確認する。 $ export ORACLE_SID=+ASM $ export ORACLE_SID=+ASM $ export ORACLE_SID=+ASM $ export ORACLE_SID=+ASM $ sqlplus $ sqlplus $ sqlplus

$ sqlplus ““““/as sysdba/as sysdba/as sysdba/as sysdba”””” SQL> startup SQL> startup SQL> startup SQL> startup テストサーバ上でクローンデータベースを MOUNT する。 $ export ORACLE_SID=db10asm $ export ORACLE_SID=db10asm $ export ORACLE_SID=db10asm $ export ORACLE_SID=db10asm $ sqlplus $ sqlplus $ sqlplus

$ sqlplus ““““/as sysdba/as sysdba/as sysdba/as sysdba”””” SQL> startup mount SQL> startup mount SQL> startup mount SQL> startup mount SQL> recover SQL> recover SQL> recover

SQL> recover database; database; database; database; SQL> exit SQL> exit SQL> exit SQL> exit この時点で、データベース名(ORACLE_SID)を変更できる。 変更する場合は、nidユーティリティを使う。 $ $ $

$ nid target=sys/manager1@test DBNAME=oratestnid target=sys/manager1@test DBNAME=oratestnid target=sys/manager1@test DBNAME=oratest nid target=sys/manager1@test DBNAME=oratest クローンデータベースをRESETLOGSでOPENする。 $ export ORACLE_SID=oratest $ export ORACLE_SID=oratest $ export ORACLE_SID=oratest $ export ORACLE_SID=oratest $ sqlplus $ sqlplus $ sqlplus

$ sqlplus ““““/as sysdba/as sysdba/as sysdba/as sysdba”””” SQL> startup mount SQL> startup mount SQL> startup mount SQL> startup mount

SQL> alter database open resetlogs; SQL> alter database open resetlogs; SQL> alter database open resetlogs; SQL> alter database open resetlogs;

テストサーバ上に複製されたデータベースはこれで使えるようになった。データベースはまるで電源障害に よって強制的にシャットダウンされたデータ状態になっているため、通常のリカバリ方法によって回復する のである。

シナリオ4:ShadowImage を使った Oracle10g のコールドバックアップ

Oracle10g ASM のコールドバックアップの手順は、1 つの例外を除き Oracle10g 非 ASM や Oracle9i の手順と 同じである。それは、コールドバックアップの取得する前に ASM インスタンスを停止させることである。(図 3を参照)

ShadowImage のコマンドを示す。これらは、TrueCopy や UR 単体で、あるいは TrueCopy や UR と遠隔地の ShadowImage のカスケード構成で使うこともできる。

この手順は、業務サーバのデータベースをシャットダウンし停止している間にコピーを作成するものである。 コンシステンシーグループ(At-time スプリットオプション)は必要ない。ShadowImage のペアグループには、 データファイル、制御ファイル、REDO ログファイル、フラッシュバックログなどすべてのファイルを含める。

(23)

図 図 図 図333. 3. . . コールドバックアップコールドバックアップ手順コールドバックアップコールドバックアップ手順手順の手順ののフローチャートのフローチャートフローチャートフローチャート コールドバックアップ処理の開始 データ表領域のペア再同期 (PSUS→PAIR) 制御ファイルのバックアップ データ表領域のバックアップ (PAIR→PSUS) コールドバックアップ処理の完了

RAID Manager SQL*Plus RMAN

データベースインスタンスの停止 ASMインスタンスの停止 ASMインスタンスの起動 データベースインスタンスの起動 不要になったアーカイブの削除 まず、ShadowImageペアを作成する(paircreate)。ペア状態がサスペンド(PSUS)であればペア再同期 (pairresync)をする。 # paircreate # paircreate # paircreate

# paircreate ––––g g g SIALLDB g SIALLDB SIALLDB SIALLDB ––––vlvlvl vl または

# pairresync # pairresync # pairresync

# pairresync ––––g SIALLDBg SIALLDBg SIALLDBg SIALLDB データベースインスタンスを停止し、続いてASMインスタンスを停止する。 $ export ORACLE_SID=db10asm $ export ORACLE_SID=db10asm $ export ORACLE_SID=db10asm $ export ORACLE_SID=db10asm $ sqlplus / as sysdba $ sqlplus / as sysdba $ sqlplus / as sysdba $ sqlplus / as sysdba SQL> shutdown SQL> shutdown SQL> shutdown SQL> shutdown $ export ORACL $ export ORACL $ export ORACL

$ export ORACLE_SID=+ASME_SID=+ASME_SID=+ASM E_SID=+ASM $ sqlplus / as sysdba $ sqlplus / as sysdba $ sqlplus / as sysdba $ sqlplus / as sysdba SQL> shutdown SQL> shutdown SQL> shutdown SQL> shutdown ペア分割(pairsplit)を実施し、サスペンド状態(PSUS)にする。 # pairsplit # pairsplit # pairsplit

# pairsplit ––––g SIALLDBg SIALLDBg SIALLDBg SIALLDB サスペンド状態(PSUS)になったことを確認する。 # pairevtwait # pairevtwait # pairevtwait

# pairevtwait ––––g SIALLDB g SIALLDB g SIALLDB ––––s psus g SIALLDB s psus s psus s psus ––––t 9999t 9999t 9999t 9999

これでShadowImageの副ボリュームはデータベースの有効なコピーとなった。作成したコピーは、業務サーバ へのリストアによる高速リカバリや、バックアップサーバでのRMANを使ったテープバックアップ、またはほ かのサーバでのテスト環境などに使用できる。

参照

関連したドキュメント

8.1 In § 8.1 ∼ § 8.3, we give some explicit formulas on the Jacobi functions, which are key to the proof of the Parseval-Plancherel type formula of branching laws of

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

The explicit treatment of the metaplectic representa- tion requires various methods from analysis and geometry, in addition to the algebraic methods; and it is our aim in a series

We have avoided most of the references to the theory of semisimple Lie groups and representation theory, and instead given direct constructions of the key objects, such as for

Bipartite maps (also called hypermaps, or dessins d’enfants ) : vertices are either black or white, and monochromatic edges

Flexstar GT 3.5 may be applied as a preplant or preemergence burndown application in cotton or as a postemergence directed application in glyphosate-tolerant (GT) cotton* and as

into burst−mode. In burst−mode, switching operation is halted when V COMP is lower than V BURL and resumed when V COMP is higher than V BURH. By skipping un-needed switching

At startup, an internal high−voltage(HV) startup circuit connecting the DRAIN pin supplies a constant startup current to internal circuits while charging the rest of current