レプリケーション超入門 -...

62
1 Page 1 1 レプリケーション超入門 レプリケーション超入門 レプリケーション超入門 レプリケーション超入門 日本オラクル株式会社

Transcript of レプリケーション超入門 -...

1

Page 1

®1

レプリケーション超入門レプリケーション超入門レプリケーション超入門レプリケーション超入門

日本オラクル株式会社

2

Page 2

®2

目的目的目的目的

このセミナーは、

レプリケーションのことを知らない人が

簡単なレプリケーション環境が作れるようになるための

基礎知識と手順を説明するものです。

3

Page 3

®3

内容内容内容内容

1.レプリケーションとは?利点は?

2.レプリケーションの種類と比較

3.基本レプリケーションの構築手順

読込み専用スナップショットを使ったレプリケーション

4.マルチマスターレプリケーションの構築手順

5.スナップショットサイトレプリケーションの構築手順

更新可能スナップショットを使ったレプリケーション

4

Page 4

®4

内容内容内容内容

1.レプリケーションとは?利点は?1.レプリケーションとは?利点は?

2.レプリケーションの種類と比較

3.基本レプリケーションの構築手順

読込み専用スナップショットを使ったレプリケーション

4.マルチマスターレプリケーションの構築手順

5.スナップショットサイトレプリケーションの構築手順

更新可能スナップショットを使ったレプリケーション

5

Page 5

®5

【1.レプリケーションとは?利点は?】

分散システムとは?分散システムとは?分散システムとは?分散システムとは?

� レプリケーションはOracleの分散ソリューションのひとつ

� 集中型 vs 分散型

� 集中型システム

� システムの一元管理が可能

� 障害によってはシステム全体がダウンする可能性あり

� 分散型システム

� システム毎に役割を持たせる

� 1マシンがダウンしても全体としては稼動可能

� 複数のマシンで処理を分散できる

「分散システム」とは、データ処理及びトランザクション処理がネットワーク上の1つ又は複数のコンピュータの間に分配され、各コンピュータがシステム内で特定の役割を果たしているようなシステムです。

6

Page 6

®6

【1.レプリケーションとは?利点は?】

レプリケーションとは?レプリケーションとは?レプリケーションとは?レプリケーションとは?

� Replication → 複製(Replica)を作ること

� オブジェクトのコピーを作って分散させる。

� システムのどこかで変更が行われると、分散システム内の全てのサイトのデータにその変更が反映される。

変更

反映

反映

反映

分散システム

レプリケーションとはレプリケーションとはレプリケーションとはレプリケーションとは?

簡単に言うと、レプリケーションとはデータベース・オブジェクトのコピーを作ることです。

7

Page 7

®7

【1.レプリケーションとは?利点は?】

レプリケーションの利点は?レプリケーションの利点は?レプリケーションの利点は?レプリケーションの利点は?

� なぜコピーするのか?なぜコピーするのか?なぜコピーするのか?なぜコピーするのか?

� 代替データにアクセス

利点① パフォーマンスの向上

利点② 可用性の向上

利点③ データの切り出し

利点④ データマート

何のためにコピーを作るのか?何のためにコピーを作るのか?何のためにコピーを作るのか?何のためにコピーを作るのか?

コピーを作成することで得られるメリットは4つあります。

8

Page 8

®8

【1.レプリケーションとは?利点は?】

利点①:パフォーマンスの向上利点①:パフォーマンスの向上利点①:パフォーマンスの向上利点①:パフォーマンスの向上

� システムの負荷分散

� ローカルデータへの高速アクセス

� ネットワークトラフィックの減少

東京 大阪

LANWAN

WAN

LAN

1つめはパフォーマンスパフォーマンスパフォーマンスパフォーマンスです。リモートデータのコピーをローカルに置けば、ネットワーク・トラフィックは最小限に抑えられ、応答時間も速くなります。また大きなデータの必要な部分だけコピーを持っておくことでもパフォーマンス向上、負荷分散に役立ちます。

9

Page 9

®9

【1.レプリケーションとは?利点は?】

利点②:可用性の向上利点②:可用性の向上利点②:可用性の向上利点②:可用性の向上

� ノード障害が発生しても業務が止まらない

東京 大阪

障害

!再接続 ♪

2つめは可用性可用性可用性可用性です。マスターを複数持つことができるマルチマスター構成では、ノード傷害が発生してもアプリケーションを自動的に他のノードのマスターデータに再接続してくれるので、処理を継続することができます。

10

Page 10

®10

【1.レプリケーションとは?利点は?】

利点③:データの切り出し利点③:データの切り出し利点③:データの切り出し利点③:データの切り出し

� 営業担当者はノートPCで必要なデータを持っていくことができる。

� マスターデータへの反映、最新データの取得も容易

本社 営業先

3つめはデータの切り出しデータの切り出しデータの切り出しデータの切り出しです。営業先などに必要なデータのコピーを持ち出すことが可能です。共にマスターへの反映や最新データの取得を容易に行うことができます。

11

Page 11

®11

【1.レプリケーションとは?利点は?】

利点④:データマート利点④:データマート利点④:データマート利点④:データマート

� 膨大なデータから必要な集計を持つことができる

� ユーザはデータマートにアクセスしてオンライン分析をすることができる

セントラルウェアハウス

分析する人

汎用機データ

データマート

必要な部分のコピーまたは必要な集計

4つめはデータマートデータマートデータマートデータマートです。膨大なデータから必要な集計を持つことが可能です。また、ユーザはデータマートにアクセスし素早く分析を行えます。

12

Page 12

®12

内容内容内容内容

1.レプリケーションとは?利点は?

2.レプリケーションの種類と比較2.レプリケーションの種類と比較

3.基本レプリケーションの構築手順

読込み専用スナップショットを使ったレプリケーション

4.マルチマスターレプリケーションの構築手順

5.スナップショットサイトレプリケーションの構築手順

更新可能スナップショットを使ったレプリケーション

13

Page 13

®13

【【【【2.2.2.2.レプリケーションの種類と比較】レプリケーションの種類と比較】レプリケーションの種類と比較】レプリケーションの種類と比較】

レプリケーションの種類レプリケーションの種類レプリケーションの種類レプリケーションの種類

� 基本レプリケーション

� 種類①:読込み専用スナップショット

� アドバンスドレプリケーション

� 種類②:マルチマスター・レプリケーション

� 種類③:更新可能スナップショット

� ハイブリッド構成

� レプリケーション機能の選択

Oracle8のレプリケーション機能は上記の様に分類されます。

レプリケーション環境を構築する際には、どのレベルのレプリケーション機能が必要とされているか判断する必要があります。

14

Page 14

®14

【【【【2.2.2.2.レプリケーションの種類と比較】レプリケーションの種類と比較】レプリケーションの種類と比較】レプリケーションの種類と比較】

