1
0

EC2-RDS(Oracle)間でSQLPlusを実行する手順

Last updated at Posted at 2024-08-16

概要

EC2(Windows、Linux)とRDS(Oracle)でSQLPlusを実行するための環境構築。

前提

EC2とRDSが構築済みであること。

目次

EC2とRDSの接続セットアップ

Windowsバージョン

  • EC2にOracleClientインストール
  • 環境変数設定
  • tnsnames.ora設定
  • コマンド実行

Linuxバージョン

  • EC2にOracleClientインストール
  • 環境変数設定
  • tnsnames.ora設定
  • コマンド実行

EC2とRDSの接続セットアップ

1.マネジメントコンソールで[RDS]のコンソール画面を開き、DB名をクリックして[アクション▼]から[EC2接続のセットアップ]をクリックする。

2.[EC2インスタンス]で接続先のEC2インスタンスを選択する。
image.png

3.設定内容を確認し、問題なければ[セットアップ]をクリックする。
image.png

Windowsバージョン

EC2にOracleClientインストール

1.以下URLからOracle ClientのインストーラとMicrosoft Visual Studioをダウンロードし、EC2上の任意のフォルダにコピーして展開する。

▼ダウンロードサイトURL

▼Basicパッケージ

▼SQLPlusパッケージ

▼ツールパッケージ

▼ODBCパッケージ

▼SDKパッケージ

▼Microsoft Visual Studio

2.ダウンロードしたファイルを、EC2上の任意のフォルダに移動する。(例ではデスクトップ配下に[oracle]フォルダ-[instantclient_21_9]を作成し、そこに格納)
image.png

image.png

3.[oracle]フォルダ-[instantclient_21_9]配下が、以下パスになるようにフォルダ作成する。

C:\oracle\instantclient_21_9\network\admin

4.環境変数設定を開き、TNS_ADMIN、Path、NLS_LANGを記載する。記載内容は以下の通り。
▼TNS_ADMIN、NLS_LANG
image.png

▼Path
image.png

5.コマンドプロンプトを管理者権限で実行して、cdコマンドでbasicフォルダを配置したパスにディレクトリを移動し、odbc_install JA を実行してODBCをインストールする。実行コマンド例は以下の通り。

cd C:\oracle\instantclient_21_9\instantclient-basic-windows.x64-21.9.0.0.0dbru
obdc_install JA

image.png

6.ODBCデータソースを開く。
image.png

7.[ユーザーDSN]タブを選択し、[追加]をクリックする。
image.png

8.Oracle in instantclient_21_9を選択する。
image.png

9.以下の通りに入力して、[接続テスト]をクリックする。
データソース名:任意のデータソース名
説明:任意の説明
TNSサービス名:tnsnames.oraファイルの接続名と同じにする、任意の名前。
ユーザID:DBログインユーザ名
image.png

10.DBログインユーザのパスワードを入力し、[OK]をクリックする。
image.png

11.[正常に接続できました。]というポップアップが表示されたことを確認し、[OK]をクリックする。
image.png

12.[ユーザーDSN]タブに登録したものが表示されていることを確認する。
image.png

13.tnsnames.oraファイルを作成する。記載内容は以下の通り。
・接続名:任意の接続名。
・エンドポイント:RDSのエンドポイント。
・ポート番号:RDSのポート番号。通常は1521。
・DBInstanceIdentifier:RDSのDB識別子。デフォルトはORCL。
image.png

14.以下コマンドで再度Oracle DBに接続できることを確認する。
・ユーザ名:RDSのDBユーザ名
・パスワード:RDSのDBユーザのパスワード
・接続名:tnsnames.oraで定義した任意の接続名。

sqlplus <ユーザ名>/<パスワード>@<接続名>

Linuxバージョン

EC2にOracleClientインストール

1.以下コマンドを実行して、任意のディレクトリ(今回は/tmp)にrpmファイルをコピーして、以下コマンドを実行する。

▼Basicパッケージ

wget https://download.oracle.com/otn_software/linux/instantclient/2111000/oracle-instantclient-basic-21.11.0.0.0-1.el8.x86_64.rpm

▼SQLPlusパッケージ

wget https://download.oracle.com/otn_software/linux/instantclient/2111000/oracle-instantclient-sqlplus-21.11.0.0.0-1.el8.x86_64.rpm

▼ツールパッケージ

wget https://download.oracle.com/otn_software/linux/instantclient/2111000/oracle-instantclient-tools-21.11.0.0.0-1.el8.x86_64.rpm

▼ODBCパッケージ

wget https://download.oracle.com/otn_software/linux/instantclient/2111000/oracle-instantclient-odbc-21.11.0.0.0-1.el8.x86_64.rpm

2.以下コマンドを実行し、各パッケージをインストールする。
▼Basicパッケージ

sudo dnf install oracle-instantclient-basic-21.11.0.0.0-1.el8.x86_64.rpm

▼SQLPlusパッケージ

sudo dnf install oracle-instantclient-sqlplus-21.11.0.0.0-1.el8.x86_64.rpm

▼ツールパッケージ

sudo dnf install oracle-instantclient-tools-21.11.0.0.0-1.el8.x86_64.rpm

▼ODBCパッケージ

sudo dnf install oracle-instantclient-odbc-21.11.0.0.0-1.el8.x86_64.rpm

3.以下コマンドでSQLPlusを起動し、Oracle DBインスタンスに接続する。
※マスターユーザ名・Oracle DB Instance endpoint・DB名は書き換える必要あり。以下参照。AWSサイトより引用。

image.png

※パスワードは別途入力する必要あり。

sqlplus <マスターユーザ名>@<Oracle DB Instance endpoint>:1521/<DB名>

4.以下SQLコマンドを実行して正常に接続できていることを確認する。

SELECT SYSDATE FROM DUAL;

5.以下コマンドを実行して、環境変数を登録する。
・ディレクトリ移動&.bash_profile編集

$ cd ~/
$ vi .bash_profile

・.bash_profile追記

echo "export ORACLE_HOME=/usr/lib/oracle/21/client64/lib" >> ~/.bash_profile 
echo "export PATH=${ORACLE_HOME}:${PATH}" >> ~/.bash_profile 
echo "export LD_LIBRARY_PATH=${ORACLE_HOME}" >> ~/.bash_profile

・変更内容反映

$ source .bash_profile
$ env | sort

6.tnsnames.oraファイルを作成する。記載内容は以下の通り。
・接続名:任意の接続名。
・エンドポイント:RDSのエンドポイント。
・ポート番号:RDSのポート番号。通常は1521。
・DBInstanceIdentifier:RDSのDB識別子。デフォルトはORCL。

<接続名> =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = <エンドポイント>)(PORT = <ポート番号>))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = <DBInstanceIdentifier>)
    )
  )

7.以下コマンドで再度Oracle DBに接続できることを確認する。
・ユーザ名:RDSのDBユーザ名
・パスワード:RDSのDBユーザのパスワード
・接続名:tnsnames.oraで定義した任意の接続名。

sqlplus <ユーザ名>/<パスワード>@<接続名>

参考

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0