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の編集が間違っていないか


以上となります。

ここまでお読みいただきありがとうございました。

Oracle

Posted by だゆう