3.7 Oracle Databaseのデータ・ストアとしての設定

MicroTxのデータ・ストアを作成して、トランザクション・ログを格納します。データ・ストアとしてetcdまたはOracle Databaseを使用できます。

etcdをデータ・ストアとして設定する場合は、この項をスキップします。「etcdのデータ・ストアとしての設定」を参照してください。

MicroTxをインストールする前に、データ・ストアをインストールして構成する必要があります。トランザクション・コーディネータとデータ・ストアの間の通信を可能にするために必要なネットワーキング・ルールを設定してください。

Oracle Databaseの設定の詳細は、設定するデータベースに固有のドキュメントを参照してください。

データベースに表を作成するために必要な権限があることを確認してください。MicroTxをインストールすると、サービスによって必要な表がデータベースに作成されます。そのため、MicroTxにはデータベースに関する特定の詳細が必要です。

トピック:

3.7.1 Autonomous Databaseクライアント資格証明の取得

MicroTxでは、トランザクション情報を追跡するための永続ストアとしてOracle Databaseの使用がサポートされます。

Autonomous Databaseインスタンスを使用していない場合は、このタスクをスキップします。Autonomous Databaseインスタンスを使用している場合は、次のステップを実行してOracleクライアント資格証明(ウォレット・ファイル)を取得します:
  1. Autonomous Databaseインスタンスからウォレットをダウンロードします。共有ExadataインフラストラクチャでのOracle Autonomous Databaseの使用クライアント資格証明(ウォレット)のダウンロードに関する項を参照してください。

    ZIPファイルがローカル・マシンにダウンロードされます。ウォレット・ファイルの名前がWallet_database.zipであるとします。

  2. ウォレット・ファイルを解凍します。
    unzip Wallet_database.zip

    ファイルが1つのフォルダに抽出されます。このフォルダの名前を書き留めます。次のステップで提供する必要があります。

  3. ウォレット・ファイルを抽出したフォルダの場所を格納する構成マップを作成します。

    このステップは、KubernetesクラスタにMicroTxをデプロイする場合にのみ実行します。

    MicroTxをデプロイするネームスペースに構成マップを作成してください。

    kubectl create configmap db-wallet-configmap --from-file=/Wallet_database_folder/ -n otmm

    説明

    • db-wallet-configmapは、作成する構成マップの名前です。MicroTxをデプロイする際、values.yamlファイルにこの名前を指定するため、この名前を書き留めます。
    • Wallet_database_folderは、圧縮されたウォレット・ファイルの内容を抽出したフォルダです。
    • otmmは、MicroTxをデプロイするネームスペースです。

    これらの値を、環境に固有の値に置き換えます。

  4. Docker SwarmにMicroTxをデプロイする場合にのみ、次のステップを実行します。

    1. Oracle Databaseのデータ・ストアへの接続文字列を作成します。

      非自律型Oracle Database (資格証明ウォレットを使用しないデータベース)を使用している場合は、次の形式を使用して接続文字列を入力します:
      <publicIP>:<portNumber>/<database unique name>.<host domain name>

      たとえば、123.213.85.123:1521/CustDB_iad1vm.sub05031027070.customervcnwith.oraclevcn.comです。

    2. 前のステップで作成した接続文字列に&wallet_location=/app/Walletを追加します。たとえば:
      tcps://adb.us-ashburn-1.oraclecloud.com:1522/bfeldfxbtjvtddi_brijeshadw1_medium.adb.oraclecloud.com?retry_count=20&retry_delay=3&wallet_location=/app/Wallet

      ここで、/app/Walletは、ウォレット・ファイルをダウンロードした場所です。

      この値は後でtcs-docker-swarm.yamlファイルで指定する必要があるため、この接続文字列を書き留めます。

次に、MicroTxをインストールする環境に基づいて、DockerシークレットまたはKubernetesシークレットを作成して、Oracle Databaseログインの詳細を提供します。

3.7.2 Oracle Database資格証明のKubernetesシークレットの作成

MicroTxでは、トランザクション情報を追跡するための永続ストアとしてOracle Databaseの使用がサポートされます。

values.yamlファイルにOracle Database資格証明を指定する必要があります。MicroTxは、サービスのインストール後に資格証明を使用してデータベースへの接続を確立します。
Autonomous Databaseインスタンスを使用している場合は、次のステップを開始する前に、必ずウォレットをダウンロードして構成マップを作成してください。「Autonomous Databaseクライアント資格証明の取得」を参照してください。
Oracle Databaseログインの詳細を提供するKubernetesシークレットを作成するには:
  1. Oracle Databaseログインの詳細を使用してKubernetesシークレットを作成します。MicroTxをデプロイするネームスペースにKubernetesシークレットを作成してください。

    次のコマンドは、ユーザーacmeのパスワードを使用して、otmmネームスペースにdb-secretという名前のKubernetesシークレットを作成します。このコマンドを環境で実行する場合は、これらの値を環境に固有の値に置き換えます。

    kubectl create secret generic db-secret \
        --from-literal=secret='{"password":"*****", "username":"acme"}' -n otmm
  2. 作成したKubernetesシークレットの名前を書き留めます。この名前は、MicroTxのデプロイ中にvalues.yamlファイルに指定する必要があります。
values.yamlを、Oracle Database資格証明および接続文字列を格納するために作成したKubernetesシークレットの名前で更新します。また、Autonomous Databaseインスタンスを使用している場合は、構成マップの名前を指定します。