Oracle CloudのDBにWindowsから接続する

目次

Oracle CloudのDBを作成してWindowsから接続するまでのメモ

きっかけ

Oracle Cloudでは無料で2台のVMを立てられる他にも、20GBのデータベースを2つ作成して使用することができる。
(他社のクラウドと比べても多分一番無料枠が豪華。詳しくは https://www.oracle.com/jp/cloud/free/)
そこで、無料のVMとOracle DBを組み合わせて遊ぼうと思ったが、Oracle DBを初めて触ることもあり、開発マシンからの接続の時点でつまずいたため、環境構築方法?をメモすることにした。

Oracle Instant Clientのインストール

WindowsからOracle Cloud上のDBに接続するためには、Oracle Instant Clientが必要なようなのでインストールする。

ダウンロードは以下のURLにアクセスし、ダウンロード画面から「Instant Client for Microsoft Windows (x64)」を開く。 https://www.oracle.com/jp/database/technologies/instant-client.html

必須なファイルは「Basic Package」のZIPファイル1つのみだが、コマンドプロンプトからの操作が行いたい場合は追加で「Tools - optional packages」の2つをダウンロードしたり、アプリ開発をする場合は追加で「Development and Runtime - optional packages」のZIPをダウンロードしたりする。

ダウンロード画面

なお、Visual C++の再配布可能パッケージをインストールしていない場合は、右側のリンクからMicrosoftのページに移動し、適切なバージョン(今回の場合は「Visual Studio 2015, 2017 and 2019」のx64)をダウンロード・インストールする。

Oracle Instant ClientのZIPのダウンロードが完了したら、ZIP内のファイルを1つのフォルダに展開する。複数のZIPをダウンロードした場合もすべて同じフォルダに展開する。
今回は、C:\oracle-instantclient-basicに中身を展開した。
展開後、フォルダの中にnetwork\adminとフォルダを作成しておく。

展開後画面

続いて展開後のフォルダをPATHに追加する。
https://atmarkit.itmedia.co.jp/ait/articles/1805/11/news035.html

以上でインストール作業は完了。

Oracle DBへの接続準備

続いて、Oracle CloudのDB管理画面からDBへの接続情報をダウンロードする。

DBの管理画面の「DB Connection」ボタンをクリックし、Wallet Typeを選択してDownload Walletする。
2つのDBを立てる場合は、Regional Walletのほうが恐らく便利で良い。
Walletのダウンロード時にパスワードを指定する必要があるため、適当に設定する。(後述するA5M2で接続する場合はこのパスワードを要求されないため長めの乱数でも良いと思う。)

Walletのダウンロード画面

ダウンロードされたZIPファイルの中身をC:\oracle-instantclient-basic\network\adminの下に展開する。

以上で接続の準備は完了。

Oracle DBへの接続

今回はA5M2(A5:SQL Mk-2 / https://a5m2.mmatsubara.com/)を使用してOracle DBに接続を行う。

データベースの追加画面から「Oracle Database」を選択し、接続方法をOCI経由にして接続文字列とログイン情報を入力する。

接続文字列はWalletをダウンロードした際に入っていたtnsnames.oraをテキストエディタで開いて確認する。
恐らくDB名にhighmediumlowがついた文字列があり、これが接続文字列になる。
それぞれの違いは以下のページにまとまっている。簡単に性能と同時実行できるSQL文の数が変わるらしい。
https://docs.oracle.com/cd/E83857_01/paas/autonomous-data-warehouse-cloud/cswgs/autonomous-connect-database-service-names.html

ユーザ名はADMIN、パスワードはDBを作成する際に指定したパスワード。(Walletダウンロード時のものではない)

A5M2設定画面

正常に接続できると、以下の画像のようになる。

A5M2接続完了画面

以上でとりあえずWindowsからOracle CloudのDBへの接続は完了。

SQL*Plusの場合

sqlplus "ADMIN/{パスワード}@{接続文字列}"