[SQLD 자격증] SQLD 실습 환경 구성 방법
SQLD를 처음 준비하다 보면 가장 먼저 막히는 부분이 바로 실습 환경 구성입니다.
무엇을 설치해야 하는지, 무료로 연습할 수 있는 방법은 무엇인지 헷갈리기 쉽습니다.
이 글에서는 오라클 무료 실습 사이트(freesql) 사용 방법부터,
Oracle 21c XE 설치 → 사용자 생성 → DBeaver 연결 → 샘플 데이터 로드까지
SQLD 실습에 필요한 모든 환경 구성을 한 번에 정리해드립니다.
완전 초보자도 그대로 따라 하면 실습 환경을 만들 수 있도록 단계별로 설명하겠습니다.
이 가이드는 고래책(2026 이지패스 SQLD)을 기준으로 실습 흐름을 정리했기 때문에, 교재 예제 코드와 동일한 환경에서 연습하실 수 있습니다. 교재를 가지고 계시다면 더 효율적으로 공부할 수 있을 것입니다.
오라클 무료 실습 사이트 소개
오라클 무료 실습 사이트를 소개하겠습니다.
주소는 https://freesql.com으로, 반드시 https(s 포함)를 붙여서 접속해야 합니다. 이 오라클 사이트는 최근 개편이 되어 UI가 상당히 변경되었습니다. 기본적인 홈 화면은 기존과 거의 비슷하지만, UI 화면이 약간 바뀌었습니다.
개편된 오라클 사이트의 내용이라는 점을 참고하시기 바랍니다.
네비게이터와 스키마 개념
freesql.com 사이트에 접속하면 왼쪽에 네비게이터(Navigator) 항목이 있습니다. 네비게이터의 첫 번째 콤보 박스는 일종의 작업 공간, 즉 워크스페이스(Workspace)를 의미합니다. 오라클에서는 이를 스키마(Schema)라고 부릅니다. 스키마는 일종의 책꽂이와 같은 개념으로, A 책꽂이, B 책꽂이, C 책꽂이처럼 여러 가지 책꽂이가 있고, 각 책꽂이 안에 테이블들이 존재합니다.
예를 들어, SCOTT이라고 하는 스키마로 분류된 영역에는 EMP(사원 정보)와 DEPT(부서 정보) 테이블이 있습니다. 스키마를 클릭하면 왼쪽에 표 형태로 테이블이 보입니다. 테이블을 클릭하면 아래로 펼쳐지면서 해당 테이블 안에 있는 칼럼(Column) 정보를 보여줍니다.
테이블 조회 방법
기본적으로 스키마 밑에 있는 테이블을 조회할 때는 SELECT 문을 사용합니다. SELECT 문을 작성할 때, 앞에 스키마명을 먼저 적어주고 점(.)을 찍은 뒤 테이블명을 적습니다. 예를 들어 SCOTT.DEPT와 같이 스키마명.테이블명 형식으로 작성합니다. 마지막에 세미콜론(;)을 찍어주고 Ctrl+Enter를 누르면 아래에 결과창이 나타납니다.
다른 테이블을 조회하고 싶다면 같은 방식으로 SCOTT.EMP와 같이 작성하면 됩니다.
여러 쿼리 실행 시 주의사항
워크시트에 여러 개의 쿼리를 작성해 놓으면 항상 마지막에 있는 구문만 최종적으로 실행됩니다. 위에 있는 쿼리는 실행되지 않고, 마지막 쿼리가 앞의 결과를 덮어쓰는 구조입니다. 따라서 항상 이전 쿼리는 지우고 하나의 쿼리문만 가지고 조회하는 것이 좋습니다.
HR 스키마 탐색
SCOTT과 DEPT 외에도 다양한 스키마가 있습니다. 그중 HR(Human Resources) 스키마는 인적 자원 관리 영역의 스키마입니다. HR 스키마에는 COUNTRIES, DEPARTMENTS(부서), EMPLOYEES(사원 정보) 등의 테이블이 있습니다.
HR 스키마의 테이블을 조회할 때도 앞에 스키마명을 붙여야 합니다. 예를 들어 HR.EMPLOYEES와 같이 작성합니다. 스키마명을 입력하고 점(.)을 찍으면 자동으로 해당 스키마에 속한 테이블 목록을 추천해 줍니다. 마우스로 원하는 테이블을 선택하면 됩니다.
테이블을 조회하면 EMPLOYEE_ID, FIRST_NAME 등의 칼럼들과 데이터가 표시됩니다. 왼쪽 네비게이터에서 EMPLOYEES 테이블을 펼치면 동일한 칼럼 목록(EMPLOYEE_ID, FIRST_NAME, LAST_NAME, EMAIL 등)을 확인할 수 있습니다.
로그인과 마이스키마
사이트에서 로그인하지 않은 상태에서도 기존 스키마의 테이블을 조회하는 것은 가능합니다. 그러나 회원 가입 후 로그인하면 자신만의 스키마(My Schema)가 생성됩니다. 마이스키마에서는 테이블을 직접 생성하고 저장할 수 있습니다. 로그인하지 않으면 조회만 가능하고 신규 테이블을 만들 수는 없으므로, 반드시 로그인을 해야 합니다.
로그인하면 왼쪽 네비게이터에 My Schema가 나타납니다. 기존의 ACADEMIC, AV 등의 스키마는 기본적으로 제공되는 것이고, My Schema는 사용자가 임의로 테이블을 만들 수 있는 개인 작업 공간입니다.
마이스키마 사용법
마이스키마를 사용할 때는 네비게이터에서 My Schema로 이동한 후 조회하면 됩니다. 마이스키마의 편리한 점은 다른 스키마와 달리 스키마명을 앞에 붙이지 않아도 자동으로 마이스키마에 있는 테이블로 인식한다는 것입니다. 기본 제공 스키마(ACADEMIC, AV, CO, HR 등)에서는 스키마 약어를 붙여야 하지만, 마이스키마에서는 테이블명만으로 바로 조회할 수 있습니다.
라이브러리 메뉴 활용
사이트가 심플하게 개편되면서 라이브러리(Library)라는 메뉴가 있습니다. 라이브러리를 클릭하면 My Contents, My Favorites, Recent Reviews 등 개인 워크스페이스(일종의 개인 도서관)가 나타납니다. 라이브러리에는 다양한 튜토리얼이 제공됩니다. CREATE TABLE, JOIN TABLE 등 다양한 학습 자료가 있습니다.
예를 들어 CREATE TABLE 튜토리얼을 살펴보면, 테이블 생성하기, 뷰(View) 만들기, 테이블 정보 보기 등의 내용이 순서대로 나와 있습니다. 여기서 Copy Code 버튼으로 코드를 복사한 후, 자신의 워크시트로 이동하여 붙여넣기 하면 됩니다.
예시로 CREATE TABLE TOYS라는 명령을 실행하면, TOY_NAME(문자 타입)과 WEIGHT(숫자 타입) 두 개의 칼럼을 가진 TOYS 테이블이 생성됩니다. 실행 후 왼쪽 네비게이터에 TOYS 테이블이 나타나지만, 아직 데이터는 비어 있는 상태입니다. 테이블의 프레임(칼럼 구조)만 만들어진 것입니다.
이처럼 라이브러리의 튜토리얼을 옆에 띄워놓고 Ctrl+C, Ctrl+V로 하나하나 따라하면서 테이블 생성, 삭제 등의 실습을 할 수 있습니다. 코드를 익히기에 매우 좋은 방법입니다.
실습 환경 정리
정리하면, 왼쪽 네비게이터에서 마이스키마는 자신이 테이블을 만들고 삭제할 수 있는 개인 자료실입니다. ACADEMIC 등 기본 제공 스키마는 디폴트로 만들어져 있어서 테이블을 조회만 할 수 있고, 수정이나 삭제는 할 수 없습니다. 가장 기본적으로 많이 사용하는 것은 HR 스키마와 SCOTT 스키마에서의 연습입니다. 책에서 주로 사용하는 테이블은 SCOTT 스키마에 있으므로, 이쪽으로 이동하여 조회 연습을 하면 됩니다. 또는 마이스키마에서 직접 EMP 테이블이나 EMPLOYEES 테이블을 만들어서 사용해도 됩니다.
예제 코드 다운로드
위키북스 홈페이지에서 SQLD 개발자 도서의 예제 코드를 다운로드를 할 수 있습니다.
https://wikibook.co.kr/sqld2026/
다운로드된 파일의 압축을 풀면 SQLD_Main이라는 폴더가 생성됩니다. 폴더 안에는 다음과 같은 파일들이 있습니다.
• CREATE EMP 테이블 생성 SQL 쿼리문
• CREATE DEPT 테이블 생성 SQL 쿼리문
• SCOTT 샘플 데이터: 오라클에서 제공하는 SCOTT 스키마의 테이블을 생성하는 코드
• 과목별(1과목, 2과목) 각 장(1장, 2장, 3장 등)에서 사용할 수 있는 쿼리들
Oracle 21c XE 설치 - 쿼리문 파일 확인
예시로 CREATE SQL 테이블 파일을 열어보면 다음과 같은 구분으로 나뉘어 있습니다: 스키마를 지정하지 않았을 경우의 테이블 생성 방법, 스키마를 지정하여 테이블을 생성하는 방법, 그리고 Windows 운영 체제에서 Oracle 21c XE 버전을 설치하는 방법입니다.
책의 A22페이지에 해당하는 내용으로, 하드웨어 사양 등의 정보가 나와 있습니다. 필수 점검 사항으로, 사용자 이름이 한글일 경우 오류가 발생할 수 있으므로 영문으로 변경한 후 설치해야 합니다.
자세한 내용은 2026 이지패스 SQLD SQL 개발자(이지패스, 일명 고래책) 도서를 참고하시면 좋습니다.
Oracle 21c XE 다운로드 및 설치
Oracle 21c 다운로드 사이트(oracle.com/kr/database/technologies/xe-downloads.html)에 접속합니다.
본인의 운영체제에 맞게 설치 파일을 클릭하여 다운로드합니다. 파일 용량은 약 1.8GB 정도이므로 시간이 다소 소요됩니다.
다운로드가 완료되면 Oracle_XE_213_Win64 폴더가 보입니다. 압축을 풀면 해당 폴더 안에 setup.exe 실행 파일이 있습니다. Oracle_XE_213_Win64 폴더 자체를 C 드라이브에 복사한 후, setup.exe를 관리자 권한으로 실행합니다.
설치 메뉴가 순서대로 나타나면 다음 버튼을 누르면서 진행하면 됩니다.
설치 과정 중 SYS 데이터베이스 비밀번호를 두 번 입력하라는 화면이 나옵니다. 여기에 임의의 비밀번호를 설정합니다(예: 1234).
이 비밀번호는 반드시 기억해 두어야 합니다. 이후 계속 설치를 진행하면 완료됩니다.
설치 후 확인 및 설정
오라클 데이터베이스 설치가 완료되면, 연결 설정을 추가로 진행해야 합니다. Windows 탐색 창에서 cmd를 검색하여 명령 프롬프트를 관리자 권한으로 실행합니다.
명령 프롬프트에서 sqlplus / as sysdba 명령을 입력합니다. "접속됨"이라는 메시지와 함께 Oracle 21c Express Edition 정보가 표시되면 정상적으로 접속된 것입니다.
sqlplus / as sysdba
다음으로 두 개의 명령을 순차적으로 실행합니다. 실행 결과 "XE가 현재 OPEN 상태"라는 메시지가 나오면 정상입니다.
SQL> set lines 200 pages 1000;
SQL> select instance_name, status, version from v$instance;
tnsnames.ora 파일 수정
마지막으로 tnsnames.ora 파일에 텍스트를 추가해야 합니다. 파일 경로는 C:\Users\[사용자명]\product\21c\homes\[홈폴더]\network\admin\ 입니다. 사용자명은 PC마다 다릅니다.
해당 경로를 따라가서 tnsnames.ora 파일을 열고, 기존 내용 아래에 XEPDB 접속 설정 내용을 추가합니다. 이 설정은 로컬에서 접속할 수 있게 환경을 잡아주는 것입니다.
붙여넣기 할 때 공백이 사라지는 경우가 있으므로, 들여쓰기를 반드시 맞춰야 합니다. 첫 번째 괄호는 한 칸 들여쓰기, 두 번째는 그보다 더 안쪽으로 들여쓰기, 세 번째는 더 안쪽으로 들여쓰기하는 식입니다. 들여쓰기를 맞춘 후 Ctrl+S로 저장합니다.
TNS PING 확인
CMD 창을 다시 열어 관리자 권한으로 실행한 후, tnsping XEPDB 명령을 실행합니다. "확인 20ms"와 같은 메시지와 함께 "반칙 분석을 위해서 어댑터 사용" 등의 화면이 나오면 정상적으로 접속이 된 것입니다. 이로써 데이터베이스 연결을 위한 모든 설정이 완료됩니다.
tnsping XEPDB
사용자 생성 및 권한 부여
다음으로 최초 사용자를 생성해야 합니다. CMD 창에서 SQL*Plus 명령을 실행하고 / as sysdba로 접속합니다.
sqlplus / as sysdba
사용자를 생성하는 명령은 다음과 같습니다:
CREATE USER C##OT IDENTIFIED BY 1234;
"사용자가 생성되었습니다" 메시지가 나오면 성공입니다.
사용자 생성 후 권한을 부여합니다.
GRANT DBA TO C##OT;
DBA 권한이 부여되면 SQL*Plus에서 EXIT 명령으로 빠져나옵니다. 여기까지 하면 CMD 창에서의 작업은 끝입니다.
DBeaver 설치
다음으로 DBeaver를 다운로드하고 설치합니다. DBeaver 다운로드 사이트에서 Windows Installer를 클릭하여 다운로드한 후 실행합니다. 설치는 다음 버튼을 누르면서 진행하면 되며, 오라클 설치처럼 복잡하지 않습니다.
DBeaver에서 Oracle 연결 설정
DBeaver를 실행하면 새 데이터베이스 연결 메뉴에서 Oracle을 선택하고 다음 버튼을 누릅니다.
설정 화면에서 다음과 같이 입력합니다.
• Host: localhost (기본값 그대로)
• Port: 1521 (기본값 그대로)
• Database: XEPDB (대문자로 입력)
• Authentication: Oracle Database Native (기본값 그대로)
• Username: C##OT
• Password: 1234 (앞서 설정한 비밀번호)
Client는 Oracle DB 21 Home1으로 설정된 상태를 그대로 유지합니다. Test Connection 버튼을 눌러 "Connected" 메시지가 나오면 연결에 성공한 것입니다. 확인을 누르고 완료 버튼을 클릭합니다.
왼쪽 패널에 새로 생성된 로컬호스트 연결이 나타나고, 펼쳐보면 C##OT 스키마가 보입니다. 이것이 OT라는 사용자의 스키마(개인별 영역)입니다. 현재 테이블에는 아무것도 없는 상태입니다.
실습을 위한 샘플 데이터 로드
실습을 위해 샘플 데이터를 추가합니다. 앞서 다운로드한 SCOTT 샘플 데이터 SQL 파일을 DBeaver에서 엽니다.
한 줄씩 실행하려면 Ctrl+Enter를 여러 번 눌러야 하므로, 대신 Ctrl+A로 전체 선택한 후 Alt+X를 누르면 모든 명령이 순차적으로 실행됩니다.
실행이 완료된 후 왼쪽의 C##OT 스키마에서 오른쪽 마우스 버튼을 클릭하고 새로 고침(F5)을 누르면, DEPT, EMP, SALGRADE 세 개의 테이블이 생성된 것을 확인할 수 있습니다.
각 테이블의 세부 사항을 보면 칼럼에 대한 설명이 표시됩니다. 데이터를 확인하려면 하단의 데이터(Data) 탭을 클릭합니다.
• DEPT 테이블: 4개의 행
• EMP 테이블: 14개의 행
• SALGRADE(급여 등급) 테이블: 5개의 행
스키마 설정 확인
만약 쿼리 실행 시 문제가 발생하면, DBeaver 상단의 두 번째 메뉴를 확인해야 합니다. 첫 번째는 연결(로컬호스트)을 나타내고, 두 번째는 스키마를 나타냅니다. 현재 쿼리가 적용되는 대상이 올바른 로컬호스트의 C##OT 스키마로 설정되어 있는지 확인합니다. 다른 연결이나 스키마로 변경되어 있으면 쿼리가 정상적으로 동작하지 않을 수 있습니다.
여기까지 하면 기본적인 실습 환경 구성이 모두 완료됩니다.
SQL 쿼리 가독성을 위한 원칙
마지막으로 본 책에서 사용한 SQL 쿼리 가독성의 원칙을 살펴봅니다. 일반적으로 홀리웰(Holywell)의 스타일 가이드 방식이 많이 사용되는데, 본 책에서는 이를 약간 변형하여 적용했습니다.
콤마가 칼럼 앞에 위치하는 방식을 사용했는데, 이는 실제 쿼리를 수정하기가 편하고 초보자가 구분하기 쉽다는 장점이 있습니다. 세미콜론의 경우, 원래는 마지막 행에서 한 행을 더 내려서 단독으로 적는 것이 더 일반적이고 쿼리 수정에도 편리합니다. 그러나 본 책에서는 쿼리가 많아지면 페이지가 늘어나는 편집상의 이유와 설명상의 이유로 현재의 들여쓰기 정책을 채택했습니다. 이 쿼리 가독성을 위한 원칙은 한번 읽어보면 충분합니다.
이렇게 해서 환경 구성을 모두 마치겠습니다. 감사합니다.
해당 블로그는 오라클 실습 사이트 개편 내용을 반영한 유튜브 실습 영상을 참고해 정리했습니다.
영상과 함께 보시면 훨씬 이해가 쉬울 거예요 �
[SQLD 고래책 저자의 강의]
https://youtu.be/Zktn-jYh-DA?si=_RBIhjdxywfaPlsO