EC2からSQLPLUSでRDSを接続する設定

sqlplus インストール データベース

今日はEC2からsqlplusでRDS(Oracle)を接続するため、sqlplusのダウンロードおよび設定を紹介いたします。

SQLPLUSのダウンロード

今回はRedHat環境でSQLPLUSを使うため、Oracleの公式サイトから必要なファイルをダウンロードする。

ダウンロードサイト:Instant Client for Linux x86-64

ダウンロードするファイルを説明する。

① Basicファイル:instantclient-basic-linux.x64-XXXXXXX.zip

② SQLPLUSの実行ファイル: instantclient-sqlplus-linux.x64-XXXXXXX.zip

③ DEMOファイルおよびMakeFile:instantclient-sdk-linux.x64-XXXXXXX.zip

※今回は以下のファイルをダウンロードした。

instantclient-basic-linux.x64-19.3.0.0.0dbru.zip
instantclient-sdk-linux.x64-19.3.0.0.0dbru.zip
instantclient-sqlplus-linux.x64-19.3.0.0.0dbru.zip

SQLPLUSのインストール

ダウンロードファイルの解凍

ダウンロードしたファイルを解凍し、instantclient_19_3ディレクトリが作成された。

実行したコマンド:

unzip instantclient-basic-linux.x64-19.3.0.0.0dbru.zip
unzip instantclient-sdk-linux.x64-19.3.0.0.0dbru.zip
unzip instantclient-sqlplus-linux.x64-19.3.0.0.0dbru.zip

解凍したファイルの移動

instantclient_19_3を/usr/localに移動してから、libファイルのバージョンを確認する。

実行したコマンド:

mv instantclient_19_3 /usr/local/
cd /usr/local/instantclient_19_3
ls -l libclntsh.so
ls -l libocci.so

以下のエラーを発生する可能性があるため、対応方法を事前に考えました。

エラーメッセージ:

sqlplus: error while loading shared libraries: libnsl.so.1: cannot open shared object file: No such file or directory

対応方法はSQLPLUSのフォルダに以下のリンクを作ります。

ln -s /usr/lib64/libnsl.so.2 libnsl.so.1

libaioのインストール

libaioがインストールしていない場合、以下のコマンドでインストールする。

コマンド:

sudo yum install libaio

環境変数の設定

環境変数にSQLPLUSのディレクトリを追加するため、以下のコマンドを実行する。

コマンド:

echo ‘export LD_LIBRARY_PATH=/usr/local/instantclient_19_3:$LD_LIBRARY_PATH’ >> ~/.bash_profile
echo ‘export PATH=/usr/local/instantclient_19_3:$PATH’ >> ~/.bash_profile
source ~/.bash_profile

SQLPLUSをRDSを接続するための設定

RDS(Oracle)を接続するため、以下のファイルを作成する。

※設定しなくても、接続できます。

vi /usr/local/instantclient_19_3/network/admin/tnsnames.ora

ファイルの内容:

go =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = ip)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = test )
      (SERVER=DEDICATED )
    )
  )

RDSを接続する確認

① tnsnames.oraファイルを作成しない場合、以下のコマンドで接続できます。

sqlplus user_name@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dns_name)(PORT=port))(CONNECT_DATA=(SID=database_name)))’ 

tnsnames.oraファイルを作成した場合:以下のコマンドで接続する。

sqlplus user_name/password@go
タイトルとURLをコピーしました