RHEL EC2 인스턴스에서 Oracle Instant Client 설치 후 RDS에 접속

RHEL EC2 인스턴스에서 Oracle Instant Client 설치 후 RDS에 접속하는 방법에 대해서 정리해 봤습니다.
2023.11.20

안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 RHEL EC2 인스턴스에서 Oracle Instant Client 설치 후 RDS에 접속하는 방법에 대해서 정리해 봤습니다.

사전 준비

먼저 다음과 같은 환경을 구성합니다.

Private Subnet에 RHEL EC2 인스턴스와 RDS for Oracle 리소스를 생성합니다.

EC2 인스턴스 생성에 사용한 AMI는 다음과 같습니다.

  • RHEL_HA-8.8.0_HVM-20230913-x86_64-4-Hourly2-GP2
    • ami-011f3932eb451fabe

이어서 EC2 인스턴스에서 RDS에 접속하기 위해 RDS의 보안 그룹에서 1521 포트를 열어줍니다.

Oracle Instant Client 설치

sudo yum install wget

먼저 wget을 이용해서 Oracle Instant Client를 설치해야 하는데, RHEL에는 wget이 설치되어 있지 않기 때문에 먼저 wget부터 설치합니다.

sudo wget https://download.oracle.com/otn_software/linux/instantclient/19600/oracle-instantclient19.6-basic-19.6.0.0.0-1.x86_64.rpm
sudo wget https://download.oracle.com/otn_software/linux/instantclient/19600/oracle-instantclient19.6-sqlplus-19.6.0.0.0-1.x86_64.rpm

이어서 wget 명령어로 Oracle Instant Client 설치 프로그램을 다운로드합니다.

sudo yum install -y oracle-instantclient19.6-basic-19.6.0.0.0-1.x86_64.rpm
sudo yum install -y oracle-instantclient19.6-sqlplus-19.6.0.0.0-1.x86_64.rpm

다운로드가 끝났다면, 설치를 진행합니다.

※ 여기서 Sqlplus의 경우 SQL 문의 실행 및 결과를 볼 수 있게 Oracle에서 제공하는 툴입니다.

export PATH=/usr/lib/oracle/19.6/client64/bin:$PATH
export LD_LIBRARY_PATH=/usr/lib/oracle/19.6/client64/bin:$LD_LIBRARY_PATH

환경 변수를 설정합니다.

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

하지만 여기서 sqlplus64 -v 명령어를 입력하면, libnsl.so.1라는 라이브러리의 디렉토리를 찾을 수 없다는 에러가 발생합니다.

sudo yum install  libnsl
sh-4.4$ sqlplus64 -v

SQL*Plus: Release 19.0.0.0.0 - Production
Version 19.6.0.0.0

상기 명령어로 libnsl 라이브러리를 설치하고 다시 버전을 확인해 보면, Sqlplus 버전이 출력되는 것을 확인할 수 있습니다.

RDS for Oracle에 접속

sudo sqlplus64 유저명@RDS 엔드포인트:포트 번호/접속할 데이터베이스 명

상기 명령어로 RDS에 접속을 시도합니다.

실제 사용한 명령어는 다음과 같습니다.

  • sudo sqlplus64 admin@database-1.cidxydtubgwl.ap-northeast-3.rds.amazonaws.com:1521/testdb
SQL*Plus: Release 19.0.0.0.0 - Production on Mon Nov 20 03:30:57 2023
Version 19.6.0.0.0

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

Enter password:

Connected to:
Oracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production
Version 19.21.0.0.0

명령어를 입력하면, 비밀번호를 물으며, 설정한 비밀번호를 입력하면 성공적으로 Oracle에 접속할 수 있습니다.

본 블로그 게시글을 보시고 문의 사항이 있으신 분들은 클래스메소드코리아 (info@classmethod.kr)로 연락 주시면 빠른 시일 내 담당자가 회신 드릴 수 있도록 하겠습니다 !