SQLD 책 독자 전용

SQLD 실습환경 구축 가이드

책의 QR 코드로 오셨다면 이 페이지 하나로 충분합니다. 아래에서 본인 환경에 맞는 방법을 골라 설치를 진행하세요. 언제든 이 페이지로 돌아와 다른 방법을 참고할 수 있습니다.

설치 없음 · 가장 빠름라이브 SQL에서 오라클 설치없이 SQL 연습하기

오라클을 설치하지 않고도 오라클 SQL을 학습할 수 있다는 것 아셨나요? 네, 라이브 SQL 에서 가능합니다.

오라클 설치하는 게 너무 어려운 분, 시간이 부족한 분, 쿼리에 집중하고 싶은 분은 라이브 SQL 을 사용하시면 좋습니다.

Live SQL 활용 (Oracle 미설치)

  • Live SQL은 오라클에서 제공하는 온라인 SQL Worksheet 사이트다. 로컬 환경에 오라클을 설치할 필요가 없다. 아래 URL을 통해 접속하여 SQL을 연습할 수 있다. 사용을 위해서는 오라클 계정이 필요하다. 

  • Start Coding을 클릭하여 접속하면 SQL Worksheet 가 뜬다. 여기에 SQL을 입력하여 실행할 수 있다. 

  • SQL 연습을 위한 데이터와 스크립트, 튜토리얼은 Library에서 찾을 수 있다. 

  • Navigator에서 EMP and DEPT 등 데이터 스키마를 선택하여 실습을 진행할 수 있다.


  • SQL Worksheet 에서 쿼리를 실행하면 입력된 데이터를 사용할 수 있다. 세션이 종료되면 모든 데이터가 초기화된다는 점을 주의해야 한다. 

Windows · 로컬 설치윈도우에 오라클 + SQLDeveloper + DBeaver 설치하는 방법

지금부터 윈도우에 오라클과 SQLDeveloper, DBeaver를 설치하는 방법을 알아보겠습니다. SQLDeveloper와 DBeaver 는 오라클을 편리하게 사용할 수 있도록 돕는 클라이언트 도구입니다. 둘 중이 하나만 설치해서 사용해도 무방해요. 자, 그럼 이제 아래글을 참고해서 오라클을 설치해보세요.

오라클 설치(on 윈도우)

오라클 데이터베이스는 Oracle 공식 웹사이트에서 설치 파일을 다운로드하여 로컬 환경에 설치할 수 있다. 이 섹션에서는 오라클 데이터베이스 다운로드와 설치 방법을 간단히 설명한다. 

만약 오라클을 설치하지 않고 SQLD 시험을 준비하고 싶다면, 오라클 사에서 제공하는 LiveSQL을 사용해도 된다. LiveSQL 사용방법은 “03 오라클 클라이언트 툴 사용 > LiveSQL 활용”을 참고하라. 

  1. 설치 요구사항

오라클 데이터베이스를 설치하기 전, 아래와 같은 시스템 요구사항을 확인해야 한다.

  • 운영체제: Windows, macOS, Linux 등 (Oracle DB 설치는 주로 Windows나 Linux 환경에서 많이 사용됨)

  • 메모리: 최소 2GB 이상 (권장: 4GB 이상)

  • 디스크 공간: 최소 10GB 이상의 여유 공간

  • 기타 소프트웨어: 자바 런타임 환경(Java Runtime Environment, JRE) 설치 필요 (일부 버전에서는 JRE 포함)


  1. 오라클 데이터베이스 다운로드

  1. 오라클 공식 웹사이트 접속
    https://www.oracle.com/kr/database/technologies/xe-downloads.html 에 접속한다.

  1. 버전 선택 및 다운로드: Oracle Database 21c 또는 최신 버전을 선택하여 다운로드한다. 운영체제에 맞는 설치 파일을 선택해야 한다.

  1. 오라클 데이터베이스 설치 파일을 다운로드하려면 Oracle 계정이 필요할 수 있다. 계정이 없으면 무료로 회원가입 후 로그인하여 다운로드 받는다. 


