MongoDB: MongoDB에서 Oplog 사이즈 확인하는 법

2026. 3. 20. 10:44·📊DB/MongoDB

MongoDB에서 Oplog 사이즈 확인하는 법

MongoDB의 oplog(Operation Log, 작업 로그)는 MongoDB 복제(replication)에서 사용되는 특별한 컬렉션으로, 변경 사항을 기록하는 역할.

📦 oplog란?

• oplog(rs.oplog)는 MongoDB 복제 세트(replica set)에서 Primary 노드의 데이터 변경 사항을 기록하는 컬렉션입니다.

• Secondary 노드는 Primary의 oplog를 읽고 동일한 작업을 수행하여 데이터를 동기화함.

• 컬렉션 이름: local.oplog.rs

  • Capped Collection(고정 크기 컬렉션)으로 동작하며, 일정 크기가 차면 가장 오래된 데이터부터 삭제!

📦 oplog의 동작 방식

1. Primary 노드에서 변경 발생

• insert, update, delete 작업이 수행될 때, oplog에 기록됨.

2. Secondary 노드가 oplog를 읽음

• Secondary 노드는 Primary의 oplog를 주기적으로 읽어 적용함.

3. 동기화 유지

  • Primary에서 발생한 변경 사항을 Secondary가 동일하게 수행하여 데이터 일관성을 유지.

📦 oplog 확인 방법

MongoDB에서 oplog를 직접 확인하려면 아래 명령을 실행

use local
db.oplog.rs.find().limit(10).pretty()
  • local 데이터베이스에 oplog.rs 컬렉션이 저장.
  • 위 명령을 실행하면 최근 10개의 oplog 항목을 확인가능.

📦 oplog 항목 예시

{
   "ts" : Timestamp(1712432874, 1),
   "t" : NumberLong(2),
   "h" : NumberLong("890273918273918273"),
   "v" : 2,
   "op" : "i",
   "ns" : "mydb.users",
   "o" : {
       "_id" : ObjectId("65f3b69ad2b3e6b5d3a6f6d1"),
       "name" : "Alice",
       "age" : 28
   }
}
  • “op”: 작업 유형 (“i”: insert, “u”: update, “d”: delete)
  • “ns”: 네임스페이스(데이터베이스 및 컬렉션 정보)
  • “o”: 변경된 문서 내용.

📦 oplog의 크기 확인 및 조정

  • oplog의 크기를 확인
db.getReplicationInfo()
  • oplog 크기를 늘리려면 (예: 10GB)
db.adminCommand({ replSetResizeOplog: 1, size: 10240 })

🚀 정리.

  • oplog는 MongoDB 복제(replication)에서 Primary의 변경 사항을 기록하는 로그
  • Secondary 노드는 oplog를 읽고 동일한 작업을 수행하여 데이터 일관성을 유지
  • oplog 크기가 고정되어 있으며, 오래된 로그는 자동으로 삭제
저작자표시 비영리 변경금지 (새창열림)

'📊DB > MongoDB' 카테고리의 다른 글

MongoDB: MongoDB 설치한 OS 에서 “Too many open files” 에러 발생 시 해결 가이드  (0) 2026.03.20
MongoDB: Replica Set Secondary Node 동기화 시간 확인하는 방법  (1) 2026.03.20
MongoDB: DB 다운 시 재가동 방법  (0) 2026.03.20
MongoDB: wiredTiger engine 파일 찾는 법  (0) 2026.03.20
MongoDB: TooManyLogicalSessions 에러  (0) 2026.03.20
'📊DB/MongoDB' 카테고리의 다른 글
  • MongoDB: MongoDB 설치한 OS 에서 “Too many open files” 에러 발생 시 해결 가이드
  • MongoDB: Replica Set Secondary Node 동기화 시간 확인하는 방법
  • MongoDB: DB 다운 시 재가동 방법
  • MongoDB: wiredTiger engine 파일 찾는 법
Diven
Diven
  • Diven
    Diven
    Diven
  • 전체
    오늘
    어제
    • 분류 전체보기 (110) N
      • ☁️Cloud (21) N
        • AWS (2)
        • Alibaba (14) N
        • OCI (1)
        • AWS: Certified Solution Arc.. (0)
        • AWS: Certificate Advanced N.. (2) N
      • 📊DB (13)
        • MongoDB (8)
        • MariaDB (2)
        • PostgreSQL (2)
        • MySQL (1)
      • 🧑🏽‍💻Dev:Lang (9)
        • C++ (0)
        • GO (1)
        • Python (8)
      • ⚙️DevOps (4)
        • CICD (0)
        • Jenkins (4)
      • 🐳Docker (15)
      • 🪢laC (0)
      • ⚓K8s (7)
      • 🐧Linux (25)
      • 🖥️Monitoring (10)
        • Grafana (1)
        • Prometheus (6)
        • Loki (1)
        • ELK (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    alertmanager
    SSL
    MySQL
    NGINX
    AWS
    mongoDB
    docker
    알리바바 클라우드
    jenkins
    centOS7
    prometheus
    Alibaba
    mariadb
    alb
    db
    Python
    linux
    PolarDB
    Cloud
    k8s
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
Diven
MongoDB: MongoDB에서 Oplog 사이즈 확인하는 법
상단으로

티스토리툴바