種類①:読込み専用スナップショット種類①:読込み専用スナップショット種類①:読込み専用スナップショット種類①:読込み専用スナップショット

Master SiteMaster Site Snapshot SiteSnapshot Site

読込み専用読込み専用読込み専用読込み専用スナップショットスナップショットスナップショットスナップショット

東京東京東京東京 大阪大阪大阪大阪

SCOTT.EMP表

検索検索検索検索検索のみ検索のみ検索のみ検索のみ

リモートへのアクセスが必要なくなります。

EMP_SNP

リモート表への検索を行う必要がある場合、主に2つの問題点があります。

・パフォーマンス : リモートへのアクセスはローカルへのアクセスに比べて遅い。又、リモートへの接続が多くなると、ネットワークトラフィックが増加する。

・ネットワークの可用性 : ネットワーク障害が起こる可能性がある。

そこで、使用されるのが読込み専用スナップショット読込み専用スナップショット読込み専用スナップショット読込み専用スナップショットです。

スナップショットとは、マスター表を反映する表のコピー、またはサブセットのことです。スナップショットによって、ローカルのコピーデータを参照できるのでリモートデータにアクセスするよりも高速にアクセスすることができます。また、ネットワーク障害などが原因で、マスターサイトが使用できなくなった場合でも、ローカルのコピーデータを使用して、問合せ処理を続けることができます。

スナップショットはリモートのマスター表への問合せで定義されます。

CREATE SNAPSHOT xxx AS SELECT * FROM xxx@xxx;

15

Page 15

®15

【【【【2.2.2.2.レプリケーションの種類と比較】レプリケーションの種類と比較】レプリケーションの種類と比較】レプリケーションの種類と比較】

種類②:更新可能スナップショット種類②:更新可能スナップショット種類②:更新可能スナップショット種類②:更新可能スナップショット

Master SiteMaster Site Snapshot SiteSnapshot Site

東京東京東京東京 大阪大阪大阪大阪

更新更新更新更新

更新可能更新可能更新可能更新可能スナップショットスナップショットスナップショットスナップショット

EMP_SNPSCOTT.EMP表

更新更新更新更新

読込み専用スナップショットは検索のみが可能でしたが、それを更新可能にしたのが、更新可能スナップショット更新可能スナップショット更新可能スナップショット更新可能スナップショットです。読取り専用スナップショットと同様、マスターサイトにアクセスできなくなっても、処理を続行することができます。

更新可能スナップショットもマスター表への問合せで定義されます。

CREATE SNAPSHOT xxx FOR UPDATEFOR UPDATEFOR UPDATEFOR UPDATE AS SELECT * FROM xxx@xxx;

16

Page 16

®16

【【【【2.2.2.2.レプリケーションの種類と比較】レプリケーションの種類と比較】レプリケーションの種類と比較】レプリケーションの種類と比較】

種類③:マルチマスター・レプリケーション種類③:マルチマスター・レプリケーション種類③:マルチマスター・レプリケーション種類③:マルチマスター・レプリケーション

Master SiteMaster Site

検索・更新検索・更新検索・更新検索・更新

Master SiteMaster Site

検索・更新検索・更新検索・更新検索・更新

Master SiteMaster Site

検索・更新検索・更新検索・更新検索・更新

同期同期同期同期or非同期非同期非同期非同期

マルチマスター・レプリケーションでは表の内容全体を、指定した全てのサイトでレプリケートします。マスター表のどれかに適用した変更が伝播されて、他のサイトの全てのマスター表に反映されます。

17

Page 17

®17

Snapshot SiteSnapshot Site

Master SiteMaster Site

【【【【2.2.2.2.レプリケーションの種類と比較】レプリケーションの種類と比較】レプリケーションの種類と比較】レプリケーションの種類と比較】

ハイブリッド構成ハイブリッド構成ハイブリッド構成ハイブリッド構成

Master SiteMaster Site

Snapshot SiteSnapshot Site Snapshot SiteSnapshot Site更新可能スナップショット 更新可能スナップショット読み出し専用スナップショット

検索・更新 検索・更新

検索・更新検索・更新 検索

以上で述べた読込み専用スナップショット、更新可能スナップショット、マルチマスターレプリケーションを組み合わせて構成することが可能です。

これによって、各レプリケーション機能の利点をうまく生かすことができます。

18

Page 18

®18

【【【【2.2.2.2.レプリケーションの種類と比較】レプリケーションの種類と比較】レプリケーションの種類と比較】レプリケーションの種類と比較】

比較①:非同期レプリケーションと同期レプリケ比較①:非同期レプリケーションと同期レプリケ比較①:非同期レプリケーションと同期レプリケ比較①:非同期レプリケーションと同期レプリケ

ーションーションーションーション

非同期非同期非同期非同期レプリケーションレプリケーションレプリケーションレプリケーション

同期同期同期同期レプリケーションレプリケーションレプリケーションレプリケーション

あるサイトがダウンした場合に他のサイトでは?

競合の発生する可能性

トランザクション実行可能

トランザクション実行不可能

ある ない

マスター・サイト間でのデータの整合性

一時的な不整合完全なデータの整合性を保証

パフォーマンス 良いあまり良くない

(2フェーズコミットを使用するため)

19

Page 19

®19

【【【【2.2.2.2.レプリケーションの種類と比較】レプリケーションの種類と比較】レプリケーションの種類と比較】レプリケーションの種類と比較】

比較②:スナップショットとマルチマスター比較②:スナップショットとマルチマスター比較②:スナップショットとマルチマスター比較②:スナップショットとマルチマスター

「プル」型(スナップショット)「プル」型(スナップショット)「プル」型(スナップショット)「プル」型(スナップショット)

「プッシュ」型(マルチマスター・レプリケーション)「プッシュ」型(マルチマスター・レプリケーション)「プッシュ」型(マルチマスター・レプリケーション)「プッシュ」型(マルチマスター・レプリケーション)

Master SiteMaster Site Master SiteMaster Site

update �

update �

Master SiteMaster Site Snapshot SiteSnapshot Site

update � select�from xxx@master;

マルチマスター・レプリケーションでは表の内容全体を、指定した全てのサイトでレプリケートします。マスター表のどれかに適用した変更が伝播されて、他のサイトの全てのマスター表に反映されます。

スナップショットでは、変更が「プル」の形で行われるのに対し、マルチマスター・レプリケーションでは「プッシュ」型で変更が行われます。

20

Page 20

®20

【【【【2.2.2.2.レプリケーションの種類と比較】レプリケーションの種類と比較】レプリケーションの種類と比較】レプリケーションの種類と比較】

比較③:レプリケーションの利点による比較比較③:レプリケーションの利点による比較比較③:レプリケーションの利点による比較比較③:レプリケーションの利点による比較

パフォーマンス

可用性

マルチマスターレプリケーション

更新可能スナップショット

