フォールバック状態データベースの作成

Oracle Databaseに接続して、フォールバック状態データベースを作成できます。ハイブリッド状態データベース・モデルはフォールバック状態データベースを使用します。フォールバック状態データベースは、ピア上の埋込み状態データベースに問題がある場合にプライマリ状態データベースになります。

フォールバック状態データベースとは

フォールバック状態データベースは、状態データベースのセカンダリ・コピーをOracle Databaseに保持し、プライマリ状態データベースは埋込みBerkeley DBに格納されます。

状態データベースは、ピアが結合されているすべてのチャネルの各ピアに格納されます。Oracle Blockchain Platformは、ピア・ノード上の埋込みデータベースとしてBerkeley DBを使用します。ピアがクラッシュまたは再起動すると、状態データベースが破損する可能性があります。Oracle Blockchain Platformは、元帳から破損した状態データベースを自動的に検出して再構築しますが、これは、元帳のサイズとブロック数に応じてかなりの時間がかかる場合があります。ピアノードは、再構築プロセス中のトランザクションの承認またはコミットには使用できません。

ハイブリッド状態データベース・モデルは、外部Oracle Databaseをフォールバックとして追加します。通常の操作では、ピアは完全な同期ブロックをBerkeley DB状態データベースにコミットし、非同期はフォールバック・データベースにコミットします。埋込み状態データベースに障害が発生すると、Berkeley DB状態データベースが非同期に再構築されている間、ピアは同期コミットにOracle Databaseを使用するように自動的に切り替えます。再構築プロセスが完了すると、ピアは通常の操作に戻ります。

Oracle Autonomous Transaction Processingをフォールバック・データベースとして使用する必要があります。

フォールバック状態データベースの有効化

コンソールを使用してデータベース接続情報を指定し、フォールバック状態データベースを構成するピアを選択します。

  1. コンソールに移動し、タイトル・バーの「その他のアクション」アイコンをクリックすると、インスタンスの名前も表示されます。
  2. 「フォールバック状態データベースの構成」をクリックします。
    「フォールバック状態データベースの構成」ウィンドウが表示されます。
  3. Oracle Autonomous Transaction Processingの接続情報を指定します。
    1. すでにリッチ履歴データベースを構成しており、フォールバック状態データベースに同じ接続情報を使用する場合は、「リッチ履歴データベース構成の使用」をクリックして、Oracle Databaseの同じインスタンスをフォールバック状態データベースとして使用します。それ以外の場合は、「ユーザー名」「パスワード」および「接続文字列」を指定し、オプションでウォレット・ファイルをアップロードします。接続文字列の詳細は、Oracle Database Classic Cloud Service接続文字列の作成を参照してください。
    2. ネットワーク内のすべてのピアのフォールバック・データベースを構成するには、「すべてのピアに対して有効化」をクリックします。
    3. 新しく追加された(スケーリングされた)ピアのフォールバック・データベースを構成するには、「新しくスケーリングされたピアに対して有効化」をクリックします。
    4. 保存」をクリックします
      構成を適用すると、選択したすべてのピアが再起動されます。
  4. 特定のピアでフォールバック状態データベースを有効または無効にするには、ピア構成を編集します。
    1. 「ノード」タブをクリックします。
    2. ノード表で、変更するピアの「その他のアクション」アイコンをクリックし、「構成の編集」をクリックします。
    3. 「フォールバック状態データベース」で、「ENABLE」または「DISABLE」を選択し、「発行」をクリックします。

状態データベースの監視

ピア・ノードでフォールバック状態データベースを構成した後、状態データベースのステータスをモニターできます。

状態データベースのステータスをモニターするようにフォールバック状態データベースを構成する必要があります。
  1. コンソールに移動し、「ノード」タブをクリックします。
  2. ノード表で、モニターするピア・ノードの「その他のアクション」アイコンをクリックし、「状態データベースのモニター」をクリックします。
    状態データベースのステータスに関する次の情報を含む表が表示されます。
    チャネル名
    ピアが参加するチャネル。
    アクティブ・データベース
    現在同期ブロック・コミットを受け入れるデータベースは、プライマリ・データベース(Berkeley DB)またはフォールバック・データベース(Oracle Database)のいずれかです。
    元帳ブロックの高さ
    元帳に現在格納されているブロック数。
    プライマリデータベースの状態
    • SYNC_COMMITS: データベースは正常に同期モードで動作しています。
    • ASYNC_RECOVERY: データベースは非同期モードでコミットを処理しており、レジャー・ブロックの高さに追いつこうとしています。
    • ASYNC_ABORTED: データベースが非同期モードでコミットを処理している間に永続的なエラーが発生しました。または、非同期ブロック・キューがいっぱいです。いずれの場合も、根本的な問題を修正し、ピアを再起動する必要があります。
    プライマリ・データベースのブロックの高さ
    プライマリ状態データベースに現在格納されているブロックの数。
    フォールバック・データベースの状態
    • ASYNC_COMMITS: データベースは、非同期モードでフォールバックとして正常に動作しています。
    • SYNC_COMMITS: データベースは同期モードで動作しています。プライマリ・データベースに問題が発生したか、プライマリ・データベース・ブロックの高さがレジャー・ブロックの高さを下回っており、フォールバック・データベース・レジャーの高さがレジャー・ブロックの高さと等しいためです。
    • ASYNC_RECOVERY: データベースは非同期モードでコミットを処理しており、レジャー・ブロックの高さに追いつこうとしています。
    • ASYNC_ABORTED: データベースが非同期モードでコミットを処理している間に永続的なエラーが発生しました。または、非同期ブロック・キューがいっぱいです。いずれの場合も、根本的な問題を修正し、ピアを再起動する必要があります。
    フォールバック・データベースのブロックの高さ
    Oracle Database (フォールバック・データベース)に現在格納されているブロックの数。
    非同期キューの長さ
    現在の非同期データベースによる非同期処理を待機しているキュー内のブロック数。
    最後の非同期エラー
    非同期データベースに関連する最新のエラー。これには、接続または資格証明の問題、または非同期キューまたはキー・サイズの問題が含まれる場合があります。