1
/
5

Oracle Instant ClientでRDSへ接続

福岡オフィスの渡辺です。
私は今まで幸か不幸かOracle Databaseを使う案件には遭遇しませんでした。
しかし、ついにやって来てしまいました。
そんな新米Oraclerの私がAmazon RDS for Oracle Database にEC2から接続してみます。

準備

  • テスト用のRDSは、下記のようなパラメータで作成しました。
  • RDSへの接続元として、EC2インスタンス(Amazon Linux 2) を同じVPC内に作成します。
  • RDSのセキュリティグループでEC2インスタンスからTCP/1521の接続を許可します。

Oracle Instant Clientのインストール

EC2インスタンスにOracle Instant Clientというクライアントソフトをインストールします。
下記の手順でまず、インストーラを手に入れましょう。
なお、oracle-instantclientが何種類かあって間違えやすいですが、basicsqlplus の2つが必要でした。

  1. Oracleのダウンロードサイトにいく。
  2. 「Accept License Agreement」にチェックを入れる。
  3. oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm をダウンロードする。
  4. oracle-instantclient12.2-sqlplus-12.2.0.1.0-1.x86_64.rpm をダウンロードする。
  5. 上記ファイルをEC2インスタンスへ転送する。

では、ダウンロードしたrpmファイルをインストールします。

[ec2-user@ip-10-200-0-40 ~]$ sudo rpm -Uvh oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm
準備しています...              ################################# [100%]
更新中 / インストール中...
   1:oracle-instantclient12.2-basic-12################################# [100%]
[ec2-user@ip-10-200-0-40 ~]$ sudo rpm -Uvh oracle-instantclient12.2-sqlplus-12.2.0.1.0-1.x86_64.rpm
準備しています...              ################################# [100%]
更新中 / インストール中...
   1:oracle-instantclient12.2-sqlplus-################################# [100%]

続いて環境変数を設定します。

[ec2-user@ip-10-200-0-40 ~]$ export LD_LIBRARY_PATH=/usr/lib/oracle/12.2/client64/lib

接続テスト

いよいよ、RDS for Oracle Database に接続です。
sqlplus64 ‘user_name@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dns_name)(PORT=port))(CONNECT_DATA=(SID=database_name)))’ というコマンドです。
Oracle データベースエンジンを実行している DB インスタンスへの接続

[ec2-user@ip-10-200-0-40 ~]$ sqlplus64 'watanabe@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracledbinstance1.clgajojgftpx.ap-northeast-1.rds.amazonaws.com
> )(PORT=1521))(CONNECT_DATA=(SID=ORCL)))'

SQL*Plus: Release 12.2.0.1.0 Production on Sun Jul 22 06:07:47 2018

Copyright (c) 1982, 2016, Oracle.  All rights reserved.

Enter password:

Connected to:
Oracle Database 12c Standard Edition Release 12.1.0.2.0 - 64bit Production

SQL> 

接続できたようなので、試しに何かコマンドを打ってみます。

SQL> select * From v$instance;

INSTANCE_NUMBER INSTANCE_NAME
--------------- ----------------
HOST_NAME
----------------------------------------------------------------
VERSION       STARTUP_T STATUS   PAR    THREAD# ARCHIVE LOG_SWITCH_WAIT
----------------- --------- ------------ --- ---------- ------- ---------------
LOGINS     SHU DATABASE_STATUS   INSTANCE_ROLE      ACTIVE_ST BLO     CON_ID
---------- --- ----------------- ------------------ --------- --- ----------
INSTANCE_MO EDITION
----------- -------
FAMILY
--------------------------------------------------------------------------------
          1 ORCL

