DBAtlas · 데이터베이스 운영 아틀라스

업그레이드 전 호환성/준비 상태 점검

Oracle

-- Recommended method for 19c and later (AutoUpgrade analyze mode):
-- $ java -jar autoupgrade.jar -config db.cfg -mode analyze
-- Legacy/alternative: preupgrade script (produces a report only):
-- $ $NEW_ORACLE_HOME/jdk/bin/java -jar $NEW_ORACLE_HOME/rdbms/admin/preupgrade.jar FILE TEXT DIR /tmp

AutoUpgrade 'analyze' 모드는 데이터를 변경하지 않고 업그레이드 전 보고서를 생성하며, 수정해야 할 경고와 자동으로 해결될 항목을 나열한다. 실제 업그레이드 전에 반드시 실행한다.

PostgreSQL

# With the new version's binaries, compatibility check only (moves no data):
$ pg_upgrade \
    --old-datadir=/var/lib/pgsql/16/data \
    --new-datadir=/var/lib/pgsql/17/data \
    --old-bindir=/usr/pgsql-16/bin \
    --new-bindir=/usr/pgsql-17/bin \
    --check

--check는 데이터를 변경하지 않고 업그레이드 가능 여부를 검증한다(누락된 확장, 호환되지 않는 데이터 타입 등을 보고). --check는 기존 클러스터가 실행 중일 때도 실행할 수 있으며, 실제 업그레이드는 두 클러스터를 모두 중지한 상태에서 수행한다.

MySQL

-- 8.0 and later: Upgrade Checker utility (MySQL Shell):
-- $ mysqlsh -- util check-for-server-upgrade { --user=root --host=localhost }
-- Table consistency for legacy 5.7->8.0:
$ mysqlcheck --all-databases --check-upgrade -u root -p

MySQL Shell의 util.checkForServerUpgrade()는 제거된 기능, 예약어 충돌, 호환되지 않는 정의를 보고한다. 8.0부터는 서버가 시작 시 딕셔너리 업그레이드를 직접 수행하므로 별도의 mysql_upgrade가 더 이상 필요 없다.

SQL Server

-- Run from the desktop with Data Migration Assistant (DMA):
-- DmaCmd.exe /AssessmentName=... /AssessmentDatabases=...
-- (Produces compatibility/deprecated feature and blocker reports.)

Data Migration Assistant(DMA)는 기존 Upgrade Advisor를 대체했으며, 데이터베이스별로 deprecated 기능, breaking change, 차단 요소를 보고한다. 업그레이드 전에 실행하고 발견 사항을 해결한다.

MongoDB

// Verify the current Feature Compatibility Version (FCV):
db.adminCommand({ getParameter: 1, featureCompatibilityVersion: 1 })
// Compatibility items (deprecations) in the release notes are reviewed manually.

바이너리 버전을 업그레이드하기 전에 FCV가 현재 버전과 같아야 하며, 그렇지 않으면 업그레이드가 차단된다. MongoDB에는 자동 'deprecation 스캐너'가 없으므로 릴리스 호환성 노트를 수동으로 검토한다.

Redis

# Not applicable: Redis has no separate pre-upgrade readiness tool.
# Checklist: read the target version's release notes for RDB/AOF persistence format,
# changed configuration directives, and removed commands/arguments.

Redis 업그레이드는 일반적으로 상위 호환된다. 공식 준비 상태 스캐너가 없으므로 RDB/AOF 파일 형식, 제거된 구성 지시어, 명령 변경 사항을 릴리스 노트에서 수동으로 확인한다.

Elasticsearch

GET _migration/deprecations
# For a specific component: GET <index>/_migration/deprecations

Deprecation Info API는 다음 메이저 버전으로 이동할 때 문제를 일으킬 클러스터, 노드, 인덱스, ML 설정을 'critical' / 'warning'으로 나열한다. Kibana Upgrade Assistant는 같은 데이터를 시각화한다.

DBAtlas에서 열기 →