3) 오라클 데이터베이스 설치

  1. 다운로드한 설치 파일의 압축을 풀고 setup.exe 를 더블클릭하여 설치를 시작한다. 

  1. 설치 마법사가 실행되면 다음 버튼을 클릭한다. 

  1. 라이센스 계약에 동의한 후, 설치 폴더를 선택한다. 

  1. 오라클 관리자 계정(SYSTEM)의 비밀번호를 입력한 후 다음을 클릭한다. 

  1. 오라클 XE가 설치 홈 디렉토리를 확인한 후 설치 버튼을 클릭한다. 

  1. 오라클 XE 설치가 진행중이다. 

  1. 설치 중에 보안 관련 경고창이 뜨면 허용 버튼을 클릭한다. 

  1. 설치 중에 다양한 Database 요소가 구성된다. 

  1. 오라클 설치가 완료되었다.


  1. 오라클 기본 클라이언트 도구인 SQL Plus를 실행하여 설치 상태를 확인한다.


SQL Plus가 실행되면 설치가 정상적으로 완료된 것이다. 사용자명에 system, 비밀번호에 설치시 입력했던 패스워드를 입력하여 SQL Plus에 접속한다. 접속 후, 아래의 SQL을 입력하여 실행하여 결과를 확인해보자.  SQL Plus를 빠져나오려면 exit를 입력하고 엔터를 치면 된다. 

  • select sysdate from dual; 


4) 오라클 데이터베이스 계정 생성 

오라클 데이터베이스를 사용하기 위해서는 데이터베이스 사용자 계정이 필요하다. 사용자 계정을 생성하면 데이터베이스 스키마가 생성된다. 스키마에 테이블, 인덱 등의 다양한 DB 객체를 생성할 수 있다. 우선 데이터베이스 사용자 계정을 생성 한 후, 데이터베이스 접속을 쉽게 할 수 있는 클라이언트 프로그램을 활용해보자. 

사용자 계정은 오라클에서 기본 제공하는 클라이언트 도구인 SQL Plus에서 진행하자. 


  1. 사용자 계정 생성하기 (SQL Plus)

SQL Plus로 사용자 계정을 생성하자. SQL Plus를 실행하기 위해서는 위 (11)번 처럼 윈도우 메뉴를 선택해서 이동해도 되지만, 윈도우 커맨트 창에서 sqlplus 를 직접 타이핑하여 접속할 수도 있다. 

  • 윈도우 시작 메뉴에서 cmd 를 입력하면, 아래와 같은 커맨드 창이 뜬다. 이 창에 sqlplus를 입력한다. 

  • 사용자명에 system, 비밀번호에 설치시 입력한 비밀번호를 입력한다. 


  • 현재 존재하는 PDB를 확인한다. Oracle 12 버전 이후, 데이터베이스가 CDB(Container DB)와 PDB로 구분되었다. PDB는 Pluggable DB의 약어로 일반 사용자는 PDB에 생성하는 것이 좋다. 아래 명령어를 SQL Plus에 입력한다. 

SELECT PDB_ID,PDB_NAME, STATUS FROM CDB_PDBS;



  • 확인한 이름의 PDB에 데이터베이스 사용자를 생성하기 위해서 먼저 PDB로 연결을 전환한다. 아래 XEPDB1 이 확인한 PDB의 이름이다. 아래 명령을 실행하면 입력한 이름의 PDB로 세션이 변경된다. 

ALTER SESSION SET CONTAINER = XEPDB1;


  • SQL 입력 커서에 아래의 스크립트를 입력하고 엔터키를 클릭한다. 이때 사용자 이름과 패스워드는 선호하는 것으로 입력한다. 

SQL> CREATE USER DATACODELAB IDENTIFIED BY "1234";

정상 실행되면 ‘사용자가 생성되었습니다.’ 라는 메세지가 뜬다.

  • 생성한 사용자에 권한을 부여한다. 사용자에게 일부 권한만 부여할 수도 있지만, 원활한 실습을 위해서  DBA 권한을 부여하겠다. 

SQL> GRANT DBA TO DATACODELAB;

