#事前準備(Oracle Instant Clientのダウンロード)
まずはこちらのOTNからOracle Instant Clientをダウンロードします。
※Oracle Instant Clientとは、10g以降に提供されているOracleに接続するためのライブラリ(OCIライブラリ)の最小構成です。無償で利用できます。 OTNからモジュールをダウンロードする際はOracleのアカウントが必要です(無料で作成可)。
今回は、RDSへの踏み台としてEC2(Amazon Linux)経由で接続するので、以下をダウンロードしました。
- instantclient-basic-linux.x64-19.3.0.0.0dbru.zip
→Oracle Instant Clientを使用する際は必須。
- instantclient-sqlplus-linux.x64-19.3.0.0.0dbru.zip
→SQLPLUSを使う場合は必要。
- instantclient-tools-linux.x64-19.3.0.0.0dbru.zip
→Data PumpやSQLLoaderなどを使う場合は必要。
ダウンロードしたInstant ClientをEC2に配置し解凍します。
$ unzip -q instantclient-basic-linux.x64-19.3.0.0.0dbru.zip
$ unzip -q instantclient-sqlplus-linux.x64-19.3.0.0.0dbru.zip
$ unzip -q instantclient-tools-linux.x64-19.3.0.0.0dbru.zip
instantclient_19_3ディレクトリが作成されます。
次に環境変数を設定します。
$ cd ~/
$ vi .bash_profile
記述内容
export ORACLE_HOME=/Users/hogehoge/instantclient_18_1
export PATH=${ORACLE_HOME}:${PATH}
export LD_LIBRARY_PATH=${ORACLE_HOME}
※Linuxの場合は、LD_LIBRARY_PATHが必要なようです。
環境変数を反映
$ source .bash_profile
$ env | sort
SQL*PLUSの起動確認
$ sqlplus
#SQL*PLUSでの接続方法
$ sqlplus <マスターユーザ名>/<マスターユーザのパスワード>@<エンドポイント>:1521/<DB名>
マスターユーザ名はRDS作成時に指定したユーザ名です。
RDSではSYS、SYSTEMユーザでのログインができなくなりました。
このマスターユーザがRDSにおける管理用のユーザになります。
エンドポイントはRDS作成後にマネージメントコンソールから確認できます。
ちなみに、ポートはデフォルトで1521です。
$ sqlplus test/Passw0rd@oracle-instant1.XXXX.rds.amazonaws.com:1521/orcl
(略)
SQL>
上記でも接続できますが、毎回エンドポイントを打つのが面倒くさいのでオンプレのOracle同様、tnsnames.oraに接続識別子を記述したら楽です。
$ cd $ORACLE_HOME/network/admin
$ touch tnsnames.ora
$ vi tnsnames.ora
記述例
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oracle-instant1.XXXX.rds.amazonaws.com)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCL)
)
)
ネットサービス名を指定し接続
$ sqlplus test/Passw0rd@ORCL
(略)
SQL>
「SQL>」と表示されたら接続完了です。
もし接続できない場合は以下を確認してみましょう。
- tnsname.oraの記述
- 環境変数
- セキュリティグループ