読込み専用スナップショット

○ ○

持ち運び ー ◎ ○

データマート ー ー ◎

非同期のみ 非同期のみ

非同期のみ

更新:△

更新:△

更新:△

読取専用スナップショットは「非同期」のみ

レプリケーション環境を構築するためには、サイトをどのレプリケーション形態にするのかを判断する必要があります。

その為の指針を3つ紹介します。

1.レプリケーション機能の利点1.レプリケーション機能の利点1.レプリケーション機能の利点1.レプリケーション機能の利点

レプリケーションによる利点から実装に当てはめて考えてみます。

21

Page 21

®21

【【【【2.2.2.2.レプリケーションの種類と比較】レプリケーションの種類と比較】レプリケーションの種類と比較】レプリケーションの種類と比較】

比較③:レプリケーションの利点による比較比較③:レプリケーションの利点による比較比較③:レプリケーションの利点による比較比較③:レプリケーションの利点による比較

パフォーマンス

マルチマスター 更新可能 読込み専用

○ ○ ○更新:△

� 全てローカルにデータを持ち、ネットワーク上をデータが流れないため、どれもパフォーマンス向上する。

� 読込み専用スナップショットが更新する場合は、リモートのマスターサイトに更新に行くのでパフォーマンスは良くない

①パフォーマンス

全てローカルにデータを持つことになるので、パフォーマンスでは差がありません。読込み専用スナップショットが更新しに行く場合は、リモートのマスターサイトに更新に行くのでパフォーマンスはでなくなります。

22

Page 22

®22

【【【【2.2.2.2.レプリケーションの種類と比較】レプリケーションの種類と比較】レプリケーションの種類と比較】レプリケーションの種類と比較】

比較③:レプリケーションの利点による比較比較③:レプリケーションの利点による比較比較③:レプリケーションの利点による比較比較③:レプリケーションの利点による比較

マルチマスター 更新可能 読込み専用

� マルチマスターは、他のサイトから復旧可能なので、可用性が高い。

� スナップショットは、マスターの復旧は不可能だが、一時的な業務の継続を保証する。

可用性 ◎ ○ ○非同期のみ 非同期のみ 更新:△

②可用性

マルチマスター・レプリケーションであれば、1つのマスターサイトに障害が起きても、他のサイトから復旧可能なので可用性は高くなります。そのため、マスターサイトは複数は位置すべきです。

スナップショットは、システムの完全な復旧はできませんが、マスターサイトが回復するまでの業務の一時的な継続を保証します。但し、読込み専用スナップショットの場合は、完全に更新が不可能となります。

23

Page 23

®23

【【【【2.2.2.2.レプリケーションの種類と比較】レプリケーションの種類と比較】レプリケーションの種類と比較】レプリケーションの種類と比較】

比較③:レプリケーションの利点による比較比較③:レプリケーションの利点による比較比較③:レプリケーションの利点による比較比較③:レプリケーションの利点による比較

マルチマスター 更新可能 読込み専用

� スナップショットは、一時的にマスター表からデータを持ち出すことが可能である。

� 更新可能スナップショットは、持ち運び先で変更したデータを、その後マスターに反映することができる。

� マルチマスターは、論理的には持ち運び可能だが、一般的に利用しない。

持ち運び ー ◎ ○非同期のみ 更新:△

③持ち運び

スナップショットは一時的にマスター表からデータを持ち出すことが可能です。更新可能スナップショットの場合は、持ち運び先でデータを更新し、その後データをマスターに反映させることができます。

24

Page 24

®24

【【【【2.2.2.2.レプリケーションの種類と比較】レプリケーションの種類と比較】レプリケーションの種類と比較】レプリケーションの種類と比較】

比較③:レプリケーションの利点による比較比較③:レプリケーションの利点による比較比較③:レプリケーションの利点による比較比較③:レプリケーションの利点による比較

マルチマスター 更新可能 読込み専用

� 更新はしないでデータのサブセットや集計を持つという意味のデータマートでは、読込み専用スナップショットを使用することが考えられる。

データマート ー ー ◎

④データマート

更新はしないでデータのサブセットや集計を持つという意味のデータマートでは、読込み専用スナップショットを使用することが考えられます。

25

Page 25

®25

【【【【2.2.2.2.レプリケーションの種類と比較】レプリケーションの種類と比較】レプリケーションの種類と比較】レプリケーションの種類と比較】

比較④:レプリケーション範囲による比較比較④:レプリケーション範囲による比較比較④:レプリケーション範囲による比較比較④:レプリケーション範囲による比較

垂直分割(列単位)

水平分割(行単位)

読込み専用スナップショット

更新可能スナップショット

マルチマスターレプリケーション

不可

可 不可

不可

表全体のみ

表全体をレプリケート?サブセットをレプリケート?

2.レプリケートデータは表全体か、表のサブセットか2.レプリケートデータは表全体か、表のサブセットか2.レプリケートデータは表全体か、表のサブセットか2.レプリケートデータは表全体か、表のサブセットか

レプリケートしたい表のうち、どの部分のデータを使いたいかによって判断することもできます。

マルチマスター・レプリケーションは表全体をレプリケートする必要がありますが、更新可能スナップショットは表のサブセットのみをレプリケートすることができます。よって、サイト毎に必要なデータのみをレプリケートしたい場合は、更新可能スナップショットを使用したデータの水平分散を選択します。これにより使用ディスク量を節約できます。読込み専用スナップショットは垂直分散、水平分散をサポートします。

26

Page 26

®26

【【【【2.2.2.2.レプリケーションの種類と比較】レプリケーションの種類と比較】レプリケーションの種類と比較】レプリケーションの種類と比較】

比較⑤:伝播のネットワーク負荷比較⑤:伝播のネットワーク負荷比較⑤:伝播のネットワーク負荷比較⑤:伝播のネットワーク負荷

4-wayマスター

マスターの数が増えれば増えるほどネットワーク負荷が増大する。

マスターの数は必要最小限にする!!

2つを更新可能スナップショットにすれば・・・

ネットワーク負荷は半分に!!

2-wayマスター&更新可能スナップショット

3.伝播のネットワーク負荷伝播のネットワーク負荷伝播のネットワーク負荷伝播のネットワーク負荷

更新可能スナップショットでは、バッチ処理の様に変更をまとめて行いますが、マルチマスターレプリケーションはトランザクション毎に変更が全てのマスターサイトにレプリケートされます。また、マスター同士が変更を伝播しあうために、マスターが1つ増えるたびにネットワーク負荷が増大していきます。

2-wayマスター:13-wayマスター:34-wayマスター:65-wayマスター:10 :

そのため、マスターサイトは必要最小限にした方が良いでしょう。

27

Page 27

®27

内容内容内容内容

1.レプリケーションとは?利点は?

2.レプリケーションの種類と比較

3.基本レプリケーションの構築手順3.基本レプリケーションの構築手順

