ヘッダーをスキップ

Oracle TimesTen Replication - TimesTen to TimesTen開発者および管理者ガイド リリース6.0 B25769-01 |
| 目次 | 索引

前へ | 次へ |

## レプリケーション･スキームの変更

ALTER REPLICATIONを使用して、マスターおよびサブスクライバのデータ・ストアのレプリケーション・スキームを変更することができます。また、マスター・データ・ストアに対する変更は、そのサブスクライバに対しても行う必要があります。

注意: アクセス制御を有効にしてTimesTenをインストールした場合、ALTER REPLICATION文を使用するには、データ・ストアに対するDDL権限が必要です。詳細は、『Oracle TimesTen In-Memory Databaseインストレーション・ガイド』のアクセス制御とroot以外のインストールに関する章を参照してください。

ALTER REPLICATIONを使用してDATASTORE要素を指定するレプリケーション・スキームを変更する場合は、次のことに注意してください。

- SET NAMEを使用して、DATASTORE要素の名前を変更することはできません。
- SET CHECK CONFLICTSを使用して、競合解消を有効にすることはできません。

ほとんどのALTER REPLICATION処理は、レプリケーション・エージェントが停止している場合（ttAdmin -repStop）にのみサポートされます。ただし、レプリケーション・エージェントの実行中にデータ・ストアをレプリケーション・スキームに動的に追加することは可能です（「サブスクライバ・データ・ストアの作成および追加」を参照）。

レプリケーション・エージェントを停止する必要があるALTER REPLICATION処理の手順は、次のとおりです。

- ttRepStopプロシージャまたはttAdmin -repStopを使用して、マスターおよびサブスクライバのデータ・ストアのレプリケーション・エージェントを停止します。レプリケーション・エージェントの停止中、マスター・データ・ストアへの変更はログに格納されます。
- マスターとサブスクライバの両方のデータ・ストアで、同じALTER REPLICATION文を発行します。
- ttRepStartプロシージャまたはttAdmin -repStartを使用して、マスターおよびサブスクライバのデータ・ストアのレプリケーション・エージェントを再起動します。マスター・データ・ストアのログに格納されている変更がサブスクライバ・データ・ストアに送信されます。

この項の内容は次のとおりです。

- 既存のレプリケーション・スキームへの表の追加
- 既存のレプリケーション・スキームへのキャッシュ・グループの追加
- 既存のレプリケーション・スキームへのDATASTORE要素の追加
- レプリケーション・スキームからの表の削除
- サブスクライバ・データ・ストアの作成および追加
- サブスクライバ・データ・ストアの削除
- TABLE要素名の変更
- マスター・データ・ストアの交換
- 競合検出の無効化
- RETURN RECEIPTサービスの無効化
- ポート番号の変更

## 既存のレプリケーション・スキームへの表の追加

既存のレプリケーション・スキームに表を追加するには、次の2つの方法があります。

- レプリケーション・スキームの要素レベルがTABLEの場合は、ADD ELEMEN句を指定してALTER REPLICATION文を使用し、表を追加します。例6.1を参照してください。
- レプリケーション・スキームの要素レベルがDATASTOREの場合は、ALTER ELEMENT句を指定してALTER REPLICATION文を使用し、表を追加します。例6.2を参照してください。

##### 例6.1

この例では、例3.25で定義したレプリケーション・スキームrepl.r1を使用します。レプリケーション・スキームrepl.r1を変更して、表westleadsを追加します。この表は、データ・ストアwestdsで更新され、データ・ストアeastdsにレプリケートされます。

    ALTER REPLICATION repl.r1
       ADD ELEMENT elem_westleads TABLE repl.westleads
          MASTER westds ON "westcoast"
          SUBSCRIBER eastds ON "eastcoast";

##### 例6.2

my.tab1表をmy.rep1レプリケーション・スキームのds1 DATASTORE要素に追加します。

    ALTER REPLICATION my.rep1
      ALTER ELEMENT ds1 DATASTORE
         INCLUDE TABLE my.tab1;

## 既存のレプリケーション・スキームへのキャッシュ・グループの追加

既存のレプリケーション・スキームのDATASTORE要素に、キャッシュ・グループを追加できます。ALTER ELEMENT句およびINCLUDE CACHE GROUP句を指定してALTER REPLICATION文を使用します。