정상 실행되면 ‘권한이 부여되었습니다’라는 메세지가 뜬다.

  • 생성한 사용자 계정으로 접속해보자. SQL Plus에서 빠져 나온 후, 새로운 SQL Plus 창을 CMD 창에서 실행한다. 해당 CMD 창에 아래의 명령어를 입력한다. 오라클의 기본 접속 포트는 1521이다. 하지만 개인 PC의 환경에 따라 다른 포트를 사용할 수도 있다. 

sqlplus DATACODELAB/1234@//localhost:1521/xepdb1

아래와 같이 단계별로 입력해도 된다.

  • SQL Plus에 접속한 후 아래의 명령어를 입력해보자. 오늘 날짜가 출력이 되면 사용자 계정을 잘 생성한 것이다. 

SQL> SELECT SYSDATE FROM dual; 

지금까지 SQL Plus 를 이용해서 사용자 계정을 생성했다. 계정 생성 간에 불편함을 느꼈을 것이다. SQL Plus는 커멘드 환경을 기본으로 하기 때문에 간단한 쿼리를 실행하기도 어렵다. 때문에 오라클을 쉽게 활용할 수 있는 별도의 클라이언트 툴들이 존재한다. 대표적인 툴들이 Oracle SQL Developer, DBaver, Toad, Orange 등이다. Oracle SQL Developer는 오라클에서 제공하는 툴로 오라클 DB에만 접속이 된다. DBeaver, Toad, Orange 등의 3rd Party 제품들은 오라클 이외의 DBMS 도 지원한다. 

이 책에서는 Oracle SQL Developer와 오픈소스 무료 툴인 DBeaver 을 설치하는 것을 소개한다. 하지만 실습 쿼리들은 모두 DBeaver에서 실행하였다. 


5) 클라이언트 툴 설정 - Oracle SQL Developer 


  • 개인 사용환경에 맞는 프로그램을 다운로드 받는다. JDK17(Java Development Kit) 버전이 필요하다. JDK17이 설치되어 있지 않는다.면, JDK 17이 포함된 버전으로 받는다. 


  • 다운로드 받은 파일의 압축을 푼다. 압축을 해제한 후 sqldeveloper.exe 파일을 클릭하면 SQL Developer가 바로 실행된다. 만약 JDK가 포함되지 않은 버전인 경우 JDK 경로를 별도로 입력해야 한다. 

  • SQL Developer 를 실행한 후 데이터베이스 접속 설정을 해주어야 한다. 수동으로 접속 생성을 클릭한다. 


  • 수동으로 접속 생성 창이 뜨면 아래의 정보들을 입력한다. 

  • 접속 버튼을 클릭하면 SQL Developer가 실행된다. 질의 작성기에 SELECT SYSDATE FROM DUAL;을 입력하고 실행 버튼을 클릭해보자. 결과가 나오면 정상 연결된 것 이다.


6) 클라이언트 툴 설정 - DBeaver 설정하기 

  • DBeaver는 오라클 이외의 DBMS도 연결할 수 있는 오픈소스 무료 툴이다. https://dbeaver.io 에서 다운로드 받을 수 있다. 

  • DBeaver Community 버전을 다운로드 받은 후 설치한다. 


  • 설치 후 DB 연결 설정을 한다. 상단 메뉴에서 데이터베이스>새 데이터베이스 연결 을 선택한 후, Oracle을 선택하고 다음 버튼을 클릭한다. 


  • DBeaver에서 오라클 연결 설정을 한다. 

  • 완료 버튼을 클릭하면 DBeaver 창이 뜬다. 질의 작성기에 SELECT SYSDATE FROM DUAL;을 입력하고 실행 버튼을 클릭해보자. 결과가 나오면 정상 연결된 것 이다.



Windows · Docker도커 컨테이너에 오라클 설치하는 방법

지금부터 도커 컨테이너 위에 오라클을 설치하는 방법을 알아보겠습니다. 도커 위에 오라클을 설치하는 것은 많은 장점이 있습니다. 윈도우 환경을 깔끔하게 사용할 수 있고 배포에도 용이합니다. 자 아래 글을 참고해서 도커 컨테이너 위에 오라클을 설치해보세요.

오라클 설치(on 컨테이너) 