読込み専用スナップショットを使ったレプリケーション読込み専用スナップショットを使ったレプリケーション

4.マルチマスターレプリケーションの構築手順

5.スナップショットサイトレプリケーションの構築手順

更新可能スナップショットを使ったレプリケーション

28

Page 28

®28

【【【【3.3.3.3.基本レプリケーションの構築手順】基本レプリケーションの構築手順】基本レプリケーションの構築手順】基本レプリケーションの構築手順】

基本レプリケーションの前提知識基本レプリケーションの前提知識基本レプリケーションの前提知識基本レプリケーションの前提知識

� 初期化パラメータ

� 主キー・スナップショット

� リフレッシュ

� 完全リフレッシュと高速リフレッシュ

� リフレッシュのタイミング

� 単純スナップショットと複合スナップショット

� リフレッシュ・グループ

29

Page 29

®29

【【【【3.3.3.3.基本レプリケーションの構築手順基本レプリケーションの構築手順基本レプリケーションの構築手順基本レプリケーションの構築手順- - - - 前提知識】前提知識】前提知識】前提知識】

初期化パラメータの設定

� GLOBAL_NAMES = TRUE

� SHARED_POOL_SIZE:最低15~20M

� SNPプロセスの調整

� JOB_QUEUE_PROCESSES≧1

� JOB_QUEUE_INTERVAL etc

30

Page 30

®30

【【【【3.3.3.3.基本レプリケーションの構築手順基本レプリケーションの構築手順基本レプリケーションの構築手順基本レプリケーションの構築手順- - - - 前提知識】前提知識】前提知識】前提知識】

主キースナップショット主キースナップショット主キースナップショット主キースナップショット

� マスター表の行とスナップショットの行を対応づける必要がある。

� Oracle7 : ROWIDスナップショット

�マスター表の再編成が使用できない(SQL*Loader,Importユーティリティなど)

� Oracle8 : 主キースナップショット主キースナップショット主キースナップショット主キースナップショット(デフォルト)

マスター表にPrimary Keyがついている必要がある。

主キースナップショット主キースナップショット主キースナップショット主キースナップショット

スナップショットでは、マスター表とローカルスナップショットの行と行を対応づけてデータの整合性を保証する必要があります。

Oracle7では、ROWIDを元にしてデータ整合性を保証していました。このため、ROWIDを元にするとSQL*LoaderやImportユーティリティを再編成のために使用することができませんでした。

   再編成とは、

    ① Unload ② Truncate table ③ SQL*loader

    ① Export ② Truncate table ④ Import

そこで、Oracle8からは、主キーで整合性を保証する主キー・スナップシ主キー・スナップシ主キー・スナップシ主キー・スナップショットョットョットョットがデフォルトとして作成されるようになりました。ROWIDスナップショットも作成できますが、Oracle7との互換性のためだけに存在しています。

そのため、マスター表に必ずPrimary Key制約が存在する必要があります。

31

Page 31

®31

【【【【3.3.3.3.基本レプリケーションの構築手順基本レプリケーションの構築手順基本レプリケーションの構築手順基本レプリケーションの構築手順- - - - 前提知識】前提知識】前提知識】前提知識】

リフレッシュの方法リフレッシュの方法リフレッシュの方法リフレッシュの方法(1/2)(1/2)(1/2)(1/2):完全リフレッシュ:完全リフレッシュ:完全リフレッシュ:完全リフレッシュ

Master SiteMaster Site Snapshot SiteSnapshot Site

東京東京東京東京 大阪大阪大阪大阪

スナップショットを定期的にリフレッシュしなければなりません。

検索検索検索検索

読込み専用読込み専用読込み専用読込み専用スナップショットスナップショットスナップショットスナップショット

更新更新更新更新

� 完全リフレッシュ

更新更新更新更新

SCOTT.EMP表

マスター表が更新されれば、スナップショットも定期的にリフレッシュする必要があります。

読込み専用スナップショットは、手動手動手動手動または自動自動自動自動でリフレッシュすることができます。

また、リフレッシュの種類も「完全リフレッシュ完全リフレッシュ完全リフレッシュ完全リフレッシュ」と「高速リフレッシュ高速リフレッシュ高速リフレッシュ高速リフレッシュ」の2種類が用意されています。

完全リフレッシュ完全リフレッシュ完全リフレッシュ完全リフレッシュ

スナップショット全体をマスター表からコピーし直します。

32

Page 32

®32

【【【【3.3.3.3.基本レプリケーションの構築手順基本レプリケーションの構築手順基本レプリケーションの構築手順基本レプリケーションの構築手順- - - - 前提知識】前提知識】前提知識】前提知識】

リフレッシュの方法リフレッシュの方法リフレッシュの方法リフレッシュの方法(2/2)(2/2)(2/2)(2/2):高速リフレッシュ:高速リフレッシュ:高速リフレッシュ:高速リフレッシュ

Master SiteMaster Site Snapshot SiteSnapshot Site

更新更新更新更新

東京東京東京東京 大阪大阪大阪大阪

スナップショットを定期的にリフレッシュしなければなりません。

検索検索検索検索

スナップスナップスナップスナップショット・ログショット・ログショット・ログショット・ログ

変更内容を格納変更内容を格納変更内容を格納変更内容を格納

更新更新更新更新読込み専用読込み専用読込み専用読込み専用スナップショットスナップショットスナップショットスナップショット

� 高速リフレッシュ(単純スナップショットの場合のみ)

SCOTT.EMP表

高速リフレッシュ高速リフレッシュ高速リフレッシュ高速リフレッシュ

最後にリフレッシュされた時点から、マスターに加えられた変更だけ差分リフレッシュします。高速リフレッシュはスナップショット・ログというマスター表への変更を格納するための表を作成する必要があります。ただし、高速リフレッシュが行われるのは単純スナップショットと呼ばれる形態のものだけです。

33

Page 33

®33

【【【【3.3.3.3.基本レプリケーションの構築手順基本レプリケーションの構築手順基本レプリケーションの構築手順基本レプリケーションの構築手順- - - - 前提知識】前提知識】前提知識】前提知識】

単純スナップショットと複合スナップショット単純スナップショットと複合スナップショット単純スナップショットと複合スナップショット単純スナップショットと複合スナップショット

� 単純スナップショット

� 複合スナップショット

� 違い:単純スナップショットに以下のものは含まれません。

� GROUP BY句

� CONNECT BY句

� 固有の関数又は集約関数

� 結合(使用可能なタイプの副問合せを除く)

� 集合演算子

複合スナップショットは高速リフレッシュできません。複合スナップショットは高速リフレッシュできません。複合スナップショットは高速リフレッシュできません。複合スナップショットは高速リフレッシュできません。

34

Page 34

®34

