クラスタの作成および初期化
クラスタの作成および初期化の手順を示します。
クラスタに複数のアクティブ・スタンバイ・ペアを含める予定の場合は、「クラスタでの複数のアクティブ・スタンバイ・ペアの包含」を参照してください。
リモート障害時リカバリ・サブスクライバとしてOracleデータベースを構成する場合は、「障害時リカバリ・サブスクライバとしてのOracleデータベースの構成」を参照してください。
Oracle Clusterwareで管理されない、読取り専用サブスクライバを設定する場合は、「Oracle Clusterwareで管理されない読取り専用サブスクライバの構成」を参照してください。
TimesTenクラスタ・エージェントの起動
ttCWAdmin -init
コマンドを実行して、クラスタ内のすべてのホストでTimesTenクラスタ・エージェント(ttCRSAgent
)およびTimesTenクラスタ・デーモン・モニター(ttCRSDaemon
)を起動します。
このコマンドは、ttcrsagent.options
ファイルで定義された、クラスタ内のどのホストでも実行できます。
たとえば:
ttCWAdmin -init
ttCWAdmin -init
コマンドによって、次の操作が実行されます。
-
ttcrsagent.options
ファイルを読み取り、このファイルに定義されている各ホストでTimesTenメイン・デーモンを起動します。 -
クラスタ内のすべてのホストで、TimesTenクラスタ・エージェント(
ttCRSAgent
)およびTimesTenクラスタ・デーモン・モニター(ttCRSDaemon
)が開始および登録されます。各ホストには、TimesTenのインストールのために1つのTimesTenクラスタ・エージェントと1つのTimesTenクラスタ・デーモン・モニターがあります。TimesTenクラスタ・エージェントが起動すると、Oracle Clusterwareによって各ホストでのTimesTenデーモンの監視が開始され、障害が発生するとTimesTenデーモンが再起動されます。
TimesTenクラスタ・エージェントおよびTimesTenクラスタ・デーモン・モニターをクラスタ内の特定のホストで起動および登録するには、-hosts
コマンドを使用して、クラスタ内の希望のホストを指定し、起動します。
ttCWAdmin -init -hosts "host1, host2"
ノート:
ttDaemonAdmin -stop
コマンドを実行する前に、ttCWAdmin -shutdown
を使用して、ローカル・ホストでTimesTenクラスタ・エージェントを停止する必要があります。停止しないと、クラスタ・エージェントがTimesTenデーモンを再起動します。
1つのホストでのTimesTenデータベースの作成および移入
アクティブ・データベースを配置するホストにデータベースを作成します。DSNはデータベース・ファイル名と同じである必要があります。
表、AWTキャッシュ・グループおよび読取り専用キャッシュ・グループなどのスキーマ・オブジェクトを作成し、適切なデータを使用して設定します。ただし、キャッシュ・グループを作成する前に、まず、キャッシャ・グループをロードするタイミングを決定する必要があります。
-
最高のパフォーマンスを達成するには、
ttCWAdmin -create
コマンドを実行する前に、キャッシュ・グループ表をOracle Database表からロードします。複製がアクティブ・データベース上で実行されてスタンバイ・データベース(およびすべてのサブスクライバ・データベース)が作成される前に初期データをキャッシュ・グループにロードすると、パフォーマンスのオーバーヘッドがより小さくなります。このオプションでは、次の手順を実行します。
-
キャッシュ・エージェントを次のように起動します。
call ttCacheStart;
ノート:
この時点では、
ttCWAdmin -start
コマンドは実行されていないため、キャッシュ・エージェントを起動できます。ttCWAdmin -start
コマンドを実行すると、キャッシュ・エージェントはすでに起動されており、処理を継続することを示すメッセージが表示されます。 -
LOAD CACHE GROUP
文を使用し、Oracle Database表からキャッシュ・グループ表をロードします。 -
自動リフレッシュを使用したキャッシュ・グループを使用する場合、
ALTER CACHE GROUP SET AUTOREFRESH STATE PAUSED
文を使用して、自動リフレッシュ状態をpauseに設定します。自動リフレッシュの状態は、ttCWAdmin -start
コマンドの処理の一環として、ON
に設定されます。
次の例は、自動リフレッシュを使用した読取り専用キャッシュ・グループを作成してデータをロードし、その後に自動リフレッシュ状態をpauseに設定する方法を示しています。
Command> call ttCacheStart; Command> CREATE READONLY CACHE GROUP my_cg AUTOREFRESH MODE INCREMENTAL INTERVAL 60 SECONDS FROM t1 (c1 NUMBER(22) NOT NULL PRIMARY KEY, c2 DATE, c3 VARCHAR(30)); Command> LOAD CACHE GROUP my_cg COMMIT EVERY 100 ROWS PARALLEL 4; Command> ALTER CACHE GROUP my_cg SET AUTOREFRESH STATE PAUSED;
-
-
または、「キャッシュ・グループのロード」の説明に従って、
ttCWAdmin -start
が完了してからキャッシュ・グループ表をロードします。データは、スタンバイ・データベースとすべてのサブスクライバ・データベースにレプリケートされます。
その他のホストでのシステムDSNファイルの作成
クラスタに含められるすべてのホストで、システムDSN (sys.odbc.ini
)ファイルを作成します。
DataStore
属性とData Source Name
は、cluster.oracle.ini
ファイルのエントリ名として同じである必要があります。「cluster.oracle.iniファイルによるOracle Clusterware管理の構成」を参照してください。
cluster.oracle.iniファイルの作成
cluster.oracle.ini
ファイルをテキスト・ファイルとして作成します。
このファイルの内容と許容可能な場所の詳細は、「cluster.oracle.iniファイルによるOracle Clusterware管理の構成」を参照してください。
仮想IPアドレスを管理するためのOracle Clusterwareリソースの作成
高度な可用性を実現するには、予備のマスター・ホストまたはサブスクライバ・ホストを構成します。これらのホストは、アクティブ・スタンバイ・ペア・レプリケーション・スキームで使用されるマスター・ホストまたはサブスクライバ・ホストが予期しないシャットダウンやリカバリ不能なエラーの発生により置換えが必要になるまで、アイドル状態に維持されます。
これはオプションのステップで、高度な可用性を構成することを決定した場合のみ実行する必要があります。
高度な可用性を実装するために追加のマスター・ホストまたはサブスクライバ・ホストを提供することを計画している場合、仮想IPアドレスを構成する必要があります(アクティブ・スタンバイ・ペアでアクティブに使用されている各マスター・ホストおよび各サブスクライバに1つずつ)。作成する必要がある仮想IPアドレスの数の詳細は、「高度な可用性の構成」を参照してください。
この場合、次の手順を実行します。
-
Oracle Clusterwareにより管理されているTimesTenレプリケーション環境の複数のホストを管理するためのみに使用される、ネットワーク上の新しい仮想IPアドレスを指定(または作成)します。
-
高度な可用性のために、複数のホストの管理に使用するこれらのVIPアドレスを
cluster.oracle.ini
ファイル内で構成します(「高度な可用性の構成」を参照)。 -
これらのVIPアドレスを管理するOracle Clusterwareリソースを、クラスタ内の任意のホストで
root
ユーザーとしてttCWAdmin -createVIPs
コマンドを実行して作成します。たとえば:
ttCWAdmin -createVIPs -dsn myDSN
このコマンドで作成されるVIPアドレスの名前は、
network_
で始まり、その後に、TimesTenインスタンス名、TimesTenインスタンス管理者およびDSNが続きます。一方、Oracle Clusterwareによる使用のために作成されるVIPアドレスは、ora
で始まります。ノート:
ttCWAdmin -create
コマンドの前に、ttCWAdmin -createVIPs
コマンドを実行する必要があります。ttCWAdmin -create
コマンドの実行後に、VIPアドレスを高度な可用性のために使用する場合、次の手順を実行する必要があります。-
ttCWadmin -drop
を実行して、アクティブ・スタンバイ・ペアのレプリケーション・スキームを削除します。 -
VIPアドレスを
cluster.oracle.ini
ファイルに追加します。 -
ttCWadmin -createVIPs
を実行して、VIPアドレスを管理するためのリソースを作成します。 -
ttCWAdmin -create
を実行して、Oracle Clusterwareにより管理されるアクティブ・スタンバイ・ペアのレプリケーション・スキームを作成します。
-
作成後、VIPアドレスを管理するOracle Clusterwareリソースを削除する唯一の方法は、ttCWAdmin -dropVIPs
コマンドを実行することです。仮想IPアドレスを削除する前に、最初にttCWAdmin -drop
コマンドを実行する必要があります。
次に、仮想IPアドレスを削除する方法の例を示します。
ttCWAdmin -dropVIPs -dsn myDSN
ttCWAdmin -dropVIPs
コマンドを使用する状況の例は、「クラスタからのアクティブ・スタンバイ・ペアの削除」を参照してください。
アクティブ・スタンバイ・ペアのレプリケーション・スキームの作成
クラスタ内の任意のホストでttCWAdmin -create
コマンドを実行して、アクティブ・スタンバイ・ペアのレプリケーション・スキームを作成します。
ノート:
cluster.oracle.ini
ファイルにはttCWAdmin -create
コマンドの実行に必要な構成が含まれているため、ttCWAdmin
実行可能ファイルがこのファイルにアクセスできることが必要です。「cluster.oracle.iniファイルによるOracle Clusterware管理の構成」を参照してください。
たとえば:
ttCWAdmin -create -dsn myDSN
ttCWAdmin -create
コマンドにより、次のプロンプトが表示されます。
-
ADMIN
権限を持つTimesTenユーザーの名前を求めるプロンプト。キャッシュ・グループがOracle Clusterwareにより管理されている場合は、TimesTenキャッシュ管理ユーザー名を入力します。 -
前の手順で入力したユーザー名のTimesTenパスワードを求めるプロンプト。
-
キャッシュ・グループが使用されている場合は、Oracleキャッシュ管理ユーザーのパスワードの入力を求められます。このパスワードは、そのキャッシュ管理ユーザーが接続したときに
OraclePWD
接続属性で提供されます。 -
前の手順の情報を暗号化するために使用するランダム文字列を求めるプロンプト。
cluster.oracle.ini
ファイルとして使用するファイルのパスと名前を指定する場合は、ttCWAdmin -create
コマンドの-ttclusterini
オプションを使用します。
ttCWAdmin -create -dsn myDSN -ttclusterini path/to/cluster/mycluster.ini
アクティブ・スタンバイ・ペアを削除するには、ttCWAdmin -drop
コマンドを次のように使用します。
ttCWAdmin -drop -dsn myDSN
ノート:
アプリケーションが仮想IPアドレスを使用してTimesTenデータベースに接続する場合、仮想IPアドレスはOracle Clusterwareにより管理されるため、この接続はttCWAdmin -drop
コマンドを使用して削除できます。ただし、アプリケーションがホスト名を使用してTimesTenデータベースに接続する場合、接続は削除されません。
ttCWAdmin -create
コマンドとttCWAdmin -drop
コマンドを使用する順序を示す例は、「クラスタでのアクティブ・スタンバイ・ペアの管理」および「アクティブ・スタンバイ・ペアでの読取り専用サブスクライバの管理」を参照してください。
アクティブ・スタンバイ・ペアおよびアプリケーションの起動
ttCWAdmin -start
コマンドを任意のホストで実行して、アクティブ・スタンバイ・ペアのレプリケーション・スキームでクラスタを起動します。
これによって、アクティブ・データベースでキャッシュ・エージェント(まだ起動していない場合)とレプリケーション・エージェントが起動され、複製が実行されてスタンバイ・データベース(およびすべてのサブスクライバ・データベース)が作成され、スタンバイ(およびすべてのサブスクライバ)でキャッシュ・エージェントとレプリケーション・エージェントが起動されます。
-noApp
オプションを指定しなかった場合は、アプリケーションも起動されます。-noApp
オプションを指定する場合は、-startApps
または-stopApps
オプションを使用してアプリケーションを起動または停止できます。
たとえば:
ttCWAdmin -start -dsn myDSN
このコマンドは、アクティブ・スタンバイ・ペアの次のプロセスを開始します。
-
TimesTenデーモン,
ttCRSMaster
の監視 -
アクティブ・サービス
ttCRSActiveService
-
スタンバイ・サービス
ttCRSsubservice
-
アプリケーション
AppName
の監視
次の例では、キャッシュ・エージェントおよびレプリケーション・エージェントを起動しますが、-noapp
オプションが含まれているため、アプリケーションは起動されません。
ttCWAdmin -start -noapp -dsn myDSN
アプリケーションを起動および停止するには、次に示すとおり、ttCWAdmin -startApps
および-stopApps
コマンドを使用します。
ttCWAdmin -startapps -dsn myDSN
ttCWAdmin -stopapps -dsn myDSN
TimesTenデータベース・モニター(ttCRSMaster
)、キャッシュ・エージェントおよびレプリケーション・エージェントを停止し、アプリケーションを両方のデータベースから切断するには、ttCWAdmin -stop
コマンドを実行します。
ttCWAdmin -stop -dsn myDSN
ノート:
アプリケーションが仮想IPアドレスを使用してTimesTenデータベースに接続する場合、仮想IPアドレスはOracle Clusterwareにより管理されるため、この接続はttCWAdmin -stop
コマンドを使用して削除できます。ただし、アプリケーションがホスト名を使用してTimesTenデータベースに接続する場合、接続は削除されませんが、スタンバイへのレプリケーションは発生しません。
ttCWAdmin -start
コマンドおよび-stop
コマンドを使用する順序を示す例は、「クラスタでのアクティブ・スタンバイ・ペアの管理」および「アクティブ・スタンバイ・ペアでの読取り専用サブスクライバの管理」を参照してください。
キャッシュ・グループのロード
LOAD CACHE GROUP
文を使用してOracleデータベース表からキャッシュ・グループ表をロードします。
「1つのホストでのTimesTenデータベースの作成および移入」を参照してください。
いつキャッシュ・グループをロードするかの詳細は、「1つのホストでのTimesTenデータベースの作成および移入」を参照してください。
クラスタでの複数のアクティブ・スタンバイ・ペアの包含
Oracle Clusterwareを使用してクラスタ内の複数のアクティブ・スタンバイ・ペアを管理する場合、cluster.oracle.ini
ファイルに追加の構成を含めます。
すべてのTimesTenデータベースが単一ホストの同じTimesTenインスタンスに含まれる場合のみ、Oracle Clusterwareはクラスタ内の1つ以上のアクティブ・スタンバイ・ペアを管理できます。
たとえば、次のcluster.oracle.ini
ファイルには、同一ホストの2つのアクティブ・スタンバイ・ペアのレプリケーション・スキームの構成情報が含まれます。
ノート:
「Oracle ClusterwareのTimesTen構成属性」を参照してください。
[advancedSubscriberDSN] MasterHosts=host1,host2,host3 SubscriberHosts=host4, host5 MasterVIP=192.168.1.1, 192.168.1.2 SubscriberVIP=192.168.1.3 VIPInterface=eth0 VIPNetMask=255.255.255.0 [advSub2DSN] MasterHosts=host1,host2,host3 SubscriberHosts=host4, host5 MasterVIP=192.168.1.4, 192.168.1.5 SubscriberVIP=192.168.1.6 VIPInterface=eth0 VIPNetMask=255.255.255.0
追加のレプリケーション・スキームに対して次の手順を実行します。
-
データベースを作成および移入します。
-
仮想IPアドレスを作成します。
ttCWAdmin -createVIPs
コマンドを使用します。 -
アクティブ・スタンバイ・ペアのレプリケーション・スキームを作成します。
ttCWAdmin -create
コマンドを使用します。 -
アクティブ・スタンバイ・ペアを開始します。
ttCWAdmin -start
コマンドを使用します。
障害時リカバリ・サブスクライバとしてのOracleデータベースの構成
「アクティブ・スタンバイ・ペアでの障害時リカバリ・サブスクライバの使用」を参照してください。
Oracle Clusterwareは、アクティブ・スタンバイ・ペアは管理しますが、障害時リカバリ・サブスクライバは管理しません。プライマリ・サイトに障害が発生した場合、ユーザーは、リモート・サイトを使用するよう明示的に切り替える必要があります。
Oracle Clusterwareを使用してリモート障害時リカバリ・サブスクライバを持つアクティブ・スタンバイ・ペアを管理するには、次の手順を実行します。