Oracle Autonomous Transaction Processing・Autonomous Data Warehouse を無料枠で試してみた
Oracle の ATP : Autonomous Transaction Processing と ADW : Autonomous Data Warehouse を無料枠で作成し、同じく無料枠の Compute Instance より接続してみた。
Compute Instance の作成手順は以下の記事でまとめたのでご参考に。
ATP・ADW の作成
まずは ATP・ADW を作成してみる。どちらかだけでも良いし、両方作ったりしても良い。
- OCI 管理コンソール左上のハンバーガーメニュー → Autonomous Transaction Processing もしくは Autonomous Data Warehouse を選択する
- 「Create Autonomous Database」ボタンを押下する
- 「Provide basic information for the Autonomous Database」でコンパートメント、DB 名などを指定する
- 「Choose a workload type」で「Transaction Processing」もしくは「Data Warehouse」を選択する
- 「Choose a deployment type」で「Serverless」を選択する
- 「Configure the database」で「Always Free」にチェックを入れる
- 「Create administrator credentials」で任意のパスワードを入力する
- 初回の DB ユーザ名は ADMIN で固定になっている
- 最下部の「Create Autonomous Database」ボタンを押下する
無料枠では2つまで DB が作れるので、ATP 1つ、ADW 1つを作って違いを試してみても良いだろう。
ウォレットのダウンロード
続いて、DB に接続するためのクレデンシャル情報である、「ウォレット」をダウンロードする。
- 作成した DB 名のリンクを押下し、詳細画面に移動する
- 「DB Connection」ボタンを押下し、「Download Wallet」ボタンを押下する。
- DB 作成時に入力したパスワードを入力し、
Wallet_【DB 名】.zip
ファイルをダウンロードする
Oracle Linux に SQL*Plus
をインストールする
Compute Instance に SSH 接続し、SQL*Plus
をインストールする。
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つの
.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
- 先程ダウンロードしたウォレットの Zip ファイルを OCI インスタンスにアップロードする
$ scp ./Wallet-【DB 名】.zip my-oci:/home/opc
- OCI インスタンスに SSH ログインする
.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
コマンドが動作するようになっている
- ウォレットの Zip ファイルを
~/wallet
(/home/opc/wallet
) ディレクトリ配下に解凍する$ mkdir ~/wallet
→$ mv ./Wallet-【DB 名】.zip ~/wallet
$ cd ~/wallet
→$ unzip ./Wallet-【DB 名】.zip
- 解凍したファイルのうち、
sqlnet.ora
ファイルを開き、DIRECTORY="?/network/admin"
となっている部分を、このファイルが格納されているディレクトリパスに書き換えるWALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="/home/opc/wallet")))
- 次のように環境変数を設定する
$ export TNS_ADMIN='/home/opc/wallet'
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 民は戸惑う…。
参考文献
- クライアント・アプリケーションを使用したAutonomous Transaction Processingへの接続
- クライアント資格証明(ウォレット)のダウンロード
- sqlplusコマンドのインストール(Linux) - のぶろぐ 30代のインフラエンジニアはこうです
- ORACLE-BASE - Oracle Cloud : Autonomous Transaction Processing (ATP) - Create Service
- Oracle Autonomous Data Warehouse Cloud を使ってみました!(1/3) – DBひとりでできるもん
- Linuxからsqlplusを利用してOracleに接続する - Qiita
- 【Oracle】sqlplus のインストールおよび設定手順 | 100%レンタルサーバーを使いこなすサイト