##### 例6.3

my.cg1キャッシュ・グループをmy.rep1レプリケーション・スキームのds1 DATASTORE要素に追加します。

    ALTER REPLICATION my.rep1
      ALTER ELEMENT ds1 DATASTORE
         INCLUDE CACHE GROUP my.cg1;

## 既存のレプリケーション・スキームへのDATASTORE要素の追加

ADD ELEMENT句を指定してALTER REPLICATION文を使用すると、既存のレプリケーション・スキームにDATASTORE要素を追加できます。INCLUDEまたはEXCLUDE句を使用しない場合、一時表を除くすべての表、マテリアライズド・ビューまたは非マテリアライズド・ビューがデータ・ストアに含まれます。「DATASTORE要素追加時の表またはキャッシュ・グループの挿入」および「DATASTORE要素追加時の表またはキャッシュ・グループの除外」を参照してください。

##### 例6.4

既存のレプリケーション・スキームにDATASTORE要素を追加します。

    ALTER REPLICATION my.rep1
      ADD ELEMENT ds1 DATASTORE
         MASTER rep2
         SUBSCRIBER rep1, rep3;

### DATASTORE要素追加時の表またはキャッシュ・グループの挿入

既存のレプリケーション・スキームにデータ・ストアを追加する場合は、特定の表およびキャッシュ・グループのみを含めることができます。ADD ELEMENT句およびINCLUDE TABLE句またはINCLUDE CACHE GROUP句を指定してALTER REPLICATION文を使用します。同じALTER REPLICATION文のオブジェクト・タイプ（表およびキャッシュ・グループ）ごとに1つのINCLUDE句を使用できます。

##### 例6.5

ds1 DATASTORE要素をmy.rep1レプリケーション・スキームに追加します。my.tab2表、my.cg2キャッシュ・グループおよびmy.cg3キャッシュ・グループをDATASTORE要素に含めます。

    ALTER REPLICATION my.rep1
      ADD ELEMENT ds1 DATASTORE
         MASTER rep2
         SUBSCRIBER rep1, rep3
         INCLUDE TABLE my.tab2
         INCLUDE CACHE GROUP my.cg2, my.cg3;

### DATASTORE要素追加時の表またはキャッシュ・グループの除外

既存のレプリケーション・スキームにDATASTORE要素を追加する場合は、表またはキャッシュ・グループを除外できます。ADD ELEMENT句およびEXCLUDE TABLE句またはEXCLUDE CACHE GROUP句を指定してALTER REPLICATION文を使用します。同じALTER REPLICATION文のオブジェクト・タイプ（表およびキャッシュ・グループ）ごとに1つのEXCLUDE句を使用できます。

##### 例6.6

ds2 DATASTORE要素をレプリケーション・スキームに追加しますが、my.tab1表、my.cg0キャッシュ・グループおよびmy.cg1キャッシュ・グループは除外します。

    ALTER REPLICATION my.rep1
      ADD ELEMENT ds2 DATASTORE
         MASTER rep2
         SUBSCRIBER rep1
         EXCLUDE TABLE my.tab1
         EXCLUDE CACHE GROUP my.cg0, my.cg1;

## レプリケーション・スキームからの表の削除

この項の内容は次のとおりです。

- DATASTORE要素の一部としてレプリケートされる表の削除
- TABLE要素としてレプリケートされる表の削除

### DATASTORE要素の一部としてレプリケートされる表の削除

DATASTOREレベルでレプリケーション・スキームに含まれている表を削除するには、次のタスクを実行します。

1. レプリケーション・エージェントを停止します。
2. レプリケーション・スキームのDATASTORE要素から表を除外します。
3. 表を削除します。

その表が含まれているDATASTORE要素が複数存在する場合は、その表を削除する前に各要素からその表を除外する必要があります。

##### 例6.7

my.rep1レプリケーション・スキームのds1 DATASTORE要素からmy.tab1表を除外します。その後、表を削除します。

    ALTER REPLICATION my.rep1
      ALTER ELEMENT ds1 DATASTORE
         EXCLUDE TABLE my.tab1;
    DROP TABLE my.tab1;

### TABLE要素としてレプリケートされる表の削除

