Instant Clientを使用してローカルからAWS RDSのORACLEにSQLPLUSで接続する
AWSのRDS ( ORACLE ) は構築済みとなっていることを前提として、ローカルの環境からOracle Instant Clientを使用してAWSのRDS (ORACLE ) に接続をしていきます。
Instant ClientでローカルからAWS RDSのORACLEにSQLPLUSで接続する
今回使用した環境
インターネット接続可能のオンラインの環境
64 ビット オペレーティング システム
Windows 10 22H2
準備するもの
AWS RDSのORACLE
⇒パブリックアクセス可能な状態として構築してあります。接続するためにはエンドポイントとポートの情報を使います。
Oracle Instant Client
⇒Oracle Instant Clientはこちらから「Basic Package」、「SQL*Plus Package」をダウンロードしました。
手順
1.用意した Oracle Instant Client のzipファイルを2つとも展開して中身を任意の1つのフォルダへ格納します。ここでは「D:\instantclient_21_9」配下に格納しました。
2.環境変数を3つ設定します。
上から「ORACLE_HOME」の設定、「Path」に「ORACLE_HOME」を設定、「NLS_LANG」の設定です。
3.tnsnames.oraを作成して配置します。
「D:\instantclient_21_9\network\admin」フォルダ配下に「tnsnames.ora」を配置します。
HOSTにはAWS RDSのエンドポイントを設定し、PORTはORACLEのデフォルトの1521としています。データベース名は「testdb」で作成しています。
orcl =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = xxxxxxxxxx.rds.amazonaws.com)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = testdb)
)
)
4.SQLPLUSを認識できているか確認します。
コマンドを開いて「where sqlplus.exe」を入力してエンターキーを押します。
「D:\instantclient_21_9\sqlplus.exe」と表示されれば正しく環境変数を設定できていますね。
5.SQLPLUSでAWS RDSのORACLEに接続します。
以下の構文で接続できます。マスターユーザー名、マスターパスワードはRDSを構築するときに設定するユーザー、パスワードです。
sqlplus [マスターユーザー名]/[マスターパスワード]@ネットサービス名
接続できない場合、原因となりそうな箇所は以下の通りです。
・RDSのセキュリティグループのインバウンドルールでポートを1521を許可しているか
・RDSのパブリックアクセスが有効となっているか
・tnsnames.oraの編集が間違っていないか
以上となります。
ここまでお読みいただきありがとうございました。