こんにちは、Tachanです。
来週の火曜日からOracle Cloud Daysが開催されますね。
みなさまは参加されますでしょうか。
Oracle Cloud Daysは2020年12月15日(火)~2020年12月18日(金)で開催され、
クラウド基盤の最新トレンドやデータ活用をベースにしたDXの実現をテーマに
多数のセッションが行われます。
ご登録がまだの方はコチラから申し込みできます!
https://www.oracle.com/jp/cloudday/
さて、今回はCLIでAutonomous Data Warehouseに接続する方法について書いていきます。
1.接続する手段
Autonomous DBとは世界初の自立型データベースであり、
データベースの全ライフサイクル(データベースの配置からバックアップおよび更新まで)を
完全に自動化しています。
また、ロー・コード開発プラットフォームのAPEXも利用できるので、
容易にアプリケーションの開発をすることができます。
Autonomous DBは
①Autonomous Data Warehouse、
②Autonomous Transaction Processing、
③Autonomous JSON Databaseに分かれています。
①は大量のデータに対して高速に問い合わせるのに最適なDBです。
すべての標準SQLおよびBusiness Intelligence (BI)ツールをサポートする設計になっており、
ワークロードに最適にチューニングされた環境で、Oracle Databaseのパフォーマンスすべてが提供されます。
②は問い合わせが短時間であり、高並行性もあります。
ミッション・クリティカルなトランザクション処理、トランザクションとアナリティクス、
IoTおよびJSONドキュメント・ストアも含まれています。
③はJSON中心のアプリケーション開発に向いており、
開発者が使いやすいAPIドキュメントや、ネイティブJSONのストレージが用意されています。
Autonomous Data Warehouseに接続する手段は、
・DBの詳細画面の「ツール」タブからブラウザ接続する
・クライアント・アプリケーションを使用した接続
があります。
今回はクライアント・アプリケーションを使って接続していきます。
2.接続するために必要なもの
事前に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
3.接続方法
今回はOCI上のインスタンスから接続を行いました。
OSはLinuxです。
※今回はテストのため、ホームディレクトリに資格情報を置いています。
資格情報は安全な場所に置くようにしてください。
まず、wgetコマンドで上記のパッケージをダウンロードします。
各パッケージを解凍後、以下の手順を踏みます。
①ウォレットのsqlnet.oraを編集します
ここでは、ファイル内のディレクトリを変更します
SSL_SERVER_DN_MATCH=yes

②環境変数設定
TNS_ADMIN変数を作成し、ウォレットがあるディレクトリを設定します。
printenv コマンドで環境変数が設定されているか確認します。

③DB接続
以下のコマンドで接続を試します。
今回はDB作成時に作成したADMINで接続しています。
Enter password:パスワード入力

4.補足
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リソースを使用可能。
以上です!
最後までお読みいただきありがとうございました。