[DB] SQL Developer와 docker 컨테이너 연결 - 데이터베이스 접속

Profile-exe·2023년 9월 29일
1

DataBase

목록 보기
3/3
post-custom-banner

앞서 arm 기반 mac OS에 Oracle Databse 19c Docker로 설치하는 글을 작성했다.

글이 너무 길어져 컨테이너 실행 까지만 포스팅했고, 여기서 SQL PlusSQL Developeroracle database 19c 컨테이너에 연결하는 내용을 적겠다.

🚨 주의 🚨

접속을 위해서는 Docker 컨테이너가 실행중이어야 한다. Docker Desktop으로 들어가 해당 컨테이너가 실행 중인지 확인 후 멈춰있다면 실행을 해야한다.



SQL Plus로 접속하기

오라클 데이터베이스에 접속하는 방법 중 하나인 SQL Plus 를 이용한 방법이다. docker 컨테이너는 docker exec 명령어로 접속할 수 있다.

docker exec -it test19c sqlplus

-it 옵션은 i 옵션과 t 옵션을 축약해 적용한 것이다.

  • -i 옵션 : --interactive 옵션으로 표준 입력(STDIN)을 유지한다. 이를 통해 컨테이너에 bash 명령을 입력할 수 있게 한다.

  • -t 옵션 : --tty 옵션으로 컨테이너 내에서 명령을 실행할 때 터미널에서 직접 실행하는 것처럼 출력이 시각화된다.

sqlplus로 접속한 화면

맥 터미널에서 위 명령어를 실행하면 첨부한 사진처럼 컨테이너에 접속이 된다. sqlplus를 실행하고 사용자 이름과 비밀번호를 입력하면 CLI 방식으로 데이터베이스와 상호작용이 가능하다.

여기서 비밀번호는 앞서 컨테이너 생성 시 환경변수(-e 옵션) ORACLE_PASSWORD에 설정한 값이다.



SQL Developer로 접속하기

SQL Developer 다운로드
위 링크로 들어가 자신에게 알맞은 OS를 선택해 설치한다.

나는 M2 맥북에어라서 ARM64 버전을 설치했다.

SQL Developer 버전 목록

설치 후 실행하면 아래와 같은 화면이 뜬다.

SQL Developer 화면

여기서 수동으로 접속 생성 버튼을 누른다.

접속 생성 화면

이 접속 생성 화면에서 입력해야 할 내용은 다음과 같다.

  • Name : 접속은 여러 접속을 만들 수 있어 각 접속마다 임의로 정하면 된다. 한글도 가능하다.
  • 사용자 이름 : 데이터베이스에 등록되어있는 사용자 이름
  • 비밀번호 : 해당 사용자의 비밀번호
    • 비밀번호 저장 : 접속 목록에서 접속할 때 비밀번호를 저장해놓아 재입력을 안해도 된다. 옵션을 체크하는게 좋다.
  • SID : 데이터베이스 인스턴스의 아이디
  • 서비스 이름 : 여러 인스턴스를 묶어 하나의 서비스로 구성된 것의 이름

데이터베이스 접속 방법은 SID서비스 이름(Service Name) 이 있는데, 아직 하나의 인스턴스밖에 존재하지 않아 둘 중 아무거나 사용해도 무방하다.


SID, Service Name 확인

접속을 위해 실행중인 데이터베이스의 SIDService Name을 확인해보겠다.

우선 데이터베이스에 접속해야 하니 sql plus로 먼저 접속해보겠다.

맥 터미널에서 다음과 같이 입력해 sql plus로 접속한다.

docker exec -it test19c sqlplus

이후 아래 명령어로 SIDService Name 을 확인한다.

show parameter service_name; 		  -- 서비스 이름 조회
select instance_name from v$instance; -- SID 조회

Mac 터미널 sqlplus 접속 후 sid, service name 확인 이미지

SID서비스 이름 모두 FREE 인 것을 알 수 있다. 그러므로 아래와 같이 입력을 해서 접속을 생성할 수 있다.

아직 사용자를 생성하지 않았으니 sys 관리자 계정으로 접속하며, SQL plus에서 sys as sysdba로 접속했던 것을 여기서는 SYSDBA를 설정해주면 된다.

비밀번호 역시 앞서 설정해두었던 것과 같다. 접속을 선택할 때마다 다시 입력하기 귀찮으니 비밀번호 저장을 체크했다.

포트는 컨테이너 실행 시 -p 옵션을 통해 1521 포트로 외부에서 컨테이너의 1521 포트와 연결되도록 포트포워딩을 했으니 그대로 입력하면 된다.

SID서비스 이름 둘 중 하나를 선택해 FREE 를 입력하고 접속을 누른다.

SQL Developer 접속 생성 입력란 작성 이미지

위 처럼 양식을 채우면 아래와 같이 접속이 완료된 것을 볼 수 있다. SHOW USER;로 현재 사용자를 볼 수 있다.

SQL Developer connection 완료 화면

profile
컴퓨터공학과 학부생
post-custom-banner

0개의 댓글