3.6.3 Get Autonomous Database Client Credentials

MicroTx supports using Oracle Database as a data store to keep track of transaction information.

Skip this task if you are not using an Autonomous Database instance.
If you are using an Autonomous Database instance, perform the following steps to retrieve the Oracle client credentials (wallet files):
  1. Download the wallet from the Autonomous Database instance. See Download Client Credentials (Wallets) in Using Oracle Autonomous Database on Shared Exadata Infrastructure.

    A ZIP file is downloaded to your local machine. Let's consider that the name of the wallet file is Wallet_database.zip.

  2. Unzip the wallet file.
    unzip Wallet_database.zip

    The files are extracted to a folder. Note down the name of this folder. You will need to provide it in the next steps.

  3. Create a configuration map to store the location of the folder where you have extracted the wallet files.

    Perform this step only if you want to deploy MicroTx in a Kubernetes cluster.

    Ensure that you create the configuration map in the namespace where you want to deploy MicroTx.

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

    Where,

    • db-wallet-configmap is the name of the configuration map that you want to create. Note down this name as you will need to provide this name in the values.yaml file while deploying MicroTx.
    • Wallet_database_folder is the folder where you have extracted the contents of the zipped wallet file.
    • otmm is the namespace where you want to deploy MicroTx.

    Replace these values with values that are specific to your environment.

  4. Perform the following steps to create the connection string for the data store of MicroTx Distributed Transactions.

    1. Create the connection string to the data store in Oracle Database.

      If you are using a non-autonomous Oracle Database (a database that does not use a credential wallet), use the following format to enter the connection string:
      <publicIP>:<portNumber>/<database unique name>.<host domain name>

      For example, 123.213.85.123:1521/CustDB_iad1vm.sub05031027070.customervcnwith.oraclevcn.com.

    2. Append &wallet_location=/app/Wallet to the connection string that you have created in the previous step. For example:
      tcps://adb.us-ashburn-1.oraclecloud.com:1522/bfeddi_adw1_medium.adb.oraclecloud.com?retry_count=20&retry_delay=3&wallet_location=/app/Wallet

      Where, /app/Wallet is the location where you have downloaded the wallet file.

  5. Perform the following steps to create the database connection string for the data store of MicroTx Workflows.

    1. Create the connection string to the data store in Oracle Database.

      If you are using a non-autonomous Oracle Database (a database that does not use a credential wallet), use the following format to enter the connection string:
      jdbc:oracle:thin:@//<publicIP>:<portNumber>/<database unique name>.<host domain name>

      The following example is a sample connection string to a database instance without using wallet.

      jdbc:oracle:thin:@//oracle-db-oracle-db23c-free.oracledb-free.svc.cluster.local:1521/FREEPDB1

      The following example is a sample connection string to an ATP database instance without using wallet.

      jdbc:oracle:thin:@tcps://adb.us-ashburn-1.oraclecloud.com:1522/microtx26ai_tpurgent.adb.oraclecloud.com?retry_count=20&retry_delay=3&connection_timeout=30000&tcp_keepalive=true
    2. Append &wallet_location=/app/oracle/Wallet to the connection string that you have created in the previous step. For example:
      jdbc:oracle:thin:@tcps://adb.us-ashburn-1.oraclecloud.com:1522/microtx26ai_tpurgent.adb.oraclecloud.com?retry_count=20&retry_delay=3&wallet_location=/app/oracle/wallet
  6. Note down the connection strings as you'll have to provide this value later in the Helm chart, values.yaml file.

Next, based on the environment in which you want to install MicroTx Distributed Transactions, create a Docker secret or Kubernetes secret to provide the Oracle Database login details.