플레이북
- 데이터베이스가 느림애플리케이션 전반의 느려짐. 쿼리가 평소보다 훨씬 오래 걸리고 사용자 불만이 제기된다.
- 디스크 / 테이블스페이스 가득 참'unable to extend', 'disk full', 'log file full' 오류. 쓰기가 멈추고 있다.
- 블로킹 및 락 위기쿼리가 멈추고 'lock wait timeout'이 발생하며, 많은 세션이 대기 중이지만 CPU는 낮다.
- 커넥션 폭주 (too many connections)'too many connections', 'ORA-00018', 'remaining connection slots reserved' — 새 연결이 거부되고…
- 복제 지연 / 중지standby/replica가 뒤처지거나 완전히 멈췄으며, 읽기 replica가 오래된 데이터를 보여 준다.
- 높은 CPU서버 CPU 90% 이상. 시스템 전체가 느리고 load average가 높다.
- 메모리 압박 / OOMOOM killer가 프로세스를 종료하고, 'out of memory', 낮은 cache hit ratio, 과도한 swap, Redis 'OOM…
- 트랜잭션 로그 / undo 비대화트랜잭션 로그 파일이나 undo/redo 영역이 빠르게 커진다. 'log full', 'ORA-01555 snapshot too old', 'unable to…
- 데드락 분석'deadlock detected', 'ORA-00060', 'chosen as deadlock victim' — 트랜잭션이 서로를 잠그고 하나가 중단된다.
- 데이터베이스가 열리지 않음 / 접속 불가서비스에 연결할 수 없고, 'connection refused', 인스턴스가 시작되지 않으며, listener가 응답하지 않는다.
- 데이터 손상읽기 중 'ORA-01578', 'page corruption', 'checksum mismatch', 'MISCONF', I/O 일관성 오류.
- 장시간 실행 쿼리 / 작업하나의 쿼리/작업이 몇 시간째 끝나지 않고 실행 중이며, 리소스를 소비하거나 다른 작업에 영향을 준다.
- Postgres XID wraparound / autovacuum 위기'database is not accepting commands to avoid wraparound data loss'. autovacuum이 따라가지 못하고…
- tempdb 경합(SQL Server)PAGELATCH_UP/EX 대기, tempdb 할당 페이지(PFS/GAM/SGAM) 경합, 전반적인 느려짐.
- TLS / 인증서 만료'certificate has expired', 'SSL handshake failed', 클라이언트가 갑자기 연결할 수 없다(코드 변경 없음).
- 버전 업그레이드 / 패치 롤백업그레이드/패치 후 문제: 성능 회귀, 애플리케이션 비호환, 데이터베이스가 열리지 않음.
- Elasticsearch red/yellow 클러스터 및 unassigned shard_cluster/health가 'red' 또는 'yellow'. unassigned shard 발생, 읽기/쓰기가 제한되거나 데이터에 접근할 수 없다.
- Clock skew / NTP 문제클러스터 노드 간 시간 차이. 복제/선출 불일치, 'certificate not yet valid', 로그의 시간 점프.
- Oracle Data Guard(physical standby) 구성목표: physical standby(Data Guard)로 Oracle의 재해 복구와 고가용성을 구성하고, primary 장애 시 standby로 전환할 수…
- SQL Server Always On Availability Group 구성목표: Always On Availability Group(AG)으로 SQL Server의 자동 페일오버와 읽기 가능 secondary replica를 구성한다.
- PostgreSQL streaming replication + 자동 페일오버목표: streaming replication으로 PostgreSQL의 hot standby를 구성하고 자동 페일오버를 위해 Patroni/repmgr를…
- MySQL InnoDB Cluster(Group Replication) 구성목표: InnoDB Cluster(Group Replication + MySQL Shell + MySQL Router)로 MySQL에 자동 페일오버가 있는…
- MongoDB replica set + 샤딩 구성목표: MongoDB에 자동 페일오버가 있는 replica set을 구성하고 수평 확장을 위해 sharded cluster로 확장한다.
- Redis Sentinel + Cluster를 이용한 고가용성목표: Sentinel로 Redis에 자동 페일오버가 있는 master-replica 구성을 만들고, 수평 확장이 필요하면 Redis Cluster 모드로…
- Elasticsearch 복원력: replica + 스냅샷 + CCR목표: replica 샤드, 전용 master/data 노드, 스냅샷 백업(SLM), cross-cluster replication(CCR)으로 Elastics…
- 보안 강화: SQL 데이터베이스(Oracle, PostgreSQL, MySQL, SQL Server)목표: CIS 방식으로 관계형 데이터베이스를 강화한다 — 기본 계정, 강력한 비밀번호 정책, 최소 권한, 네트워크 제한, TLS, 감사, 암호화(TDE).
- 보안 강화: MongoDB / Redis / Elasticsearch목표: CIS 방식으로 NoSQL/데이터 저장소를 강화한다 — 인증, 네트워크 제한, 위험 명령 차단, TLS, 최소 권한 역할, 감사.
- 클라우드 관리형 데이터베이스(RDS/Aurora/Cloud SQL/Atlas/Azure SQL)목표: 클라우드 관리형 데이터베이스와 자체 관리 설치의 핵심 차이를 익히고, 클라우드에서 백업, 파라미터, 페일오버, 모니터링, 업그레이드, 연결이 어떻게…
- Ansible을 이용한 데이터베이스 자동화목표: Ansible로 데이터베이스 설치, 구성, 사용자, 백업 작업을 반복 가능하고 멱등적으로(같은 playbook을 다시 실행해도 시스템이 깨지지 않음)…
- Terraform을 이용한 데이터베이스 프로비저닝(IaC)목표: Terraform으로 데이터베이스 인프라(인스턴스, parameter group, 네트워크)를 코드로 정의하고(Infrastructure as…
- Kubernetes 위의 데이터베이스(operator)목표: operator로 Kubernetes에서 데이터베이스를 실행한다. 순수 StatefulSet 대신 operator가 제공하는 자동 페일오버, 영구…
- 스키마 마이그레이션 CI/CD(Flyway/Liquibase)목표: 버전이 지정된 마이그레이션 파일로 데이터베이스 스키마 변경을 관리하고, Flyway 또는 Liquibase로 CI/CD 안에서 자동이지만 통제된…
- 자동 백업(pgBackRest/Barman/Xtrabackup/cron)목표: 데이터베이스 백업을 자동화한다. 예약된 전체+증분+WAL/binlog 아카이빙, retention, 검증, offsite 사본으로 신뢰할 수 있는 복구…
- GitOps 및 blue-green / 무중단 배포목표: 다운타임 없이 스키마와 애플리케이션 변경을 배포한다. expand-contract 마이그레이션, blue-green 환경, feature flag,…