오라클 데이터베이스를 로컬 환경에 설치할 수도 있지만 도커 컨테이너 기반의 Linux 가상환경에 설치하는 것도 가능하다. 가상환경에 설치하면 윈도우 위에 직접 설치하는 것 보다 설치 및 환경 설정이 용이하다. 왜냐하면 이미 오라클이 설치되어 있는 OS의 이미지를 활용할 수 있기 때문이다. 

  1. 설치 요구사항

가상 환경에 오라클을 설치하기 위해서는 아래 시스템 요구사항을 확인해야 한다. 대부분의 경우 가상화가 가능한 환경이지만 아래 내용을 확인해보자. 

  • 가상화 가능 여부 확인 - 작업 관리자>성능>가상화 사용 확인 

  • 가상 머신 플랫폼 기능 확인 - 윈도우 기능 켜기/끄기 > 가상머신 플랫폼 체크 상태  확인

  1. 도커 다운로드 

Docker 홈페이지(docker.com)에 접속하여 OS 에 맞는 버전으로 도커를 다운로드 받는다. 윈도우 일 경우 AMD64와 ARM64가 있다. 대부분의 경우, 인텔 칩과 AMD CPU를 사용하므로 AMD64를 다운로드 받으면 된다. 칩은 아래와 같이 확인할 수 있다. 

  1. 도커 설치 

다운로드 받은 도커 파일을 설치한다. 설치 과정은 안내에 따라 진행한다. 완료한 이후에는 윈도우 파워셸에서 docker -v로 버전을 확인할 수 있다. 


윈도우 홈 에디션을 사용 중이라면 추가 설정이 필요하다. 윈도우 파워셸과 docker에서 추가 설정이 필요하다. 


먼저 파워셀에서 wsl (Windows Subsystem for Linux)의 버전을 2로 셋팅해준다.

  • 파워셸에서 wsl -set-default-version 2 를 입력하면 설정이 완료된다. 


그리고 설치한 Docker Desktop의 General에서 wsl 2를 사용하는 것으로 설정한다. 


  1. Oracle 설치 및 실행하기  

윈도우 파워셸을 관리자 권한으로 실행하여 Oracle 이미지 파일을 끌어와 설치해보자. 파워셸에서 아래의 명령어를 실행하면 된다. 

① 이미지 설치 : docker pull docker.io/truevoly/oracle-12c
② Oracle 실행 : docker run –d –p 1521:1521 docker.io/truevoly/oracle-12c


Oracle을 Docker desktop에서 실행하려면 아래의 메뉴에서 수행하면 된다. 

> Docker desktop > Containers > Action 버튼 클릭 


  1. Oracle 계정 생성 

오라클 설치 후에 계정을 생성하자. 컨테이너 bash에서 계정을 생성한 후 권한을 부여하면 된다. 파워쉘에서 아래 표의 ①(docker exec -it ecstatic_wilson bash)을 수행하면 파워쉘에서 컨테이너의 리눅스의 쉘을 쓸 수 있다. 리눅스 쉘 환경에서 쉘 사용자를 Oracle로 변경해보자. 아래 표의 ② (su oracle) 를 수행하면 된다. 쉘 사용자를 변경한 후 오라클 홈으로 이동해보자. 아래 표의 ③(cd $ORACLE_HOME) 을 수행하면 된다. 

오라클 홈에 이동한 후 ④(bin/sqlplus / as sysdba)를 실행하자. ④를 수행하면 SQL Plus라는 오라클의 기본 SQL 실행환경에 접속하게 된다. ⑤(SELECT status FROM v$instance; )를 실행하여 오라클이 잘 실행되는지 확인 한 후에 ⑥(create user <user_name> identified by “<password>”; )을 실행하여여 DB 계정을 생성하자. 앞으로 이 계정을 이용해서 실습을 진행할 것이다. 이름은 각자 원하는 것으로 설정하며 된다. 필자는 SQLTEST로 정의하겠다. 계정을 생성한 후 권한을 할당하자. 아래 표의 ⑦번을 수행하면 된다. 


※ Container 이름 확인 방법 


※ 계정 생성 및 권한 부여 - Terminal 에서 아래 SQL 실행 

