レプリケーション超入門 -...
Transcript of レプリケーション超入門 -...
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.スナップショットサイトレプリケーションの構築手順
更新可能スナップショットを使ったレプリケーション