【【【【3.3.3.3.基本レプリケーションの構築手順基本レプリケーションの構築手順基本レプリケーションの構築手順基本レプリケーションの構築手順- - - - 前提知識】前提知識】前提知識】前提知識】

リフレッシュ・グループリフレッシュ・グループリフレッシュ・グループリフレッシュ・グループ

� EMP表とDEPT表は同時にレプリケートしたい

EMP表 DEPT表 EMP表 DEPT表

Master SiteMaster Site Snapshot SiteSnapshot Site

レプリケーショングループ内に関連するレプリケーションオブジェクトを編成することで、複数のオブジェクトをまとめて管理できます。複数のマスター表の間で、参照整合性、トランザクション一貫性を保つために、レプリケートグループを作成します。但し、1つのオブジェクトは1つのレプリケートグループにしか存在できません。

35

Page 35

®35

【【【【3.3.3.3.基本レプリケーションの構築手順】基本レプリケーションの構築手順】基本レプリケーションの構築手順】基本レプリケーションの構築手順】

基本レプリケーション環境の作成手順基本レプリケーション環境の作成手順基本レプリケーション環境の作成手順基本レプリケーション環境の作成手順

① 前提条件

� @マスター表にPrimary Keyがついていること

� *マスターサイトへのデータベースリンクがあること

*② (高速リフレッシュの場合)

スナップショットログを作成する。

@③ スナップショットを作成する。

@④ (必要なら)スナップショットサイト・リフレッシュ・グループを作成する。

*青字の部分はマスターサイトでのみ実行します。@赤字の部分はスナップショットサイトでのみ実行します。

36

Page 36

®36

【【【【3.3.3.3.基本レプリケーションの構築手順】基本レプリケーションの構築手順】基本レプリケーションの構築手順】基本レプリケーションの構築手順】

例:例:例:例:EMPEMPEMPEMP表と表と表と表とDEPTDEPTDEPTDEPT表の読込み専用スナップショッ表の読込み専用スナップショッ表の読込み専用スナップショッ表の読込み専用スナップショッ

トトトト

EMP表 DEPT表

Master SiteMaster Site Snapshot SiteSnapshot Site

EMP DEPT

高速リフレッシュ

スナップショットEMPとDEPTを一緒にリフレッシュ

global_name : db804

このようなスナップショットを作ってみましょう。このようなスナップショットを作ってみましょう。このようなスナップショットを作ってみましょう。このようなスナップショットを作ってみましょう。

37

Page 37

®37

【【【【3.3.3.3.基本レプリケーションの構築手順】基本レプリケーションの構築手順】基本レプリケーションの構築手順】基本レプリケーションの構築手順】

例:例:例:例:EMPEMPEMPEMP表と表と表と表とDEPTDEPTDEPTDEPT表の読込み専用スナップショットを作る表の読込み専用スナップショットを作る表の読込み専用スナップショットを作る表の読込み専用スナップショットを作る

。。。。

① 前提条件

� マスター表にPrimary Keyがついていること

� マスターサイトへのデータベースリンクがあること

� データベースリンクの名前はグローバル・ネームと同じでなければならない。

② マスター表に対してスナップショットログを作成する。

CREATE SNAPSHOT LOG ON emp;CREATE SNAPSHOT LOG ON dept;

select * from global_name;(マスターサイトで)alter database rename global_name to xxx;

*このフェーズはマスターサイトで実行します。

38

Page 38

®38

【【【【3.3.3.3.基本レプリケーションの構築手順】基本レプリケーションの構築手順】基本レプリケーションの構築手順】基本レプリケーションの構築手順】

例:例:例:例:EMPEMPEMPEMP表と表と表と表とDEPTDEPTDEPTDEPT表の読込み専用スナップショット表の読込み専用スナップショット表の読込み専用スナップショット表の読込み専用スナップショット

を作る。を作る。を作る。を作る。

CREATE SNAPSHOT emp

REFRESH FAST

AS SELECT * from scott.emp@db804;

リフレッシュ方法の指定リフレッシュ方法の指定リフレッシュ方法の指定リフレッシュ方法の指定[ FAST|COMPLETE | FORCE ]

自動リフレッシュタイミングの指定もできるが、自動リフレッシュタイミングの指定もできるが、自動リフレッシュタイミングの指定もできるが、自動リフレッシュタイミングの指定もできるが、リフレッシュグループで指定するので指定しない。リフレッシュグループで指定するので指定しない。リフレッシュグループで指定するので指定しない。リフレッシュグループで指定するので指定しない。

スナップショットの定義問合せスナップショットの定義問合せスナップショットの定義問合せスナップショットの定義問合せ

③ スナップショットを作成する。

*同様にしてDEPTもスナップショットを作成する。

@このフェーズはスナップショットサイトで実行します。

START WITH、NEXT両方とも指定しなかった場合は、スナップショットは自動的にリフレッシュされません。

SNAPSHOT_REFRESH_PROCESSES

SNAPSHOT_REFRESH_INTERVAL

SNAPSHOT_REFRESH_KEEP_CONNECTIONS

39

Page 39

®39

execute DBMS_REFRESH.MAKE( -

NAME => �scott.refgrp1�,-

LIST => �scott.dept,scott.emp�,-

NEXT_DATE=> SYSDATE,-

INTERVAL => �SYSDATE+1/24�);

リフレッシュグループの名前リフレッシュグループの名前リフレッシュグループの名前リフレッシュグループの名前

リフレッシュリフレッシュリフレッシュリフレッシュタイミングの指定タイミングの指定タイミングの指定タイミングの指定

リフレッシュ対象のリフレッシュ対象のリフレッシュ対象のリフレッシュ対象のスナップショットスナップショットスナップショットスナップショット

④スナップショットサイト・リフレッシュ・グループを作成する。

【【【【3.3.3.3.基本レプリケーションの構築手順】基本レプリケーションの構築手順】基本レプリケーションの構築手順】基本レプリケーションの構築手順】

例:例:例:例:EMPEMPEMPEMP表と表と表と表とDEPTDEPTDEPTDEPT表の読込み専用スナップショットを作る表の読込み専用スナップショットを作る表の読込み専用スナップショットを作る表の読込み専用スナップショットを作る

。。。。

@このフェーズはスナップショットサイトで実行します。

40

Page 40

®40

内容内容内容内容

1.レプリケーションとは?利点は?

2.レプリケーションの種類と比較

3.基本レプリケーションの構築手順

読込み専用スナップショットを使ったレプリケーション

44.マルチマスターレプリケーションの構築手順.マルチマスターレプリケーションの構築手順

5.スナップショットサイトレプリケーションの構築手順

更新可能スナップショットを使ったレプリケーション

41

Page 41

®41

【【【【4.4.4.4.マルチマスターレプリケーションの構築手順】マルチマスターレプリケーションの構築手順】マルチマスターレプリケーションの構築手順】マルチマスターレプリケーションの構築手順】

