CLIでAutonomous Data Warehouseに接続する方法

 2020.12.11  株式会社テリロジー 技術統括部

こんにちは、Tachanです。

来週の火曜日からOracle Cloud Daysが開催されますね。
みなさまは参加されますでしょうか。

Oracle Cloud Daysは2020年12月15日(火)~2020年12月18日(金)で開催され、
クラウド基盤の最新トレンドやデータ活用をベースにしたDXの実現をテーマに
多数のセッションが行われます。

ご登録がまだの方はコチラから申し込みできます!
https://www.oracle.com/jp/cloudday/

さて、今回はCLIでAutonomous Data Warehouseに接続する方法について書いていきます。

接続する手段

Autonomous DBとは世界初の自立型データベースであり、
データベースの全ライフサイクル(データベースの配置からバックアップおよび更新まで)を
完全に自動化しています。

また、ロー・コード開発プラットフォームのAPEXも利用できるので、
容易にアプリケーションの開発をすることができます。

Autonomous DBは

  1. Autonomous Data Warehouse、
  2. Autonomous Transaction Processing、
  3. Autonomous JSON Databaseに分かれています。

大量のデータに対して高速に問い合わせるのに最適なDBです。
すべての標準SQLおよびBusiness Intelligence (BI)ツールをサポートする設計になっており、
ワークロードに最適にチューニングされた環境で、Oracle Databaseのパフォーマンスすべてが提供されます。

問い合わせが短時間であり、高並行性もあります。
ミッション・クリティカルなトランザクション処理、トランザクションとアナリティクス、
IoTおよびJSONドキュメント・ストアも含まれています。

JSON中心のアプリケーション開発に向いており、
開発者が使いやすいAPIドキュメントや、ネイティブJSONのストレージが用意されています。

Autonomous Data Warehouseに接続する手段は、

  • DBの詳細画面の「ツール」タブからブラウザ接続する
  • クライアント・アプリケーションを使用した接続

があります。

今回はクライアント・アプリケーションを使って接続していきます。

接続するために必要なもの

事前に3つ準備していきます。

  • DBの作成
    Autonomous Data Warehouseを作成します。
  • クライアント資格証明(ウォレット)のダウンロード
    データベースに接続するにはクライアント資格証明と接続情報が必要になります。
    DBの詳細画面の「DB接続」タブからウォレットのダウンロードができます。
  • クライアント・アプリケーションのダウンロード
    使用しているOSに合わせて、
    • Basic Package
    • JDBC Supplement PackageまたはODBC Package
    をダウンロードします。

ダウンロードページは以下になります。
https://www.oracle.com/database/technologies/instant-client/downloads.html

接続方法

今回はOCI上のインスタンスから接続を行いました。
OSはLinuxです。
※今回はテストのため、ホームディレクトリに資格情報を置いています。
資格情報は安全な場所に置くようにしてください。

まず、wgetコマンドで上記のパッケージをダウンロードします。
各パッケージを解凍後、以下の手順を踏みます。

①ウォレットのsqlnet.oraを編集します

ここでは、ファイル内のディレクトリを変更します

WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="ウォレットがあるディレクトリ"))) SSL_SERVER_DN_MATCH=yes

ウォレットのsqlnet.oraを編集します

②環境変数設定

TNS_ADMIN変数を作成し、ウォレットがあるディレクトリを設定します。

export TNS_ADMIN=ウォレットがあるディレクトリ

printenv コマンドで環境変数が設定されているか確認します。

printenv TNS_ADMIN

環境変数設定

③DB接続

以下のコマンドで接続を試します。
今回はDB作成時に作成したADMINで接続しています。

$ sqlplus ユーザー名@データベースサービス名 Enter password:パスワード入力

DB接続

補足

tnsnames.oraファイルには、high、medium、lowとして識別される3つのデータベース・サービス名が含まれ、それぞれ異なるレベルのパフォーマンス、同時実行性が提供されます。

  • high: 各SQL文に対して最高レベルのリソースが提供され、最高のパフォーマンスが発揮されるが、
    サポートされる同時SQL文は3で最も少ない。(データベース内のOCPUの数に依存しない)
    このサービスの任意のSQL文は、データベースのすべてのCPUおよびIOリソースを使用可能。
  • medium: 各SQL文に対して比較的低レベルのリソースが提供され、低レベルのパフォーマンスが発揮されるが、
    サポートされる同時SQL文はより多くなる。(データベースのOCPUの数によって異なる)
    このサービスの任意のSQL文は、データベースの複数のCPUおよびIOリソースを使用可能。
  • low: 各SQL文に対して最低レベルのリソースが提供されるが、
    サポートされる同時SQL文は最も多くなります。(OCPUの数の最大300倍)
    このサービスの任意のSQL文は、データベースの単一のCPUおよび複数のIOリソースを使用可能。

以上です!
最後までお読みいただきありがとうございました。


RECENT POST「OCIで作ってみた」の最新記事


OCIで作ってみた

OCVSにブロック・ボリュームをアタッチして、vSphereのデータストアに追加してみた

OCIで作ってみた

Fn Projectを使用したAPI開発

OCIで作ってみた

OCVSをデプロイしてみた 前半

OCIで作ってみた

OCVSをデプロイしてみた 後半

CLIでAutonomous Data Warehouseに接続する方法