2025/05/20 2

UNDO 공간부족 오류란

우선 RDBMS(Oracle, Tibero 등)는 데이터를 변경할 때 원본 상태를 UNDO 영역에 저장해둠.이걸 나중에 ROLLBACK 하거나, 다른 트랜잭션에서 과거 상태로 읽을 수 있도록 하기 위해서임 즉 그냥 UNDO = 되돌리기 위한 임시 저장소임. 그 UNDO 공간(버퍼)이 작거나 부족하면DB가 더 이상 작업을 못함 → ORA-01555 오류 트랜잭션 실패INSERT/UPDATE/DELETE 중단락 걸린 채로 죽는 경우도 있음마이그레이션 도중 중단되면 DB 상태 꼬임 위험 대응 방법 undo 공간 확인하는 명령어: ( 저장용 )(Oracle) SELECT a.tablespace_name, ROUND(SUM(a.bytes) / 1024 / 1024, 2) AS to..

TIL 2025.05.20

DB 마이그레이션 적용하는 법

DB 마이그레이션이라고 하면 흔히 "Flyway"라던가 "Liquibase" 하는 툴 얘기를 많이 한다. 근데 나는 실무에서 그런 거 안 썼다. 그냥, 쿼리 하나하나 수동으로 날렸고,그게 당시엔 회사에서 추진하는 방식이었다~ 이번 글에선 내가 실제로 어떤 방식으로 마이그레이션을 했는지,그리고 지금 돌아보며 “이렇게도 할 수 있었겠다” 싶은 것들을 정리해본다. 상황: 구조 바뀐 테이블 + 백만 건 넘는 데이터 당시 맡았던 서비스에는 user, room, user_room_mapping 테이블이 있었다user: 약 10만 건room: 약 20만 건user_room_mapping: 매핑 관계라 100~200만 건 추정이제 여기서 room 테이블의 구조가 바뀌고,컬럼도 몇 개 바뀌고, 기존 데이터도 옮겨야 하..

TIL 2025.05.20