マルチマスターレプリケーションの前提知識マルチマスターレプリケーションの前提知識マルチマスターレプリケーションの前提知識マルチマスターレプリケーションの前提知識

� 競合

� レプリケートサイト

� マスターサイトの構造

� マルチマスターレプリケーションの仕組み

42

Page 42

®42

Master SiteMaster Site Master SIteMaster SIte

SQL> UPDATE emp ....SQL> UPDATE emp ....SQL> UPDATE emp ....SQL> UPDATE emp ....2> WHERE emp_no=10;2> WHERE emp_no=10;2> WHERE emp_no=10;2> WHERE emp_no=10;

SQL> UPDATE emp ....SQL> UPDATE emp ....SQL> UPDATE emp ....SQL> UPDATE emp ....2> WHERE emp_no=10;2> WHERE emp_no=10;2> WHERE emp_no=10;2> WHERE emp_no=10;

各マスターで同じ行を更新各マスターで同じ行を更新各マスターで同じ行を更新各マスターで同じ行を更新

EMP表 EMP

競合競合競合競合

競合回避ルーチンを設定する必要がある。(最新のタイムスタンプ、最大値、平均、上書き etc)

【【【【4.4.4.4.マルチマスターレプリケーションの構築手順マルチマスターレプリケーションの構築手順マルチマスターレプリケーションの構築手順マルチマスターレプリケーションの構築手順- - - - 前提知識】前提知識】前提知識】前提知識】

競合競合競合競合

43

Page 43

®43

【【【【4.4.4.4.マルチマスターレプリケーションの構築手順マルチマスターレプリケーションの構築手順マルチマスターレプリケーションの構築手順マルチマスターレプリケーションの構築手順- - - - 前提知識】前提知識】前提知識】前提知識】

レプリケートサイトレプリケートサイトレプリケートサイトレプリケートサイト

� マスター定義サイト

� マスターサイト

� スナップショットサイト

MasterMasterDefinition SiteDefinition Site

Snapshot SiteSnapshot Site

Master SiteMaster Site

Snapshot SiteSnapshot SiteSnapshot SiteSnapshot Site

レプリケート環境は、1つのマスター定義サイトと、0個以上のマスターサイト、各マスターサイトごとに0個以上のスナップショットサイトで構成されます。

マスター定義サイトマスター定義サイトマスター定義サイトマスター定義サイト

マスター定義サイトは、管理作業を行うためのサイトです。データレベルの変更はどのサイトでも行えますが、スキーマレベルの変更はマスター定義サイトで行わなくてはなりません。

マスターサイトマスターサイトマスターサイトマスターサイト

マスター定義サイト以外のマスターサイトは、マスター定義サイトから作成します。

スナップショットサイトスナップショットサイトスナップショットサイトスナップショットサイト

スナップショットサイトは、任意のマスターサイトから作成できます。

44

Page 44

®44

【【【【4.4.4.4.マルチマスターレプリケーションの構築手順マルチマスターレプリケーションの構築手順マルチマスターレプリケーションの構築手順マルチマスターレプリケーションの構築手順- - - - 前提知識】前提知識】前提知識】前提知識】

マスターサイトの構造マスターサイトの構造マスターサイトの構造マスターサイトの構造

マスター定義サイト、マスターサイトの構造

レプリケートレプリケートレプリケートレプリケートオブジェクトオブジェクトオブジェクトオブジェクト

レプリケートレプリケートレプリケートレプリケートグループグループグループグループ

管理要求キュー管理要求キュー管理要求キュー管理要求キュー

遅延遅延遅延遅延トランザクショントランザクショントランザクショントランザクションキューキューキューキュー

ジョブ・キュージョブ・キュージョブ・キュージョブ・キュー

エラー・ログエラー・ログエラー・ログエラー・ログSNP

