Oracle Instant ClientでRDSへ接続

記事タイトルとURLをコピーする

福岡オフィスの渡辺です。
データベースソフトは数多くありますが、私は今までOracle Databaseを使う経験はありませんでした。
そんな新米Oraclerの私がAmazon RDS for Oracle Database にEC2から接続してみます。

各データベースソフトは、データベースに接続するためのクライアントソフトを用意しています。
MySQLにおけるmysqlコマンド、PostgreSQLにおけるpsqlコマンドといった具合です。
Oracle Databaseにおいては、Oracle Instant Clientをインストールすればsqlplusコマンドというものを利用できます。

準備

テスト用のRDSは、下記のようなパラメータで作成しました。

設定項目
DB engine Oracle Standard Edtition Two
License model license-included
DB engine version Oracle 12.1.0.2.v12
DB instance class db.t2.micro
Multi-AZ deployment No
DB instance identifier oracledbinstance1
Master username watanabe
Master password *************
  • RDSへの接続元として、EC2インスタンス(Amazon Linux 2) を同じVPC内に作成
  • RDSのセキュリティグループでEC2インスタンスからTCP/1521の接続を許可

Oracle Instant Clientのインストール

EC2インスタンスにOracle Instant Clientというクライアントソフトをインストールします。
下記の手順でまず、インストーラを手に入れましょう。
なお、oracle-instantclientが何種類かあって間違えやすいですが、basic と sqlplus の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 インスタンスへの接続 - Amazon Relational Database Service

[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>

正しく接続できてますね!

渡辺 信秀 (記事一覧)