INSTANCE_NUMBER INSTANCE_NAME
--------------- ----------------
HOST_NAME
----------------------------------------------------------------
VERSION       STARTUP_T STATUS   PAR    THREAD# ARCHIVE LOG_SWITCH_WAIT
----------------- --------- ------------ --- ---------- ------- ---------------
LOGINS     SHU DATABASE_STATUS   INSTANCE_ROLE      ACTIVE_ST BLO     CON_ID
---------- --- ----------------- ------------------ --------- --- ----------
INSTANCE_MO EDITION
----------- -------
FAMILY
--------------------------------------------------------------------------------
ip-172-23-1-15

INSTANCE_NUMBER INSTANCE_NAME
--------------- ----------------
HOST_NAME
----------------------------------------------------------------
VERSION       STARTUP_T STATUS   PAR    THREAD# ARCHIVE LOG_SWITCH_WAIT
----------------- --------- ------------ --- ---------- ------- ---------------
LOGINS     SHU DATABASE_STATUS   INSTANCE_ROLE      ACTIVE_ST BLO     CON_ID
---------- --- ----------------- ------------------ --------- --- ----------
INSTANCE_MO EDITION
----------- -------
FAMILY
--------------------------------------------------------------------------------
12.1.0.2.0    22-JUL-18 OPEN     NO       1 STARTED

INSTANCE_NUMBER INSTANCE_NAME
--------------- ----------------
HOST_NAME
----------------------------------------------------------------
VERSION       STARTUP_T STATUS   PAR    THREAD# ARCHIVE LOG_SWITCH_WAIT
----------------- --------- ------------ --- ---------- ------- ---------------
LOGINS     SHU DATABASE_STATUS   INSTANCE_ROLE      ACTIVE_ST BLO     CON_ID
---------- --- ----------------- ------------------ --------- --- ----------
INSTANCE_MO EDITION
----------- -------
FAMILY
--------------------------------------------------------------------------------
ALLOWED    NO  ACTIVE        PRIMARY_INSTANCE   NORMAL    NO       0

INSTANCE_NUMBER INSTANCE_NAME
--------------- ----------------
HOST_NAME
----------------------------------------------------------------
VERSION       STARTUP_T STATUS   PAR    THREAD# ARCHIVE LOG_SWITCH_WAIT
----------------- --------- ------------ --- ---------- ------- ---------------
LOGINS     SHU DATABASE_STATUS   INSTANCE_ROLE      ACTIVE_ST BLO     CON_ID
---------- --- ----------------- ------------------ --------- --- ----------
INSTANCE_MO EDITION
----------- -------
FAMILY
--------------------------------------------------------------------------------
REGULAR     SE

INSTANCE_NUMBER INSTANCE_NAME
--------------- ----------------
HOST_NAME
----------------------------------------------------------------
VERSION       STARTUP_T STATUS   PAR    THREAD# ARCHIVE LOG_SWITCH_WAIT
----------------- --------- ------------ --- ---------- ------- ---------------
LOGINS     SHU DATABASE_STATUS   INSTANCE_ROLE      ACTIVE_ST BLO     CON_ID
---------- --- ----------------- ------------------ --------- --- ----------
INSTANCE_MO EDITION
----------- -------
FAMILY
--------------------------------------------------------------------------------


INSTANCE_NUMBER INSTANCE_NAME
--------------- ----------------
HOST_NAME
----------------------------------------------------------------
VERSION       STARTUP_T STATUS   PAR    THREAD# ARCHIVE LOG_SWITCH_WAIT
----------------- --------- ------------ --- ---------- ------- ---------------
LOGINS     SHU DATABASE_STATUS   INSTANCE_ROLE      ACTIVE_ST BLO     CON_ID
---------- --- ----------------- ------------------ --------- --- ----------
INSTANCE_MO EDITION
----------- -------
FAMILY
--------------------------------------------------------------------------------


SQL>


応答があるので、正しく接続できてますね!

株式会社サーバーワークス's job postings

AWS

Weekly ranking

Show other rankings
Like Kaede Suzuki's Story
Let Kaede Suzuki's company know you're interested in their content