概要
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インスタンスを選択する。
3.設定内容を確認し、問題なければ[セットアップ]をクリックする。
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]を作成し、そこに格納)
3.[oracle]フォルダ-[instantclient_21_9]配下が、以下パスになるようにフォルダ作成する。
C:\oracle\instantclient_21_9\network\admin
4.環境変数設定を開き、TNS_ADMIN、Path、NLS_LANGを記載する。記載内容は以下の通り。
▼TNS_ADMIN、NLS_LANG
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
7.[ユーザーDSN]タブを選択し、[追加]をクリックする。
8.Oracle in instantclient_21_9を選択する。
9.以下の通りに入力して、[接続テスト]をクリックする。
データソース名:任意のデータソース名
説明:任意の説明
TNSサービス名:tnsnames.oraファイルの接続名と同じにする、任意の名前。
ユーザID:DBログインユーザ名
10.DBログインユーザのパスワードを入力し、[OK]をクリックする。
11.[正常に接続できました。]というポップアップが表示されたことを確認し、[OK]をクリックする。
12.[ユーザーDSN]タブに登録したものが表示されていることを確認する。
13.tnsnames.oraファイルを作成する。記載内容は以下の通り。
・接続名:任意の接続名。
・エンドポイント:RDSのエンドポイント。
・ポート番号:RDSのポート番号。通常は1521。
・DBInstanceIdentifier:RDSのDB識別子。デフォルトはORCL。
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サイトより引用。
※パスワードは別途入力する必要あり。
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 <ユーザ名>/<パスワード>@<接続名>
参考