Corredor

ウェブ、プログラミングの勉強メモ。

Oracle Autonomous Transaction Processing・Autonomous Data Warehouse を無料枠で試してみた

Oracle の ATP : Autonomous Transaction ProcessingADW : Autonomous Data Warehouse を無料枠で作成し、同じく無料枠の Compute Instance より接続してみた。

Compute Instance の作成手順は以下の記事でまとめたのでご参考に。

neos21.hatenablog.com

ATP・ADW の作成

まずは ATP・ADW を作成してみる。どちらかだけでも良いし、両方作ったりしても良い。

  1. OCI 管理コンソール左上のハンバーガーメニュー → Autonomous Transaction Processing もしくは Autonomous Data Warehouse を選択する
  2. 「Create Autonomous Database」ボタンを押下する
  3. 「Provide basic information for the Autonomous Database」でコンパートメント、DB 名などを指定する
  4. 「Choose a workload type」で「Transaction Processing」もしくは「Data Warehouse」を選択する
  5. 「Choose a deployment type」で「Serverless」を選択する
  6. 「Configure the database」で「Always Free」にチェックを入れる
  7. 「Create administrator credentials」で任意のパスワードを入力する
    • 初回の DB ユーザ名は ADMIN で固定になっている
  8. 最下部の「Create Autonomous Database」ボタンを押下する

無料枠では2つまで DB が作れるので、ATP 1つ、ADW 1つを作って違いを試してみても良いだろう。

ウォレットのダウンロード

続いて、DB に接続するためのクレデンシャル情報である、「ウォレット」をダウンロードする。

  1. 作成した DB 名のリンクを押下し、詳細画面に移動する
  2. 「DB Connection」ボタンを押下し、「Download Wallet」ボタンを押下する。
  3. DB 作成時に入力したパスワードを入力し、Wallet_【DB 名】.zip ファイルをダウンロードする

Oracle Linux に SQL*Plus をインストールする

Compute Instance に SSH 接続し、SQL*Plus をインストールする。

  1. SQL*Plus の動作に必要な基本ツール (Basic) と本体を、次のページよりダウンロードする
    • Oracle Instant Client Downloads
    • 「Instant Client Downloads for Linux x86-64 (64-bit) 」リンクを押下する
    • oracle-instantclient19.3-basic-19.3.0.0.0-1.x86_64.rpm oracle-instantclient19.3-sqlplus-19.3.0.0.0-1.x86_64.rpm をダウンロードする
  2. ダウンロードした2つの .rpm ファイルを OCI インスタンスに scp 等でアップロードする
    • $ scp ./oracle-instantclient19.3-basic-19.3.0.0.0-1.x86_64.rpm my-oci:/home/opc
    • $ scp ./oracle-instantclient19.3-sqlplus-19.3.0.0.0-1.x86_64.rpm my-oci:/home/opc
  3. 先程ダウンロードしたウォレットの Zip ファイルを OCI インスタンスにアップロードする
    • $ scp ./Wallet-【DB 名】.zip my-oci:/home/opc
  4. OCI インスタンスに SSH ログインする
  5. .rpm ファイルを使用して rpm コマンドでインストールする
    • $ sudo rpm -ivh oracle-instantclient19.3-basic-19.3.0.0.0-1.x86_64.rpm
    • $ sudo rpm -ivh oracle-instantclient19.3-sqlplus-19.3.0.0.0-1.x86_64.rpm
    • コレで sqlplus コマンドが動作するようになっている
  6. ウォレットの Zip ファイルを ~/wallet (/home/opc/wallet) ディレクトリ配下に解凍する
    • $ mkdir ~/wallet$ mv ./Wallet-【DB 名】.zip ~/wallet
    • $ cd ~/wallet$ unzip ./Wallet-【DB 名】.zip
  7. 解凍したファイルのうち、sqlnet.ora ファイルを開き、DIRECTORY="?/network/admin"となっている部分を、このファイルが格納されているディレクトリパスに書き換える
    • WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="/home/opc/wallet")))
  8. 次のように環境変数を設定する
    • $ export TNS_ADMIN='/home/opc/wallet'
  9. tnsnames.ora を参照して DB 名を確認し、次のように sqlplus コマンドを実行する
    • $ sqlplus 'ADMIN/【パスワード】@myatp_high'
    • $ sqlplus 'ADMIN/【パスワード】@myadw_high'
    • tnsnames.ora で定義されている DB 名に接続できる。ATP と ADW を作成した場合、1つのウォレットファイルに複数の接続先が同梱されていると思われるので、適宜編集して利用する

以上。コレで SQL*Plus を使って ATP や ADW に接続できた。接続した後の画面は通常の Oracle DB と特に変わりないかな。

SQL*Plus のダウンロードが地味に面倒。あとウォレットとかいうかったるい認証機構で、古い Oracle DB 民は戸惑う…。

参考文献

絵で見てわかるシステム構築のためのOracle設計 DB Selection

絵で見てわかるシステム構築のためのOracle設計 DB Selection