기존에 Oracle SQL Developer를 사용하여 로컬에서 작업하던 프로젝트를 배포하기 위해 NEON에 올려보기로 했다.
* NEON : 서버리스 Postgre 플랫폼 (참고 링크 : https://neon.tech/docs/introduction)
NEON에 올리려면 PostgreSQL을 사용해야 하기 때문에 DBeaver를 활용해서 데이터베이스를 마이그레이션하였다.
마이그레이션을 하려면 먼저 NEON에 가입하고 프로젝트를 생성해놓아야한다.
1️⃣ DBeaver 설치 및 기본 설정
- 공식 사이트: https://dbeaver.io
- DBeaver CE (무료 버전) 설치
- PostgreSQL과 Oracle JDBC 드라이버는 자동 설치됨
2️⃣ Oracle DB 연결 설정
- DBeaver → Database → New Database Connection
- Oracle 선택 → JDBC URL 입력 or TNS 설정
- 사용자 ID, 비밀번호 입력
- 연결 확인 → 성공하면 왼쪽 DB 탐색기에서 Oracle DB가 보임
3️⃣ Neon(PostgreSQL) 연결 설정
- DBeaver → Database → New Database Connection
- PostgreSQL 선택
- Neon에서 받은 접속 정보 입력:
- Host: ep-xxxxxx.neon.tech
- Port: 5432
- DB name, user, password 입력
- SSL 설정 필수:
- “SSL” 탭에서 “Require” 또는 “Verify CA” 선택
- SSL 인증서 필요 시 Neon에서 다운로드 가능
- 연결 성공 시 PostgreSQL DB도 탐색기에서 확인됨
4️⃣ 데이터 및 스키마 마이그레이션
📌 DBeaver의 내장 데이터 전송 마법사 사용
- Oracle DB에서 마이그레이션할 테이블들을 선택
- 마우스 오른쪽 클릭 → Export Data...
- Export format: Database 선택
- Target: Neon(PostgreSQL DB) 선택
- 다음 → DDL 자동 생성 및 매핑 확인
- 필요한 경우 데이터 타입 수동 매핑 (예: NUMBER → NUMERIC)
- “Start” 클릭 → 스키마 생성 + 데이터 복사 실행
✅ 기본적으로 CREATE TABLE 및 INSERT가 자동 수행됨
5️⃣ 함수/프로시저 등 PL/SQL 코드 수동 마이그레이션
- Oracle의 프로시저, 함수, 트리거는 직접 SQL 창에서 코드 복사
- PostgreSQL의 PL/pgSQL 문법에 맞게 수동 변환 필요
6️⃣ 데이터 검증 및 테스트
- 데이터 건수 비교: SELECT COUNT(*) FROM ...
- 샘플 레코드 비교
- 테이블 구조 비교
- 간단한 SELECT, JOIN, INSERT 테스트
위 절차대로 진행하면 편리하게 옮길 수 있다.
하지만 제약 조건은 옮겨지지 않았는데 이것은 내가 설정을 잘못했을 수도 있어서 나중에 다시 확인해볼 예정이다.