Cute Light Pink Flying Butterfly [DBeaver] 데이터 마이그레이션 | 다중 데이터베이스간 데이터 옮기기 :: 놀면서 돈벌기
본문 바로가기
Coding/DB

[DBeaver] 데이터 마이그레이션 | 다중 데이터베이스간 데이터 옮기기

by 왓츠뉴 whatsnew 2025. 3. 19.
반응형

📎📌 DB 대상 연결

각 데이터베이스를 DBeaver에 연결합니다.
dev 개발디비와, stg 운영디비를 기준으로 설명하겠습니다.

 

 

📎 조회쿼리 실행

복사할 대상(stg) DB에 접속해서 조회문을 작성합니다. 

default로 부여되는 컬럼을 제외하고, 복사될 데이터의 컬럼만 모두 작성합니다.
ex) PK인 ID 컬럼이 default로 부여되고 있는 경우,

대상 DB에 이미 존재하는 데이터의 PK와 중복될 수 있으므로, ID 컬럼은 제외하고 조회합니다.

 

 

📎 조회결과 우클릭 - 데이터 추출

 

Export target - 테이블
복사될 대상 Database 선택
Confirm에서 오류가 발생하지 않으면(데이터 중복 등의 이슈), 데이터 추출 진행

📎 데이터 복사 성공

대상 Database에 가서 확인해보면, ID/CREATE_TIME, UPDATE_TIME은 자동으로 DEFAULT 값으로 채워졌고
조회한 컬럼만 복사되어 INSERT INTO와 같이 다중 데이터베이스간 데이터 복사가 가능합니다.

 

💡 중복데이터가 있을때 💡

동일한 DB인데 운영하는 서버의 정보만 다른경우,

동일테이블에 동일한 데이터가 PK값만 다르게 등록되어있는 경우가 있습니다.


이러한경우 중복데이터는 복사되지 않도록 설정하는 방법이 있는데요, INSERT IGNORE를 설정값으로 줄 수 있습니다.
일반적으로 Replace는 None으로 설정되어 있어서, 중복발생시 복사되지않고 에러가 발생하는데.

INSERT IGNORE를 설정하면 중복발생시 점프하고 다음데이터를 입력합니다.
기존에 등록된 중복값에 Update나 Replace되도록 설정할 수도 있습니다.

 

Replace method : INSERT IGNORE (기존에 같은 데이터가 존재하면 에러 없이 그냥 넘어가고, 없는 데이터만 정상적으로 삽입됩니다.)
Do Commit after row insert: 30000 -> 조회된 row의 수를 미리 확인하고, 10000줄이 넘어가면 넉넉한 값으로 설정해야 조회된 모든값이 복사됩니다. 30000만줄이 조회됬는데 여기 설정이 10000으로 되어있으면, 10000줄까지만 복사됩니다.

728x90
반응형