1. Instance 상태 확인 - select status from v$instance; 
2. User 생성 - Create user sqltest identified by ‘sunrise’; 
3. 권한 부여 - Grant dba to sqltest with admin option;
  1. DBeaver 연결 설정 
    설치한 오라클에 DBeaver를 연결해보자. DBeaver는 dbeaver.io 에서 다운로드 받아 설치할 수 있다. 설치한 후 데이터베이스 > 새 데이터베이스 연결 메뉴에서 Oracle을 선택하고 다음을 클릭한다. 
    (DBeaver 설치는 - https://www.algolearn.io/blog/oracle_sqldeveloper_dbeaver_on_window 글을 참고하세요.

① DBeaver 새 데이터베이스 연결

② DBeaver 연결 설정 

연결정보를 입력한 후 완료 버튼을 클릭한다. 


③ SQL 창 실행


macOS · Docker맥환경 도커 컨테이너에 오라클 설치하기

맥을 사용하시는 분들을 위한 오라클 설치 방법입니다. 도커 컨테이너에 설치하는 방법이에요. 아래 내용 참고하여 천천히 설치해보세요. 알고 보면 쉬워요.

오라클 설치(Mac, on 컨테이너) 

오라클 데이터베이스를 맥환경에 설치된 도커 컨테이너에 설치해보자. 

  1. 도커 다운로드 및 설치  

먼저 맥환경에 도커 데스크탑을 설치하자. 아래 주소에서 다운로드 받을 수 있다.  

다운로드 받은 도커데스크탑 파일을 설치 후 환경설정을 하자. 서비스 규약에 동의한다. 

Use recommended Settings 를 선택하고 Finish 버튼을 클릭한다. Finish 버튼 클릭후 로그인을 해야 한다. 만약 계정이 없다면 생성 후 로그인을 하자. 계정 생성시 Personal 사용을 선택하자.

도커 데스크탑에 로그인 하면 다음과 같은 화면이 실행된다.

  1. 오라클 설치 및 실행 

터미널을 열고 다음 명령어를 실행하여 Oracle Docker 이미지를 다운로드한다. 

  • 터미널 열기 - Command + Space 키를 동시에 누르고, Spotlight 검색 창에 "터미널"을 입력한다. "터미널" 앱을 선택하고 Enter 키를 누른다.

  • 도커 로그인 하기 - 터미널에서 아래 명령어를 입력하여 도커에 로그인한다. 

% docker login
  • 오라클 이미지 설치 후 실행하기 (Oracle 12C)

① 이미지 설치

docker pull docker.io/truevoly/oracle-12c

② Oracle 실행 

docker run –d –p 1521:1521 docker.io/truevoly/oracle-12c

위 터미널에서 바로 실행할 수 있지만, Oracle을 Docker desktop에서 실행하려면 아래의 메뉴에서 수행하면 된다. 

> Docker desktop > Containers > Action 버튼 클릭 

  1. 오라클 계정 생성   

오라클 설치 후에 계정을 생성하자. 컨테이너 bash에서 계정을 생성한 후 권한을 부여하면 된다. 터미널에서 아래 표의 ①(docker exec -it ecstatic_wilson bash)을 수행하면 파워쉘에서 컨테이너의 리눅스의 쉘을 쓸 수 있다. 리눅스 쉘 환경에서 쉘 사용자를 Oracle로 변경해보자. 아래 표의 ② (su oracle) 를 수행하면 된다. 쉘 사용자를 변경한 후 오라클 홈으로 이동해보자. 아래 표의 ③(cd $ORACLE_HOME) 을 수행하면 된다. 

오라클 홈에 이동한 후 ④(bin/sqlplus / as sysdba)를 실행하자. ④를 수행하면 SQL Plus라는 오라클의 기본 SQL 실행환경에 접속하게 된다. ⑤(SELECT status FROM v$instance; )를 실행하여 오라클이 잘 실행되는지 확인 한 후에 ⑥(create user <user_name> identified by “<password>”; )을 실행하여여 DB 계정을 생성하자. 앞으로 이 계정을 이용해서 실습을 진행할 것이다. 이름은 각자 원하는 것으로 설정하며 된다. 필자는 SQLTEST로 정의하겠다. 계정을 생성한 후 권한을 할당하자. 아래 표의 ⑦번을 수행하면 된다. 

① 컨테이너  bash 접속 

docker exec -it <컨테이너이름 or ID> bash

※ Container 아이디는 터미널에서 docker ps를 실행하여 확인할 수 있음 

※ Container 이름은 docker desktop에서 확인(아래 이미지참조)

② User를 Oracle로 변경 

su oracle

③ 오라클 홈으로 이동 

cd $ORACLE_HOME

④ SQL PLUS로 오라클 접근 

bin/sqlplus / as sysdba

⑤ 오라클 실행여부 확인

SELECT status FROM v$instance; 

⑥ 계정생성

create user <user_name> identified by “<password>”; 

⑦ 권한 할당

grant dba to <user_name> with admin option; 

※ 계정 생성 및 권한 부여는 아래 이미지참조

※ Container 이름 확인 방법 


  1. DBeaver 연결설정

맥용 DBeaver를 다운로드하여 설치한 후, 오라클에 연결해보자. DBeaver는 dbeaver.io 에서 다운로드 받아 설치할 수 있다. 설치한 후 데이터베이스 > 새 데이터베이스 연결 메뉴에서 Oracle을 선택하고 다음을 클릭한다. 

(DBeaver 설치는 - https://www.algolearn.io/blog/oracle_sqldeveloper_dbeaver_on_window 글을 참고하세요.)

① DBeaver 새 데이터베이스 연결

② DBeaver 연결 설정 

Host는 localhost 로 입력하고, Database는 XE를 입력하자. Username과 Password는 앞서 생성한 계정과 패스워드를 입력하면 된다. 

③ SQL 창 실행

접속 후에는 sqltest 스키마를 찾아서 클릭해보자. 선택은 되지만 생성한 테이블이 없으므로 객체 목록은 보이지 않는다.


Docker · MS SQL도커 컨테이너에 MS SQL 설치하기

06 MS SQL 설치하기 (on 컨테이너) 

도커에 MS SQL을 설치해보자. 도커 설치는 오라클 설치시(03 오라클 설치(on 컨테이너) 에 진행을 했다. 도커가 설치되어 있지 않다면 도커를 먼저 설치해야 한다. MS SQL 설치는 도커가 설치된 상태임을 가정하고 진행하겠다. 

  • 파워쉘(Powershell)에서 MS SQL docker image를 풀링하는 스크립트를 실행한다. 

docker pull mcr.microsoft.com/mssql/server:2022-latest
  • 가져온 MS SQL을 실행한다. YourStrong@Passw0rd 자리에 설정하기를 원하는 패스워드를 입력한다. (Passw0rd 의 0는 숫자임)

docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=YourStrong@Passw0rd" -p 1433:1433 --name sql1 -d mcr.microsoft.com/mssql/server:2022-latest
  • 도커 데스크탑에서 MS SQL이 잘 실행되고 있는 지 확인한다. 실행되고 있지 않다면, 삼각형 실행버튼을 눌러 실행시킨다. 

  • DBeaver와 MS SQL을 연결한다. DBeaver 상단 메뉴에서  데이터베이스>새데이터베이스 연결을 선택한다. SQL Server 아이콘을 선택한 후 다음을 클릭한다. 

  • 환경설정 창이 뜨면 Username 에 sa를 입력하고, Password에 앞서 설정한 패스워드를 입력한다.(아래 docker run 창 참조) 테스트 커넥션(Test Connection)을 선택하여 연결에 이슈가 없는지 확인한다. 문제가 없으면 connected라는 메세지가 뜬다. 

docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=YourStrong@Passw0rd" -p 1433:1433 --name sql1 -d mcr.microsoft.com/mssql/server:2022-latest
  • 연결이 완료되었으면, DBeaver에서 새SQL편집기를 오픈하여 쿼리를 수행하여 데이터베이스 연결상태를 점검한다. 쿼리가 정상 수행되면 MS SQL을 사용할 준비가 완료된 것이다.