SQL

Oracle DB 접속: SQL Developer와 SQL*Plus

1space 2025. 7. 13. 21:21

클라이언트 프로그램과 서버 프로그램 구조

  • Client Program (sqlplus, sql developer)
    → 우리가 사용하는 SQL 입력 도구입니다. 명령어(SQL)를 입력하고 결과를 확인할 수 있습니다.
    • ex: SQL Developer, SQL*Plus 등
  • Server Program (Oracle DB 엔진)
    → 진짜 데이터를 가지고 있는 DB 서버입니다. 사용자가 요청한 SQL 명령을 실행하고 결과를 돌려줍니다.
  • 사용자가 SQL Developer 등을 실행하면 다음 순서로 오라클 서버와 통신합니다:
    1. 인증 (ID/PW를 통해 Oracle DB 로그인)
    2. SQL 실행 요청
    3. 결과 반환 및 확인
  • 중간에 접속이 차단될 수도 있는데, 이는 DB 서버가 꺼져 있거나, 방화벽/네트워크 오류, 잘못된 계정정보 때문입니다.

 

SQL Developer와 SQL*Plus의 역할

우리가 사용하는 SQL Developer나 SQL*Plus는 데이터베이스에 접속해서 SQL문을 입력하고 실행하는 도구입니다. 이 도구들은 모두 클라이언트 프로그램이라고 부릅니다.

  • 클라이언트 프로그램: 사용자가 명령을 입력하고 결과를 확인하는 도구
  • 서버 프로그램: 진짜로 데이터베이스를 실행시키고 데이터를 관리하는 Oracle DB 서버

 

접속 흐름 (3단계)

클라이언트 프로그램이 Oracle 데이터베이스와 통신할 때는 다음 3단계 절차를 따릅니다:

① 인증 (Connection / Login)

  • Oracle DB에 접속하려면 사용자 이름(ID)과 비밀번호를 입력해야 합니다.
  • 예: sys as sysdba, scott/tiger 같은 계정으로 로그인

② SQL 실행

  • 로그인에 성공하면 SQL문을 입력합니다.
  • 예: SELECT * FROM EMP; 와 같은 쿼리를 입력

③ 결과 확인

  • Oracle 서버가 쿼리를 처리한 뒤, 결과를 다시 클라이언트로 보내줍니다.
  • SQL Developer나 SQL*Plus는 이 결과를 사용자에게 보여줍니다.

 

SQL*Plus를 사용한 접속 예시 (명령줄 기반)

  • Windows CMD 창에서 sqlplus 명령어로 SQL*Plus를 실행한 모습입니다.
  • sys as sysdba로 접속 → 시스템 관리자 권한으로 접속한 상태
  • 정상적으로 DB에 접속된 경우 SQL> 프롬프트가 출력됨.

이 경우에도 위 3단계: 인증 → SQL 실행 → 결과 확인 흐름이 적용됩니다. 단, CLI 기반이라 직접 명령어를 입력해야 합니다.

 

SQL Developer의 예 (GUI 기반)

  • 프로그램을 실행하면 화면에 ID/PW 입력창이 뜨고, 접속 버튼을 누릅니다.
  • 성공하면 SQL 창이 뜨고, 거기에 다음처럼 SQL문을 입력합니다:
 
SELECT * FROM EMP;
  • 마우스로 실행 버튼을 누르면, 결과가 표 형태로 깔끔하게 나타납니다.
  • 장점: GUI 기반으로 초보자에게 친절함, 결과가 보기 쉽고, 자동완성 기능 지원

 

정리

SQL*Plus 명령어 기반 도구 가볍고 빠름, CLI 방식
SQL Developer GUI 기반 도구 사용하기 쉬움, 설치 필요
공통 Oracle 서버에 접속하여 SQL 실행 1. 인증 → 2. 실행 → 3. 결과확인
 

추가로 이해하면 좋은 내용

  • SQL Developer는 내부적으로 Java 기반으로 실행됩니다. 그래서 JDK가 필요하며, JDK 경로가 없으면 아예 실행이 되지 않습니다.
  • SQL Developer를 통해 접속하든, SQL*Plus를 통해 접속하든, 결국 Oracle DB 서버와 연결해서 SQL문을 실행하는 구조는 같습니다.

'SQL' 카테고리의 다른 글

오라클 데이터 형식  (0) 2025.07.14
MEMBER테이블 생성하기  (0) 2025.07.14
사용자와 데이터베이스 생성하기  (0) 2025.07.14
오라클 PDB서버에 접속하기  (0) 2025.07.14
SQL, DBMS의 의미와 필요성  (0) 2025.07.13