TABLEレベルでレプリケーション・スキームに含まれている表を削除するには、次のタスクを実行します。

1. レプリケーション・エージェントを停止します。
2. 要素をレプリケーション・スキームから削除します。
3. 表を削除します。

##### 例6.8

my.rep1レプリケーション・スキームからds1要素を削除します。その後、my.tab1表を削除します。

    ALTER REPLICATION my.rep1
      DROP ELEMENT ds1;
    DROP TABLE my.tab1;

## サブスクライバ・データ・ストアの作成および追加

レプリケーション・エージェントの実行中は、新しいサブスクライバ・データ・ストアを追加できます。データ・ストアをレプリケーション・スキームに追加するには、次のタスクを実行します。

1. 新しいデータ・ストアが存在しないことを確認します。
2. 関連するすべてのデータ・ストアに適切な文を適用します。

             ALTER REPLICATION ...
                  ALTER ELEMENT ...
                      ADD SUBSCRIBER ...

3. ttRepAdmin -duplicateコマンドを実行し、新しく作成したサブスクライバにマスター・データ・ストアの内容をコピーします。-setMasterRepStartオプションを使用すると、複製処理後にマスターに対して行われた更新もサブスクライバにコピーできます。
4. 新しく作成したデータ・ストアでレプリケーション・エージェントを起動します（ttAdmin -repStart）。

##### 例6.9

この例では、repl.r1レプリケーション・スキームを変更して、追加のサブスクライバ（backup3）をwestleads表に追加します（前述の手順2）。

    ALTER REPLICATION repl.r1
      ALTER ELEMENT elem_westleads
          ADD SUBSCRIBER backup3 ON "backupserver";

## サブスクライバ・データ・ストアの削除

サブスクライバ・データ・ストアを削除する前に、レプリケーション・エージェントを停止します。

この例では、repl.r1レプリケーション・スキーム変更して、westleads表のbackup3サブスクライバを削除します。

##### 例6.10

    ALTER REPLICATION repl.r1
       ALTER ELEMENT elem_westleads
          DROP SUBSCRIBER backup3 ON "backupserver";

## TABLE要素名の変更

TABLE要素名を変更する前に、レプリケーション・エージェントを停止します。

westleads表の要素名をelem_westleadsからnewelnameに変更します。

##### 例6.11

    ALTER REPLICATION repl.r1
       ALTER ELEMENT Eelem_westleads
          SET NAME newelname;

注意: SET NAME句を使用して、DATASTORE要素の名前を変更することはできません。

## マスター・データ・ストアの交換

マスター・データ・ストアを交換する前に、レプリケーション・エージェントを停止します。

この例では、現在はマスターとしてwestdsが設定されているすべての要素に新しいマスターnewwestdsを設定します。

##### 例6.12

    ALTER REPLICATION repl.r1
       ALTER ELEMENT * IN westds
          SET MASTER newwestds;

## 競合検出の無効化

この例では、例8.2に示されているスキームのcheck conflicts句で設定した競合検出を、elem_accounts_1表に対して無効にします。

##### 例6.13

    ALTER REPLICATION repl.r1
       ALTER ELEMENT elem_accounts_1
          SET NO CHECK;

    競合検出の詳細は、「レプリケーション競合の検出および解消」を参照してください。

## RETURN RECEIPTサービスの無効化

この例では、例3.25に示されているスキームの最初のサブスクライバに対してRETURN RECEIPTサービスを無効にします。

##### 例6.14

    ALTER REPLICATION repl.r1
       ALTER ELEMENT elem_waccounts
          ALTER SUBSCRIBER eastds ON "eastcoast"
             SET NO RETURN;

## ポート番号の変更

ポート番号とは、サブスクライバ・データ・ストアのレプリケーション・エージェントがマスター・レプリケーション・エージェントからの接続リクエストを受け入れるTCP/IPポート番号のことです。レプリケーション・エージェントへのポートの割当て方法の詳細は、「動的ポート割当ておよび静的ポート割当て」を参照してください。

この例では、repl.r1レプリケーション・スキームを変更して、eastdsデータ・ストアのポート番号を22251に変更します。

##### 例6.15

    ALTER REPLICATION repl.r1
       ALTER STORE eastds ON "eastcoast"
         SET PORT 22251;