管理要求キュー(管理要求キュー(管理要求キュー(管理要求キュー(RepCatLogビュービュービュービュー) 非同期の管理要求、 エラーを格納するビュー

遅延トランザクションキュー遅延トランザクションキュー遅延トランザクションキュー遅延トランザクションキュー ローカルで行われた変更が一時 格納されるキュー

ジョブキュージョブキュージョブキュージョブキュー 遅延トランザクションキューに格納 された変更を定期的にリモートサイト に適応するジョブのためのキュー

45

Page 45

®45

【【【【4.4.4.4.マルチマスターレプリケーションの構築手順マルチマスターレプリケーションの構築手順マルチマスターレプリケーションの構築手順マルチマスターレプリケーションの構築手順 - - - - 前提知識】前提知識】前提知識】前提知識】

マルチマスター・レプリケーションの仕組みマルチマスター・レプリケーションの仕組みマルチマスター・レプリケーションの仕組みマルチマスター・レプリケーションの仕組み

EMP表EMP表

Master SiteMaster Site Master SiteMaster Site

①更新①更新①更新①更新内部トリガー

②トリガー起動②トリガー起動②トリガー起動②トリガー起動

RPC RPC RPC

遅延トランザクションキュー

RPC

③リモートプロシージャコールの蓄積③リモートプロシージャコールの蓄積③リモートプロシージャコールの蓄積③リモートプロシージャコールの蓄積

EMP$RPパッケージ

⑤パッケージ実行⑤パッケージ実行⑤パッケージ実行⑤パッケージ実行

④キューの送信④キューの送信④キューの送信④キューの送信

⑥更新⑥更新⑥更新⑥更新

EMP表EMP表

Master SiteMaster Site Master SiteMaster Site

①更新①更新①更新①更新

RPC RPC RPC

EMP$RTトリガー

②トリガー起動②トリガー起動②トリガー起動②トリガー起動

EMP$TPパッケージ

③パッケージ実行③パッケージ実行③パッケージ実行③パッケージ実行

遅延トランザクションキュー

RPC

④リモートプロシージャコールの蓄積④リモートプロシージャコールの蓄積④リモートプロシージャコールの蓄積④リモートプロシージャコールの蓄積

EMP$TPパッケージ

⑥パッケージ実行⑥パッケージ実行⑥パッケージ実行⑥パッケージ実行

⑤キューの送信⑤キューの送信⑤キューの送信⑤キューの送信

⑦更新⑦更新⑦更新⑦更新

上図は上図は上図は上図はOracle8の場合です。の場合です。の場合です。の場合です。Oracle7の場合は下図のようになります。の場合は下図のようになります。の場合は下図のようになります。の場合は下図のようになります。

46

Page 46

®46

【【【【4.4.4.4.マルチマスターレプリケーションの構築手順】マルチマスターレプリケーションの構築手順】マルチマスターレプリケーションの構築手順】マルチマスターレプリケーションの構築手順】

マルチマスターレプリケーション環境のマルチマスターレプリケーション環境のマルチマスターレプリケーション環境のマルチマスターレプリケーション環境の

作成手順作成手順作成手順作成手順

① ユーザ作成・権限の付与・DBリンクの作成

② 自動伝播のデフォルトスケジュールを設定する。

*③ レプリケートグループを作成する。

*④ レプリケートグループにレプリケートオブジェクトを追加する。

*⑤ (競合解消ルーチンが必要な場合)競合解消ルーチンを設定する。

*⑥ レプリケーションをサポートするために必要なトリガー等を作成する。

*⑦ レプリケート環境に新しいマスターサイトを追加する。

*⑧ レプリケーションの動作を開始する。

*青字の部分はマスター定義サイトでのみ実行します。

47

Page 47

®47

【【【【4.4.4.4.マルチマスターレプリケーションの構築手順】マルチマスターレプリケーションの構築手順】マルチマスターレプリケーションの構築手順】マルチマスターレプリケーションの構築手順】

① ユーザ作成・権限の付与・DBリンクの作成

� レプリケーション環境の管理者 兼 伝播担当者 兼 受信者であるREPADMINを作成し、必要な権限を与える。(各マスターサイトに一人)

� CREATE USER repadmin�

� execute dbms_repcat_admin.grant_admin_any_schema(-username => 'REPADMIN');

� execute dbms_defer_sys.register_propagator(-username => 'REPADMIN');

� grant comment any table to REPADMIN;

� grant lock any table to REPADMIN;

� grant execute any procedure to REPADMIN;

� レプリケーションオブジェクトを持つユーザを各マスターサイトに作成する。

� CREATE USER repuser �

48

Page 48

®48

【【【【4.4.4.4.マルチマスターレプリケーションの構築手順】マルチマスターレプリケーションの構築手順】マルチマスターレプリケーションの構築手順】マルチマスターレプリケーションの構築手順】

① ユーザ作成・権限の付与・DBリンクの作成

� マスターサイト間でお互いにパブリックDBリンクを作る。

� CREATE PUBLIC DATABASE LINK global_name USING �db1.world�;

� 管理者同士でプライベートDBリンクを作る。

� CREATE DATABASE LINK global_nameCONNECT TO repadmin IDENTIFIED BY repadmin;

*各スナップショットサイトで実行します。

A.マルチマスターレプリケーションの場合マルチマスターレプリケーションの場合マルチマスターレプリケーションの場合マルチマスターレプリケーションの場合

B.スナップショットサイトレプリケーションの場合スナップショットサイトレプリケーションの場合スナップショットサイトレプリケーションの場合スナップショットサイトレプリケーションの場合

� マスターサイトへパブリックDBリンクを作る。

� 管理者へプライベートDBリンクを作る。

� ユーザーからプライベートDBリンクを作る。

Master SiteMaster Site

DB1DB1

REPADMIN

Master SiteMaster Site

DB2DB2

REPADMIN

Public

Private

A

*各マスターサイトで実行します。

Master SiteMaster Site

DB1DB1

REPADMIN

Snaoshot SiteSnaoshot Site

DB2DB2Public

Private

B

REPUSER

REPADMIN

REPUSER

Private

注)

ユーザー同士のデータベースリンクは、マルチマスターの場合は特に必要ありませんが、更新可能スナップショットの時は作成する必要があります。

49

Page 49

®49

【【【【4.4.4.4.マルチマスターレプリケーションの構築手順】マルチマスターレプリケーションの構築手順】マルチマスターレプリケーションの構築手順】マルチマスターレプリケーションの構築手順】

② 自動伝播のデフォルトスケジュールを設定する。

� 自動伝播スケジュールを設定します。

*このフェーズは各マスターサイトで実行します。

設定方法遅延トランザクションキューを、リモートマスター接続先に遅延トランザクションキューを、リモートマスター接続先に遅延トランザクションキューを、リモートマスター接続先に遅延トランザクションキューを、リモートマスター接続先に送信する送信する送信する送信するジョブをスケジュールジョブをスケジュールジョブをスケジュールジョブをスケジュール

execute dbms_defer_sys.schedule_push( - destination => 'DB1.world',- interval => 'sysdate + 1/24',- next_date => sysdate);遅延トランザクションキューから、送信済みトランザクションを遅延トランザクションキューから、送信済みトランザクションを遅延トランザクションキューから、送信済みトランザクションを遅延トランザクションキューから、送信済みトランザクションを削除する削除する削除する削除するジョブをスケジュールジョブをスケジュールジョブをスケジュールジョブをスケジュール

execute dbms_defer_sys.schedule_purge( - next_date => sysdate,- interval => 'sysdate + 1');確認方法:select * from defschedule;設定解除API:dbms_defer_sys.unschedule_push

dbms_defer_sys.unschedule_purge

Oracle7では、この2つ機能はdbms_defer_sys.schedule_executionというパッケージにまとめられていましたが、Oracle8から、遅延トランザクションキューの中身を送信するためのdbms_defer_sys.schedule_pushと、遅延トランザクションキューの中身を削除するためのdbms_defer_sys.schedule_purgeというプロシージャに分けられました。

なぜかというと、purge(削除)は負荷が高く、また送信する度に行う必要がないためです。2つの機能を分けることにより、昼間定期的に送信を行い、夜間にまとめてキューの中身を削除する、といった使い方が可能になりました。

50

Page 50

®50

【【【【4.4.4.4.マルチマスターレプリケーションの構築手順】マルチマスターレプリケーションの構築手順】マルチマスターレプリケーションの構築手順】マルチマスターレプリケーションの構築手順】

③ レプリケートグループを作成する。

� マスター定義サイトに空のレプリケートグループを作成する。

� レプリケートグループとは、レプリケートオブジェクトを管理する単位です。

*このフェーズはマスター定義サイトでのみ実行します。

作成方法execute dbms_repcat.create_master_repgroup(- gname => 'GROUP1');

確認方法: select * from dba_repgroup;削除API: dbms_repcat.drop_master_repgroup

51

Page 51

®51

【【【【4.4.4.4.マルチマスターレプリケーションの構築手順】マルチマスターレプリケーションの構築手順】マルチマスターレプリケーションの構築手順】マルチマスターレプリケーションの構築手順】

④ レプリケートオブジェクトを追加する。

� マスター定義サイトのレプリケートグループにレプリケートしたいオブジェクトを追加する。

*このフェーズはマスター定義サイトでのみ実行します。

作成方法execute dbms_repcat.create_master_repobject(- sname => 'REPUSER1',- oname => 'EMP',- type => 'TABLE',- gname => 'GROUP1');

確認方法:select * from dba_repobject;削除API :dbms_repcat.drop_master_repobject

52

Page 52

®52

【【【【4.4.4.4.マルチマスターレプリケーションの構築手順】マルチマスターレプリケーションの構築手順】マルチマスターレプリケーションの構築手順】マルチマスターレプリケーションの構築手順】

⑥⑥⑥⑥ レプリケーションサポートオブジェクトを作成する。

� レプリケーションをサポートするのに必要なトリガー、パッケージを作成する。

*このフェーズはマスター定義サイトでのみ実行します。

作成方法execute dbms_repcat.generate_replication_support( - sname => 'REPUSER1',- oname => 'EMP',- type => 'TABLE');

確認方法:select * from dba_repobject;削除API :dbms_repcat.drop_master_repobjectで同時に消える。

53

Page 53

®53

【【【【4.4.4.4.マルチマスターレプリケーションの構築手順】マルチマスターレプリケーションの構築手順】マルチマスターレプリケーションの構築手順】マルチマスターレプリケーションの構築手順】

⑦ 新しいマスターサイトを追加する。

� レプリケート環境に新しいマスターサイトを追加する。

*このフェーズはマスター定義サイトでのみ実行します。

作成方法execute dbms_repcat.add_master_database(- gname => 'GROUP1',- master => 'db1.world');

確認方法:select * from dba_repsites;削除API :dbms_repcat.remove_master_databases

各マスターサイト:dbms_repcat.drop_master_repgroup

54

Page 54

®54

【【【【4.4.4.4.マルチマスターレプリケーションの構築手順】マルチマスターレプリケーションの構築手順】マルチマスターレプリケーションの構築手順】マルチマスターレプリケーションの構築手順】

⑧ レプリケーションの動作を開始する。

� レプリケート動作を開始する。

*このフェーズはマスター定義サイトでのみ実行します。

作成方法execute dbms_repcat.resume_master_activity( - gname => 'GROUP1');

確認方法:select id,request,status from dba_repcatlog;停止API :dbms_repcat.suspend_master_activity

55

Page 55

®55

内容内容内容内容

1.レプリケーションとは?利点は?

2.レプリケーションの種類と比較

3.基本レプリケーションの構築手順

読込み専用スナップショットを使ったレプリケーション

4.マルチマスターレプリケーションの構築手順

55.スナップショットサイトレプリケーションの.スナップショットサイトレプリケーションの

構築手順構築手順

更新可能スナップショットを使ったレプリケーション

56

Page 56

®56

【【【【5.5.5.5.スナップショットサイトレプリケーションの構築手順】スナップショットサイトレプリケーションの構築手順】スナップショットサイトレプリケーションの構築手順】スナップショットサイトレプリケーションの構築手順】

スナップショットサイトレプリケーションスナップショットサイトレプリケーションスナップショットサイトレプリケーションスナップショットサイトレプリケーション

環境の作成手順環境の作成手順環境の作成手順環境の作成手順

① ユーザ作成・権限の付与

*② レプリケートグループを作成する。

*③ レプリケートグループにレプリケートオブジェクトを追加する。

*④ (競合解消ルーチンが必要な場合)競合解消ルーチンを設定する。

*⑤ レプリケーションをサポートするために必要なトリガー等を作成する。

*⑥ (高速リフレッシュをする場合)スナップショットログを作成する。

@⑦ マスターサイトへのデータベースリンクを作成する。

@⑧ 更新可能スナップショットを作成する。

@⑨ スナップショット・レプリケーション・オブジェクトグループを作る。

@⑩ レプリケートオブジェクトをスナップショットサイトに追加する。

@⑪ リフレッシュ・グループを作成する。

*青字の部分はマスターサイトでのみ実行します。@赤字の部分はスナップショットサイトでのみ実行します。

NEW

57

Page 57

®57

【【【【5.5.5.5.スナップショットサイトレプリケーションの構築手順】スナップショットサイトレプリケーションの構築手順】スナップショットサイトレプリケーションの構築手順】スナップショットサイトレプリケーションの構築手順】

⑧ 更新可能スナップショットを作成する。

@このフェーズはスナップショットサイトでのみ実行します。

CREATE SNAPSHOT emp

REFRESH FAST

FOR UPDATE

AS SELECT * from scott.emp@db804;

リフレッシュ方法の指定リフレッシュ方法の指定リフレッシュ方法の指定リフレッシュ方法の指定[ FAST|COMPLETE | FORCE ]

自動リフレッシュタイミングの指定もできるが、自動リフレッシュタイミングの指定もできるが、自動リフレッシュタイミングの指定もできるが、自動リフレッシュタイミングの指定もできるが、リフレッシュグループで指定するので指定しない。リフレッシュグループで指定するので指定しない。リフレッシュグループで指定するので指定しない。リフレッシュグループで指定するので指定しない。

スナップショットの定義問合せスナップショットの定義問合せスナップショットの定義問合せスナップショットの定義問合せ

更新可能の指定更新可能の指定更新可能の指定更新可能の指定

58

Page 58

®58

【【【【5.5.5.5.スナップショットサイトレプリケーションの構築手順】スナップショットサイトレプリケーションの構築手順】スナップショットサイトレプリケーションの構築手順】スナップショットサイトレプリケーションの構築手順】

⑨ スナップショットレプリケーショングループの作成

@このフェーズはスナップショットサイトでのみ実行します。

作成方法execute dbms_repcat.create_snapshot_repgroup(- gname => 'GROUP1',

master => �db1.world�);

確認方法: select * from dba_repgroup;削除API: dbms_repcat.drop_snapshot_repgroup

� 空のスナップショットレプリケーショングループを作成する。

� マスターレプリケートグループと同じ名前にする。

59

Page 59

®59

【【【【5.5.5.5.スナップショットサイトレプリケーションの構築手順】スナップショットサイトレプリケーションの構築手順】スナップショットサイトレプリケーションの構築手順】スナップショットサイトレプリケーションの構築手順】

⑩ スナップショットレプリケーションオブジェクトの作成

@このフェーズはスナップショットサイトでのみ実行します。

� スナップショットサイトのスナップショットレプリケートグループにレプリケートしたいオブジェクトを追加する。

作成方法execute dbms_repcat.create_snapshot_repobject(- sname => 'REPUSER1',- oname => 'EMP',- type => 'TABLE',- gname => 'GROUP1');

確認方法:select * from dba_repobject;削除API :dbms_repcat.drop_snapshot_repobject

60

Page 60

®60

今回のセミナーの内容は・・

1.レプリケーションとは?利点は?

2.レプリケーションの種類と比較

3.基本レプリケーションの構築手順

読込み専用スナップショットを使ったレプリケーション

4.マルチマスターレプリケーションの構築手順

5.スナップショットサイトレプリケーションの構築手順

更新可能スナップショットを使ったレプリケーション

61

Page 61

®61

Q & A

62

Page 62

®62

この文書はあくまでも参考資料であり、掲載されている情報は予告なしに変更される事があります。この文書に関連して不都合が生じた場合も、米国オラクル社及び日本オラクル株式会社は一切保証せず、特に責任は負いかねますのでご容赦ください。

また許可なく改編、引用する事を禁じます。