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

Oracle Data Guard / Oracle GoldenGate 高可用性のための実践 Tips 製品戦略統括本部戦略製品ソリューション本部 Principal Sales Consultant 後藤陽介

N/A
N/A
Protected

Academic year: 2021

シェア "Oracle Data Guard / Oracle GoldenGate 高可用性のための実践 Tips 製品戦略統括本部戦略製品ソリューション本部 Principal Sales Consultant 後藤陽介"

Copied!
67
0
0

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

全文

(1)
(2)

Oracle Data Guard / Oracle

GoldenGate 高可用性のための

実践Tips

製品戦略統括本部 戦略製品ソリューション本部

Principal Sales Consultant

(3)

以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。

また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことは

できません。以下の事項は、マテリアルやコード、機能を提供することをコミットメン

ト(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さ

い。オラクル製品に関して記載されている機能の開発、リリースおよび時期につい

ては、弊社の裁量により決定されます。

OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。

文中の社名、商品名等は各社の商標または登録商標である場合があります。

(4)

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 4

Oracle Maximum Availability Architecture (MAA)

ノード障害

データ障害

システム変更

アプリ変更

Real Application Clusters

Flashback

RMAN & Oracle Secure Backup

ASM

Active Data Guard

GoldenGate

Online Reconfiguration

Rolling Upgrades

Edition-based Redefinition

Ora

cle

M

A

A

Be

st Pr

ac

tice

s

Online Redefinition

データ変更

MAA を構成する機能・製品

計画外停止

計画停止

(5)

アジェンダ

前半:Oracle Data Guard のTips

(6)

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 6

前半アジェンダ

データ破損対策としての Data Guard

データロス・ゼロのフェイルオーバー

RACスタンバイでの適用インスタンスの可用性

スタンバイDBの賢い構築法

Data Guard と GoldenGateの違い

(7)

データ破損対策としての Data Guard

Data Guard のアーキテクチャ

データファイル

オンライン

REDOログ

REDO転送

ログバッファまたはオンラインREDOログ

からREDOを転送、スタンバイ側で受信

ログ

バッファ

ログ

バッファ

LGWR

NSS/NSA

RFS

アーカイブ

ログ

データファイル

スタンバイ

REDOログ

REDO適用

リカバリの仕組みでREDO

を逐次適用

MRP

サーバー

プロセス

アーカイブ

ログ

プライマリ

スタンバイ

データファイルはデータブロックレベルで等しいが、

データファイルをコピーしているわけではない

(8)

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 8

データ破損対策としての Data Guard

プライマリのデータファイル破損をスタンバイから復旧

データファイル

オンライン

REDOログ

ログ

バッファ

ログ

バッファ

LGWR

NSS/NSA

RFS

アーカイブ

ログ

データファイル

スタンバイ

REDOログ

MRP

サーバー

プロセス

アーカイブ

ログ

プライマリ

スタンバイ

リストア / リカバリ

プライマリのデータファイルが破損しても、スタンバイのデータファイルは破損しない

(9)

データ破損対策としての Data Guard

Active Data Guard による、自動ブロック修復(Oracle 11gR2)

MAX(C1)

---

5000

②ブロック破損

の検知

④スタンバイ側の正常な

ブロックを自動的に転送

③スタンバイに正常

ブロックを要求

⑤自動的に

修復

①SQL発行

⑥エラーなく

結果が返る

Waiting Auto BMR response

for (file# 7, block# 261)

Auto BMR successful

Requesting Auto BMR for

(file# 7, block# 261)

alert

alert

SQL> SELECT max(c1)

FROM tab1;

破損を自動的に修復。アプリケーションは障害に気づかない

※ Active Data Guard オプション

があれば使用可能

(10)

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 10

データ破損対策としての Data Guard

REDO転送は同期でも非同期でも良い

タイムアウト(60秒)に達するまでに、

正常ブロックがスタンバイに適用されていれば

自動ブロック修復は動作する

自動ブロック修復の動き

(11)

データ破損対策としての Data Guard

ストレージ層の障害により書き込みに失敗しているにも関わらず、

OSに対して正常完了の通知を返す

更新(update)のトランザクションでLost Writeが起こると?

次のトランザクションがLost Writeのブロックにアクセスしてもエラーにならない

ディスク上のデータは更新前のままだが、アプリケーションは更新後

のデータとして扱う

正しくないデータをユーザー/顧客に提供するリスク

Oracleが障害を検知するまでに時間がかかるケースがある

Lost Write

(12)

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 12

データ破損対策としての Data Guard

初期化パラメータ(Oracle 11.1 以降)

DB_LOST_WRITE_PROTECT

TYPICAL:

read / write の表領域について、バッファキャッシュ読み取りをREDOに記録

FULL:

read / write, read-onlyの表領域について、バッファキャッシュ読み取りをREDOに記録

プライマリから受信したREDOブロックのSCNとフィジカル・スタンバイ上のSCNを比較する

プライマリのSCNがスタンバイのSCNより低い場合、スタンバイはLost Write を検知

ORA-00752: recovery detected a lost write of a data block

ORA-10567: Redo is inconsistent with data block (file# 7, block# 26)

ORA-10564: tablespace TBS_2

ORA-01110: data file 7: '/oracle/dbs/btbs_21.f'

ORA-10561: block type 'TRANSACTION MANAGED DATA BLOCK', data object# 57503

スタンバイにフェイルオーバーすることで復旧

SQL> ALTER DATABASE ACTIVATE STANDBY DATABASE;

参考:MOS Note 1265884.1 - Resolving ORA-752 or ORA-600 [3020] During Standby Recovery

(13)

(参考)計画外停止の主な要因(過去3年)

2012 IOUG Database Availability Survey アンケート結果より

(14)

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 14

データ破損は I/Oのあらゆる層で起こり得る障害

Oracleは、ブロック構造を理解したデータ検証、破損検知、修復が可能

DB_BLOCK_CHECKSUM

DB_BLOCK_CHECKING

DB_LOST_WRITE_PROTECT

ASM

Flashback Technology

Active Data Guard 自動ブロック修復

Oracle DBによるデータ破損対策の全体像

Preventing, Detecting, and Repairing Block Corruption: Oracle Database 11g

http://www.oracle.com/technetwork/database/availability/maa-datacorruption-bestpractices-396464.pdf

ビルトインされた Data Validation

Disk

FC / TCP/IP

Disk Firmware

HBA / NIC

SAN/NAS

Device Driver

OS

CPU/Memory

I/

O

P

A

T

H

(参考)Oracle DBによるデータ破損対策

(15)

前半アジェンダ

データ破損対策としての Data Guard

データロス・ゼロのフェイルオーバー

RACスタンバイでの適用インスタンスの可用性

スタンバイDBの賢い構築法

Data Guard と GoldenGateの違い

(16)

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 16

データロス・ゼロのフェイルオーバー

スイッチオーバー

計画停止用途

データロスなしを保証

Data Guard の切り替え操作

フェイルオーバー

計画外停止用途

同期転送ならデータロスなし

非同期転送ならデータロストあり

(未転送データ分)

(17)

データロス・ゼロのフェイルオーバー

システム表領域破損でデータベースをオープンできない

スタンバイへのフェイルオーバーは可能、但しデータロスは?

障害の例

SQL> alter database open; --- primary cannot be opened

alter database open

*

ERROR at line 1:

ORA-01122: database file 1 failed verification check

ORA-01110: data file 1: '/home/oracle/dbs/t_db1.f'

ORA-01210: data file header is media corrupt

(18)

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 18

データロス・ゼロのフェイルオーバー

以下の条件で、未転送データをスタンバイに強制転送(Oracle 11.2以降)

プライマリDBがマウント可能(データファイルは不要)

制御ファイル、オンライン/アーカイブREDOログにアクセス可能

※条件を満たせばデータ・ロス・ゼロのフェイルオーバーが可能

実行コマンド

SQL> alter system flush redo to ‘boston’;

(スタンバイに適用されるまでコマンドレスポンスを待つ)

SQL> alter system flush redo to ‘boston‘ no confirm apply;

(スタンバイに転送されるまでコマンドレスポンスを待つ)

(19)

データロス・ゼロのフェイルオーバー

アラート・ログ出力

Media Recovery: FLUSH REDO EOR logs encountered.

Media Recovery recovers through FLUSH REDO EOR logs.

Tue Aug 30 21:45:36 2011

…………

Standby switchover readiness check: Checking whether recovery

applied all redo..

Physical Standby applied all the redo from the primary.

データロス・ゼロのフェイルオーバーを実行可能

(20)

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 20

前半アジェンダ

データ破損対策としての Data Guard

データロス・ゼロのフェイルオーバー

RACスタンバイでの適用インスタンスの可用性

スタンバイDBの賢い構築法

Data Guard と GoldenGateの違い

(21)

RACスタンバイでの適用インスタンスの可用性

overview

スタンバイがRACの場合、

REDO適用は1インスタンスの

みで行われる

適用インスタンスがダウンした

時の対応は?

Solution: Data Guard Broker

REDO転送

Active Standby Instances

Apply Instance

N1

N1

N2

N2

N3

N3

(22)

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 22

RACスタンバイでの適用インスタンスの可用性

PreferredApplyInstance: 優先する適用インスタンス

ApplyInstanceTimeout: 適用インスタンスの障害を検知して、他のインスタンスへのフェ

イルオーバー時間(デフォルト0秒)

フェイルオーバー時の挙動

PreferredApplyInstance が使用可能であれば、使う

PreferredApplyInstance が使用できない場合はランダムに選択される

Active Data Guardの場合

障害前にオープンしていたインスタンスは、Brokerにより自動的にオープンされる

(23)

前半アジェンダ

データ破損対策としての Data Guard

データロス・ゼロのフェイルオーバー

RACスタンバイでの適用インスタンスの可用性

スタンバイDBの賢い構築法

Data Guard と GoldenGateの違い

(24)

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 24

スタンバイDBの賢い構築方法

1.

プライマリDBを設定(

Force logging / アーカイブ・ログ・モード)

2.

初期化パラメータの設定

3.

データベースファイルをスタンバイにコピー(

バックアップ / リストア or ネットワーク転送)

4.

REDOログの作成

5.

管理リカバリプロセスの開始

懸念

バックアップ / リストアの領域が必要。取得に時間がかかる

データファイルを直接コピーし、バックアップ / リストアを不要にする

ネットワーク帯域が狭いと、転送に時間がかかる

バックアップを圧縮して、転送量を抑える

一般的なスタンバイの構築方法

(25)

スタンバイDBの賢い構築方法

RMANでスタンバイ構築を最適化

パターン

手法

使用ポイント

使用可能バージョン

(1)

プライマリDBから直接コ

ピーして作成

(Duplicate from Active

Database)

•ネットワーク帯域が広い場合に有効

•バックアップ用領域が確保できない場合に有効

•DBサイズ / 帯域 で試算可能

•本番DBファイルに長時間のアクセスが発生 する

11gR1以降

(2)

プライマリDBの高速圧縮

バックアップから作成

(Advanced Compression)

• 圧縮率が高く、ネットワーク帯域が狭い場合に有効

•(3)より高速

•マルチセクション・バックアップによる高速化が可能

•試算にはバックアップ/リストアの性能と圧縮率が必要

11gR1以降

(3)

プライマリDBの標準圧縮

バックアップから作成

• 圧縮率が高く、ネットワーク帯域が狭い場合に有効

•(2)より低速

•試算にはバックアップ/リストアの性能と圧縮率が必要

10gR1以降

(26)

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 26

スタンバイDBの賢い構築方法

検証結果

処理内容

(1)

(2)

(3)

Backup

プライマリDBのバック

アップを取得

N/A

0:18:24

0:32:28

SCP

バックアップをスタンバイ

DBサーバーに転送

N/A

0:29:11

0:26:23

Nomount

スタンバイDBインスタン

スを起動

0:00:04

0:00:04

0:00:06

Duplicate

DBリストアとREDOログ

ファイルの作成

3:39:01

0:24:40

0:41:33

StartMRP

スタンバイDBのリカバリ

プロセスを起動

0:00:06

0:00:07

0:00:07

合計

3:39:11

1:12:26

1:40:37

検証環境

4 core のIAサーバー

メモリ8GB

Oracle Linux 5.3 (64bit)

Oracle 11.2.0.2 (single)

ネットワーク帯域40Mbps (実効4.6MB/s程度)

テストデータ

データファイル57GB (データサイズ52GB)

(27)

スタンバイDBの賢い構築方法

ファイル転送性能

ネットワーク帯域に依存

本検証は実効4.6MB/s

バックアップ/リストア性能

ストレージI/O 性能と圧縮率に依存

本検証では高い圧縮効果

高速圧縮(2) : バックアップサイズ 7.9GB

標準圧縮(3) : バックアップサイズ 7.1GB

ポイントとなる性能値

(参考)RMANの圧縮機能

未使用ブロック圧縮 : 未使用のデータブロックは

スキップされる

バイナリ圧縮 : バックアップ出力時に圧縮アルゴリ

ズムを適用

データファイルサイズ 57.2GB

52.8GB

7.9GB

未使用ブロック圧縮

バイナリ圧縮

(例)パターン(2)の場合

- 4.4GB

6.7倍

(28)

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 28

参考:検証で使用したスクリプト抜粋:パターン(1)

#!/bin/sh

# 本スクリプトは、以下の作業後にスタンバイで実行します。

# 1. スタンバイにはlistener.oraで静的サービスを登録し、Nomoutでも接続可能な状態

# 2. パスワード・ファイルはプライマリのコピーをスタンバイのSIDに合わせてrenameし、

$ORACLE_HOME/dbsに配置済み

# 3. スタンバイ用の初期化パラメータファイルを作成済み

LOGDIR=<ログディレクトリ>

PRIMARYDB=<プライマリの接続記述子>

STANDBYDB=<スタンバイの接続記述子>

PASSWORD=<パスワード>

mkdir -p ${LOGDIR}

echo "Nomount,`date +%y%m%d,%H%M%S`" >> ${LOGDIR}/time.log

sqlplus / as sysdba <<EOF

startup nomount

exit

EOF

echo "Duplicate,`date +%y%m%d,%H%M%S`" >> ${LOGDIR}/time.log

(

echo "run{

CONFIGURE DEVICE TYPE DISK PARALLELISM 1;

duplicate target database for standby from active database;

}"

echo "exit"

) | rman target sys/${PASSWORD}@${PRIMARYDB} auxiliary

sys/oracle@{STANDBYDB} > ${LOGDIR}/duplicate.log

echo "StartMRP,`date +%y%m%d,%H%M%S`" >> ${LOGDIR}/time.log

sqlplus / as sysdba <<EOF

alter database recover managed standby database using current logfile disconnect;

exit

EOF

(29)

参考:検証で使用したスクリプト抜粋:パターン(2)

#!/bin/sh # 本スクリプトは、以下の作業後にスタンバイで実行します。 # 1. スタンバイにはlistener.oraで静的サービスを登録し、Nomoutでも接続可能な状態 # 2. パスワード・ファイルはプライマリのコピーをスタンバイのSIDに合わせてrenameし、$ORACLE_HOME/dbsに 配置済み # 3. スタンバイ用の初期化パラメータファイルを作成済み LOGDIR=<ログディレクトリ> BACKUPDIR=<バックアップ出力先のディレクトリ> PRIMARYHOST=<プライマリのホスト名> PRIMARYDB=<プライマリの接続記述子> STANDBYDB=<スタンバイの接続記述子> PASSWORD=<パスワード> mkdir -p ${LOGDIR}

echo "Backup,`date +%y%m%d,%H%M%S`" >> ${LOGDIR}/time.log

# 圧縮アルゴリズムの設定方法はOracleバージョンにより異なります。本スクリプトは 11.2 のものです (

echo "run {

CONFIGURE DEVICE TYPE DISK PARALLELISM 4; configure compression ALGORITHM 'medium';

backup as compressed backupset section size 500M DEVICE TYPE DISK FORMAT '${BACKUPDIR}/%U' database plus archivelog;

BACKUP DEVICE TYPE DISK FORMAT ''${BACKUPDIR}/%U' CURRENT CONTROLFILE FOR STANDBY; }"

echo "exit"

)| rman target sys/${PASSWORD}@$<PRIMARYDB> > ${LOGDIR}/backup.log

echo "SCP,`date +%y%m%d,%H%M%S`" >> ${LOGDIR}/time.log scp -rp ${PRIMARYHOST}:${BACKUPDIR}/* ${BACKUPDIR}

du -h ${BACKUPDIR} > ${LOGDIR}/size_of_backup.log

echo "Normount,`date +%y%m%d,%H%M%S`" >> ${LOGDIR}/time.log

sqlplus / as sysdba <<EOF

startup nomount

exit

EOF

echo "Duplicate,`date +%y%m%d,%H%M%S`" >> ${LOGDIR}/time.log

(

echo "run{

CONFIGURE DEVICE TYPE DISK PARALLELISM 4;

DUPLICATE TARGET DATABASE FOR STANDBY;

}"

echo "exit"

) | rman target sys/${PASSWORD}@${PRIMARYDB} auxiliary sys/oracle@${STANDBYDB} >

${LOGDIR}/duplicate.log

echo "StartMRP,`date +%y%m%d,%H%M%S`" >> ${LOGDIR}/time.log

sqlplus / as sysdba <<EOF

alter database recover managed standby database using current logfile disconnect;

exit

EOF

(30)

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 30

参考:検証で使用したスクリプト抜粋:パターン(3)

#!/bin/sh # 本スクリプトは、以下の作業後にスタンバイで実行します。 # 1. スタンバイにはlistener.oraで静的サービスを登録し、Nomoutでも接続可能な状態 # 2. パスワード・ファイルはプライマリのコピーをスタンバイのSIDに合わせてrenameし、$ORACLE_HOME/dbsに 配置済み # 3. スタンバイ用の初期化パラメータファイルを作成済み # ※ 10gの場合、スタンバイ制御のバックアップが個別に必要です。詳細はマニュアルをご参照ください。 LOGDIR=<ログディレクトリ> BACKUPDIR=<バックアップ出力先のディレクトリ> PRIMARYHOST=<プライマリのホスト名> PRIMARYDB=<プライマリの接続記述子> STANDBYDB=<スタンバイの接続記述子> PASSWORD=<パスワード> mkdir -p ${LOGDIR}

echo "Backup,`date +%y%m%d,%H%M%S`" >> ${LOGDIR}/time.log

# 圧縮アルゴリズムの設定方法はOracleバージョンにより異なります。本スクリプトは 11.2 のものです (

echo "run {

CONFIGURE DEVICE TYPE DISK PARALLELISM 4; configure compression ALGORITHM 'basic';

backup as compressed backupset DEVICE TYPE DISK FORMAT '${BACKUPDIR}/%U' database plus archivelog;

BACKUP DEVICE TYPE DISK FORMAT '${BACKUPDIR}/%U' CURRENT CONTROLFILE FOR STANDBY; }"

echo "exit"

)| rman target sys/${PASSWORD}@${PRIMARYDB} > ${LOGDIR}/backup.log

echo "SCP,`date +%y%m%d,%H%M%S`" >> ${LOGDIR}/time.log scp -rp ${PRIMARYHOST}:${BACKUPDIR}/* ${BACKUPDIR}

du -h ${BACKUPDIR} > ${LOGDIR}/size_of_backup.log

echo "Normount,`date +%y%m%d,%H%M%S`" >> ${LOGDIR}/time.log

sqlplus / as sysdba <<EOF

startup nomount

exit

EOF

echo "Duplicate,`date +%y%m%d,%H%M%S`" >> ${LOGDIR}/time.log

(

echo "run{

CONFIGURE DEVICE TYPE DISK PARALLELISM 4;

DUPLICATE TARGET DATABASE FOR STANDBY;

}"

echo "exit"

) | rman target sys/${PASSWORD}@${PRIMARYDB} auxiliary sys/oracle@${STANDBYDB} >

${LOGDIR}/duplicate.log

echo "StartMRP,`date +%y%m%d,%H%M%S`" >> ${LOGDIR}/time.log

sqlplus / as sysdba <<EOF

alter database recover managed standby database using current logfile disconnect;

exit

EOF

(31)

前半アジェンダ

データ破損対策としての Data Guard

データロス・ゼロのフェイルオーバー

RACスタンバイでの適用インスタンスの可用性

スタンバイDBの賢い構築法

Data Guard と GoldenGateの違い

(32)

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 32

Data Guard と GoldenGate の違い

DBの完全なコピーに特化し

て、性能・管理性・データ保護

考慮されたアーキテクチャ

REDO適用によるデータ同期

アーキテクチャ

ログ

バッファ

ログ

バッファ

NSS

/ NSA

RFS

データファイル

データファイル

オンライン

REDOログ

Data Guard

LGWR

REDOログ

Capture

Trail

Files

Pump

Trail

Delivery

Files

GoldenGate

DBとの分離性、プロセス毎

の分離性、構成の柔軟性が

考慮されたアーキテクチャ

SQL適用によるデータ同期

MRP

スタンバイ

REDOログ

(33)

Data Guard と GoldenGate の違い

データレプリケーションと切り替えの考え方

Data Guard

 DBレベルで正(プライマリ)、副(スタンバ

イ)の概念を持つ

 実運用を想定した切り替え機能(スイッチ

オーバー / フェイルオーバー)を持つ

GoldenGate

 正 / 副の考え方はない。Read / Write 可能

なDB間のデータレプリケーション

 GoldenGate は、DB間の更新トランザク

ションのレプリケーションをするのみ。実運

用での切り替え手順は管理者が考える必

要がある

(34)

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 34

Data Guard と GoldenGate の違い

出来ること、出来ないこと

Data Guardだけが出来ること

 同期転送

 データ破損検知・修復

- 自動ブロック修復(Active Data Guard)

- DB_LOST_WRITE_PROTECT

 スタンバイのバックアップをプライマリにリス

トア

 自動フェイルオーバー

(Data Guard Broker)

 全てのデータ型・オブジェクトに対応

GoldenGateだけが出来ること

 Active-Active構成(両DBで書き込み可能)

 異OSかつ異バージョン間の

レプリケーション

 表単位のレプリケーション

 複数DBから単一DBへ集約

 フィルタ / 変換処理をかませたレプリケー

ション

 Standard Editionのレプリケーション

(35)

前半アジェンダ

データ破壊対策としての Data Guard

データロス・ゼロのフェイルオーバー

RACスタンバイでの適用インスタンスの可用性

スタンバイDBの賢い構築法

Data Guard と GoldenGateの違い

(36)

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 36

(37)
(38)

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 1

(39)

Oracle Data Guard / Oracle

GoldenGate 高可用性のための

実践Tips

日本オラクル株式会社

テクノロジーソリューションコンサルティング統括本部

テクニカルアーキテクト本部 データベースアーキテクト部

シニアコンサルタント

浅井 純

(40)

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 3

以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。

また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことは

できません。以下の事項は、マテリアルやコード、機能を提供することをコミットメン

ト(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さ

い。オラクル製品に関して記載されている機能の開発、リリースおよび時期につい

ては、弊社の裁量により決定されます。

OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。

文中の社名、商品名等は各社の商標または登録商標である場合があります。

(41)

アジェンダ

前半:Oracle Data Guard の Tips

(42)

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 5

後半アジェンダ

Oracle GoldenGate 基本アーキテクチャ

GoldenGate 自動フェイル・オーバー設計

自動フェイル・オーバー設計以外の高可用性検討事項

【前提条件】

Real Application Clusters 環境(ソース/ターゲットともに)

(43)

Oracle GoldenGate 基本アーキテクチャ

Oracle GoldenGate

Trail

ファイル

差分ログ

ソース

ターゲット

OS

Oracle GoldenGate

Trail

ファイル

OS

ターゲット

データベース

ソース

データベース

データベースの差分ログを

Trailファイル

という汎用的なフォーマットに変換して転送

各プロセスの進行状況は

チェックポイントファイル(バイナリファイルまたはデータベース上の表)

に保存

上記の構成の他に、データベース・サーバとは別のサーバにGoldenGateを切り出す構成などが可能

チェックポイント

ファイル

チェックポイント

ファイル

チェックポイント

ファイル

抽出プロセス

Extract

(Capture)

転送プロセス

Extract

(Data Pump)

管理プロセス

Manager

受信プロセス

Collector

適用プロセス

Replicat

管理プロセス

Manager

チェック

ポイント表

(44)

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 7

後半アジェンダ

Oracle GoldenGate 基本アーキテクチャ

GoldenGate 自動フェイル・オーバー設計

自動フェイル・オーバー設計以外の高可用性検討事項

【前提条件】

Real Application Clusters 環境(ソース/ターゲットともに)

(45)

GoldenGate の自動フェイル・オーバー設計

GoldenGate の各プロセスは 1 ノードのみで稼働

接続先ノードを意識させないためのアプリケーション VIP の作成

フェイル・オーバー後の伝播再開のために必要なファイルを共有領域に配

【参考】 NOTE:1313703.1 Oracle GoldenGate Best Practices: Oracle

GoldenGate high availability using Oracle Clusterware

(46)

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 9

GoldenGate の自動フェイル・オーバー設計

ソース/ターゲット別に GoldenGate を稼働させるノードは1つ

ソース/ターゲットとも複数の GoldenGate プロセスを 1 ノードで稼働させる

Managerプロセス : Oracle Clusterware による管理

Managerプロセス以外 : <起動> Manager プロセスによる管理

<停止> Oracle Clusterware による管理

各 GoldenGate プロセスの稼働ノード

Oracle Grid Infrastracture

ターゲット

Oracle Grid Infrastracture

ソース

Capture

Data Pump

Manager

Collector

Replicat

Manager

起動

停止

フェイル・

オーバー

フェイル・

オーバー

Capture

Data Pump

Manager

Collector

Replicat

(47)

GoldenGate の自動フェイル・オーバー設計

接続先を意識させないためのアプリケーション VIP

ターゲット側フェイル・オーバーを意識させない為の設定

Data Pump プロセスの接続先としてアプリケーション VIP を用意

GoldenGate 用アプリケーション VIP の作成

Oracle Grid Infrastracture

ターゲット

Oracle Grid Infrastracture

ソース

Data Pump

Collector

APP VIP

Manager

(48)

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 11

Oracle Grid Infrastracture

GoldenGate の自動フェイル・オーバー設計

接続先を意識させないためのアプリケーション VIP

ターゲット側フェイル・オーバーを意識させない為の設定

Data Pump プロセスの接続先としてアプリケーション VIP を用意

GoldenGate 用アプリケーション VIP の作成

ターゲット

Oracle Grid Infrastracture

ソース

Data Pump

Collector

APP VIP

Manager

(49)

Oracle Grid Infrastracture

GoldenGate の自動フェイル・オーバー設計

以下の 2 つのリソースをOracle Clusterware に登録して、同一ノードで稼

働するように設計

GoldenGate 用アプリケーション VIP

Manager プロセス管理用 GoldenGate リソース

Oracle Clusterware に登録するリソース

ターゲット

Oracle Grid Infrastracture

ソース

APP VIP

GGAPP(Manager)

APP VIP

GGAPP(Manager)

APP VIP

GGAPP(Manager)

APP VIP

GGAPP(Manager)

フェイル・

オーバー

フェイル・

オーバー

(50)

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 13

Capture

Data Pump

Collector

Replicat

GoldenGate の自動フェイル・オーバー設計

自動フェイル・オーバーのための Oracle Clusterware へのリソース登録

DB

Instance

GGAPP(Manager)

ASM

Instance

APP Vip

強い依存性

プルアップ依存性

GoldenGate 設定

による依存関係

【開始の依存関係】

DBLOGREADER

の場合

ASMUSER /

ASMPASSWORD の場合

Network

DB

Instance

GGAPP(Manager)

ASM

Instance

APP Vip

Capture

Data Pump

Collector

Replicat

強い依存性

【停止の依存関係】

(51)

GoldenGate の自動フェイル・オーバー設計

フェイル・オーバーを考慮して必要なファイルを共有領域に配置

上記以外にも以下の関連ファイルの配置が必要

アーカイブ REDO ログ・ファイル/パラメータ・ファイル/プロセス状態ファイル/

レポート・ファイル/ Discard ファイル/ Bounded Recovery ファイル(ソースのみ)

共有領域への配置が必要な GoldenGate 関連ファイル

ソース

Trail ファイル

チェックポイント

ファイル

チェックポイント

ファイル

Capture

Data Pump

Trail ファイル

チェックポイント

ファイル

Collector

Replicat

ターゲット

(52)

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 15

GoldenGate の自動フェイル・オーバー設計

共有領域への配置が必要な GoldenGate 関連ファイル

Trail ファイル

チェックポイント

ファイル

Collector

Replicat

ターゲット

Capture

Data Pump

ソース

Trail ファイル

チェックポイント

ファイル

チェックポイント

ファイル

Capture

Data Pump

フェイル・オーバーを考慮して必要なファイルを共有領域に配置

上記以外にも以下の関連ファイルの配置が必要

アーカイブ REDO ログ・ファイル/パラメータ・ファイル/プロセス状態ファイル/

レポート・ファイル/ Discard ファイル/ Bounded Recovery ファイル(ソースのみ)

(53)

GoldenGate の自動フェイル・オーバー設計

共有領域に配置

共有領域の耐障害性の検討が必要

各ノードのローカルに配置

共有領域に配置が必要なファイルのうち、出力先設定変更ができないファイル

はシンボリック・リンク等で共有領域に配置させる

GoldenGate バイナリの配置先

(54)

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 17

後半アジェンダ

Oracle GoldenGate 基本アーキテクチャ

GoldenGate 自動フェイル・オーバー設計

自動フェイル・オーバー設計以外の高可用性検討事項

【前提条件】

Real Application Clusters 環境(ソース/ターゲットともに)

(55)

自動フェイル・オーバー設計以外の高可用性検討事項

共有領域が準備できないケース

ACFS / DBFS を活用する場合の考慮事項

Trail ファイルのデータ欠落の防止

共有領域マウント設定の考慮事項

フェイル・オーバーを伴わない障害発生時のデータ伝播の継続

接続先インスタンス設定の考慮事項

Collector プロセスの TIMEOUT 設定

(56)

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 19

自動フェイル・オーバー設計以外の高可用性検討事項

ACFS ( Automatic Storage Management (ASM) Cluster File System )

GoldenGate バイナリは配置制限あり。

ACFS は複数ノードでマウント可能。但し、 GoldenGate 稼働ノード以外でプロ

セスのステータスを確認すると正しくないステータスが表示される。

【参考】 NOTE:1350133.1 OGG displaying incorrect status from inactive node

⇒ ACFS を使用する場合は以下のどちらかで対応

ACFS を 1 ノードでのみマウント

GoldenGate 稼働ノードでのみで操作 ( GoldenGate バイナリはローカルに配置)

(57)

自動フェイル・オーバー設計以外の高可用性検討事項

DBFS ( DataBase File System )

Exadata 環境では ACFS が利用できないため、 DBFS を利用

Bounded Recovery ファイルのみ配置制限あり。

GoldenGate 11.2以降、かつ、Oracle Database 11.2以降

DBFS は複数ノードでマウントすることは可能。但し、複数ノードでマウントされ

た状態ではファイル・ロッキング機能がサポートされない。

⇒ DBFS を使用する場合は1ノードのみマウントさせる。

共有領域が準備できないケース

(58)

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 21

自動フェイル・オーバー設計以外の高可用性検討事項

共有領域へのTrailファイル書き込み時にデータ欠落する可能性

Trail ファイルへの書き込み内容がディスクにフラッシュされる前に障害が発生

するケース

共有領域のマウント設定で書き込み時のディスクへのフラッシュを強制させ

ることで防止可能

【参考】 NOTE:1232303.1 Oracle GoldenGate Best Practice: NFS Mount

options for use with GoldenGate

(59)

自動フェイル・オーバー設計以外の高可用性検討事項

障害復旧後、欠落したデータが再伝播されて補完される可能性がある。

障害時に Trail ファイルに書き込みを行うプロセスも停止する。

障害復旧後のプロセス再起動で、書き込み先 Trail ファイルが切り替えられる。

Trail ファイル読み込み側プロセスのチェックポイント情報と Trail ファイルの

不整合が発生した場合、プロセスが停止する。

【参考】 NOTE:1138409.1 OGG EXTRACT / REPLICAT CHECKPOINT RBA

IS LARGER THAN LOCAL TRAIL SIZE

Trail ファイルのデータ欠落の防止

ディスク書き込み済みデータ

ディスク書き込み未済データ

ディスク書き込み未済データ

Trailファイルnnn

Trailファイルnnn+1

から消失する範囲

障害時にファイル

障害復旧後に次のTrailに

書き出される

障害発生前の書き

込み完了位置

実際のTrailファイル

のEOFの位置

(60)

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 23

自動フェイル・オーバー設計以外の高可用性検討事項

Classic Capture / Replicat からデータベースへの接続方法

データベース・インスタンス障害を考慮して、接続時フェイル・オーバーを設定

複数プロセス構成で、接続先インスタンスを分散させる

接続先インスタンス設定の考慮事項

ターゲット

Capture

Replicat

ソース

DB Instance

DB Instance

Replicat

tnsnames.ora

DB Instance

DB Instance

tnsnames.ora

Capture

tnsnames.ora

フェイル・

オーバー

(61)

自動フェイル・オーバー設計以外の高可用性検討事項

GoldenGate パラメータは共通

各ノードの tnsnames.ora は異なる

自ノードのインスタンスに優先的に接

続するように設定

インスタンス障害を考慮した接続時フェイル・オーバーの設定

Extract CAP01

USERID gguser

@ggcap

, PASSWORD oracle

・・・・・

cap01.prm (Capture のパラメータ)【共有領域に配置】

GGCAP =

(DESCRIPTION =

・・・・・

(ADDRESS=(PROTOCOL=TCP)(HOST=racsrc1-vip)(PORT=1521))

(ADDRESS=(PROTOCOL=TCP)(HOST=racsrc2-vip)(PORT=1521))

・・・・・

tnsnames.ora 【1号機側】

Capture

DB Instance

tnsnames.ora

Capture

tnsnames.ora

フェイル・

オーバー

DB Instance

#1

#2

GGCAP =

(DESCRIPTION =

・・・・・

(ADDRESS=(PROTOCOL=TCP)(HOST=racsrc2-vip)(PORT=1521))

(ADDRESS=(PROTOCOL=TCP)(HOST=racsrc1-vip)(PORT=1521))

・・・・・

tnsnames.ora 【2号機側】

(62)

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 25

自動フェイル・オーバー設計以外の高可用性検討事項

GoldenGate パラメータで Replicat

毎に接続先を変更

tnsnames.ora でそれぞれの接続先

設定を定義

複数プロセス構成で接続先インスタンスの分散

Replicat REP01

USERID gguser

@ggrep1

, PASSWORD oracle

・・・・・

rep01.prm (Replicat のパラメータ)【共有領域に配置】

GGREP1 =

・・・・・

(ADDRESS=(PROTOCOL=TCP)(HOST=ractrg1-vip)(PORT=1521))

(ADDRESS=(PROTOCOL=TCP)(HOST=ractrg2-vip)(PORT=1521))

・・・・・

GGREP2 =

・・・・・

(ADDRESS=(PROTOCOL=TCP)(HOST=ractrg2-vip)(PORT=1521))

(ADDRESS=(PROTOCOL=TCP)(HOST=ractrg1-vip)(PORT=1521))

・・・・・

tnsnames.ora 【1号機側】

Replicat REP01

USERID gguser

@ggrep2

, PASSWORD oracle

・・・・・

rep02.prm (Replicat のパラメータ)【共有領域に配置】

Replicat

Replicat

DB Instance

DB Instance

tnsnames.ora

#1

#2

(63)

Oracle Grid Infrastracture

自動フェイル・オーバー設計以外の高可用性検討事項

Data Pump プロセスのフェイル・オーバー発生のケース

Collector プロセスは障害発生時に停止しない

フェイル・オーバー発生前の Collector プロセスが起動したままの場合、新たに

起動された Collector プロセスと競合してデータ伝播が再開できない

⇒フェイル・オーバー時間を考慮して Collector の TIMEOUT を設定

Collector プロセスの TIMEOUT 設定

ターゲット

Oracle Grid Infrastracture

ソース

Data Pump

Collector

Collector

Manager

Data Pump

①障害発生

②伝播停止

③フェイル・

オーバー

④ Collector

起動依頼

⑤ Collector

起動

独立して

起動中

⑥伝播再開

⑦ Collector

同士で競合

(64)

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 27

関連 Note のご紹介

Note:1313703.1 Oracle GoldenGate Best Practices: Oracle GoldenGate

high availability using Oracle Clusterware

Note:1232303.1 Oracle GoldenGate Best Practice: NFS Mount options

for use with GoldenGate

Note:1303611.1 Does Oracle GoldenGate support Oracle ACFS?

Note:1350133.1 OGG displaying incorrect status from inactive node

Note:1371489.1 Configure Oracle GoldenGate on Oracle Exadata

Database Machine

Note:1138409.1 OGG EXTRACT / REPLICAT CHECKPOINT RBA IS

LARGER THAN LOCAL TRAIL SIZE

(65)

Oracle Database 11g R2: Data Guard管理

Database

コース内容

■フィジカル・スタンバイ・データベースおよびロジカル・スタンバイ・データベースの作成および管理

■レポート、問合せ、テスト、バックアップ実行などの本番機能をサポートするためのData Guardスタンバイ・データベースの使用

■高可用性Oracle Databaseを実現するためのData Guardの使用

■Data Guard構成をメンテナンスするためのEnterprise Manager Grid Controlおよび Data Guardコマンドライン・インタフェース(DGMGRL)の使用

対象者

・データベース管理者 ・テクニカルコンサルタント

前提条件

・Oracle Database 11g: 管理ワークショップ I / II ご受講済み もしくは相当の知識をお持ちの方

コース日程

4日間

【会場:トレーニングキャンパス青山】

■2013年3月11日(月)~14日(木)

受講料

(2012年11月現在)

定価 ¥291,060(税込)

※Oracle PartnerNetwork会員様は、パートナー割引価格で受講いただけます。

~BCP策定の要となる、11g R2 DBAのための必修コース~

Oracle Data Guardを使用してOracle Databaseを計画停止および計画外停止から保護する方法を学習します。また、Data Guardスタンバ

イ・データベースを使用してレポート、問合せ、テストなどの本番機能をサポートする方法についても学習します。

 別のシステムへのビジネス処理要求のオフロード

 別のシステムへのバックアップ要求のオフロード

 高可用性システムの構築

お申込み・お問合せ

http://www.oracle.com/jp/education

オラクルユニバーシティ Tel: 0120-155-092

(66)

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 29

(67)

参照

関連したドキュメント

WAV/AIFF ファイルから BR シリーズのデータへの変換(Import)において、サンプリング周波 数が 44.1kHz 以外の WAV ファイルが選択されました。.

DX戦略 知財戦略 事業戦略 開発戦略

このマニュアル全体を読んで、Oracle Diagnostics Pack に同梱の Oracle Performance Manager、Oracle Capacity Planner、Oracle TopSessions および Oracle Event

製品開発者は、 JPCERT/CC から脆弱性関連情報を受け取ったら、ソフトウエア 製品への影響を調査し、脆弱性検証を行い、その結果を

画像の参照時に ACDSee Pro によってファイルがカタログ化され、ファイル プロパティと メタデータが自動的に ACDSee

1.2020年・12月期決算概要 2.食パン部門の製品施策・営業戦略

          ITEC INTERNATIONAL 株式会社. 型名

※固定片は 配管セットに同梱.. 転用する配管セット品番 必要な追加部品品番 対応可能排水芯 CH160FW.