Thứ Năm, 2 tháng 7, 2026

Thay thế Online Redo Log và Standby Redo Log từ 200MB lên 1GB

Runbook này tuân theo Oracle Best Practices dành cho Data Guard và phân biệt rõ 3 loại redo:

  • Primary Online Redo Log (ORL)
  • Standby Online Redo Log (ORL)
  • Standby Redo Log (SRL)

RUNBOOK

Thay thế Online Redo Log và Standby Redo Log từ 200MB lên 1GB

Phiên bản áp dụng

  • Oracle Database 11gR2/12c/18c/19c
  • Physical Data Guard
  • Primary Single Instance
  • Standby Single Instance hoặc RAC

1. Kiến trúc tổng thể

1.1 Kiến trúc hiện tại

                    PRIMARY
192.168.50.113

+----------------------+
| Online Redo Log |
| 7 Groups x 1GB |
+----------+-----------+
|
LGWR / ARCH / LNS
|
Redo Transport Service
|
===========================
|
|
STANDBY (Single/RAC)

+----------------------------+
| Standby Redo Log |
| 4 Groups x 200MB |
+-------------+--------------+
|
MRP
|
Apply Redo
|
Datafiles

+----------------------------+
| Online Redo Log |
| 3 Groups x 200MB |
+----------------------------+

1.2 Kiến trúc mục tiêu

                    PRIMARY

Online Redo Log

7 Groups

1GB/group





Standby Redo Log

8 Groups

1GB/group




MRP Apply




Datafiles

--------------------------------------

Online Redo Log trên Standby

7 Groups

1GB/group

(Chỉ sử dụng sau Switchover/Failover)

2. Mục lục thực hiện

1. Kiểm tra trước thay đổi

2. Backup

3. Resize Online Redo Log
3.1 Primary
3.2 Standby Single
3.3 Standby RAC

4. Resize Standby Redo Log
4.1 Standby Single
4.2 Standby RAC

5. Kiểm tra sau thay đổi

6. Rollback

7. Bài học kinh nghiệm

8. Phòng ngừa

3. Vấn đề

Hiện trạng

Primary

Online Redo Log

7 x 1GB

Standby

Online Redo Log

3 x 200MB

Standby Redo Log

4 x 200MB

Các vấn đề tồn tại

1. Standby Redo Log nhỏ hơn Primary

Oracle phải rotate SRL liên tục.

Dẫn tới

Transport Lag

Apply Lag

Redo Wait

RFS Wait

Media Recovery Waiting

2. Online Redo Log không đồng nhất

Nếu Switchover

Standby trở thành Primary

thì redo chỉ còn 200MB.

Log Switch xảy ra rất thường xuyên.


3. Thiếu Standby Redo Log

Oracle khuyến nghị

SRL

=

Online Redo Log

+

1 Group

(per thread)

Primary có

7 ORL

Standby phải có

8 SRL

4. Mức độ ảnh hưởng

Ảnh hưởngMức độ
Transport Lag★★★★★
Apply Lag★★★★★
Redo Switch Frequency★★★★★
Switchover Performance★★★★☆
Failover Performance★★★★☆
Recovery Time★★★★☆

5. Nguyên nhân

Nguyên nhân gốc

Primary

Redo = 1GB



Standby

Redo = 200MB

Oracle phải

Switch

Archive

Reuse

Switch

Archive

Reuse

liên tục.


6. Biện pháp xử lý

Giai đoạn 1

Resize Primary Online Redo

200M



1GB

(Nếu chưa thực hiện)


Giai đoạn 2

Resize Standby Online Redo

200M



1GB

Giai đoạn 3

Resize Standby Redo Log

200M



1GB

7. Thủ tục thực hiện


PHẦN A

Resize Online Redo Log trên Primary

Bước 1

Kiểm tra

SELECT GROUP#,
THREAD#,
BYTES/1024/1024 MB,
STATUS
FROM V$LOG
ORDER BY GROUP#;

Bước 2

Thêm redo mới

Ví dụ

ALTER DATABASE ADD LOGFILE GROUP 30
('/u02/oradata/redo30a.log',
'/u03/oradata/redo30b.log')
SIZE 1024M;

Làm tương tự đến đủ số group yêu cầu.


Bước 3

Switch Log

ALTER SYSTEM SWITCH LOGFILE;

Cho đến khi

INACTIVE

Bước 4

Drop redo cũ

ALTER DATABASE DROP LOGFILE GROUP xx;

PHẦN B

Resize Online Redo Log trên Standby Single

Dừng Apply

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

Kiểm tra

SELECT GROUP#,
STATUS,
BYTES/1024/1024 MB
FROM V$LOG;

Thêm ORL mới 1 GB:

ALTER DATABASE ADD LOGFILE GROUP 30
('/u01/app/oracle/recovery_area/mymobi/MYMOBI_STBY/onlinelog/redo30.log')
SIZE 1024M;

-- Tạo tiếp cho đến đủ 7 group 1 GB

Drop các ORL 200 MB sau khi không còn được sử dụng:

ALTER DATABASE DROP LOGFILE GROUP 1;
ALTER DATABASE DROP LOGFILE GROUP 2;
ALTER DATABASE DROP LOGFILE GROUP 3;

Lưu ý: ORL trên Standby không tham gia nhận redo khi database ở vai trò Physical Standby. Chúng chỉ được sử dụng sau Switchover hoặc Failover.


PHẦN C

Resize Online Redo Log trên Standby RAC

Thực hiện trên một instance sau khi dừng MRP.

Kiểm tra:

SELECT INST_ID,
GROUP#,
THREAD#,
BYTES/1024/1024 MB,
STATUS
FROM GV$LOG
ORDER BY THREAD#, GROUP#;

Ví dụ nếu RAC có 2 thread:

  • Thread 1: tạo các ORL 1 GB cho thread 1.
  • Thread 2: tạo các ORL 1 GB cho thread 2.
ALTER DATABASE ADD LOGFILE THREAD 1 GROUP 30
('+DATA')
SIZE 1024M;

ALTER DATABASE ADD LOGFILE THREAD 2 GROUP 40
('+DATA')
SIZE 1024M;

Sau khi xác nhận các nhóm cũ không còn được sử dụng:

ALTER DATABASE DROP LOGFILE GROUP <group_number>;

PHẦN D

Resize Standby Redo Log trên Standby Single

Kiểm tra

SELECT GROUP#,
THREAD#,
STATUS,
BYTES/1024/1024 MB
FROM V$STANDBY_LOG;

Drop SRL cũ (chỉ khi STATUS = UNASSIGNED):

ALTER DATABASE DROP STANDBY LOGFILE GROUP 11;
ALTER DATABASE DROP STANDBY LOGFILE GROUP 12;
ALTER DATABASE DROP STANDBY LOGFILE GROUP 17;
ALTER DATABASE DROP STANDBY LOGFILE GROUP 18;

Tạo mới 8 SRL × 1 GB:

ALTER DATABASE ADD STANDBY LOGFILE THREAD 1
GROUP 11
'/u01/app/oracle/recovery_area/mymobi/MYMOBI_STBY/onlinelog/srl11.log'
SIZE 1024M;

-- Tiếp tục tạo đến GROUP 18

PHẦN E

Resize Standby Redo Log trên Standby RAC

Nguyên tắc Oracle:

  • Mỗi thread phải có số lượng SRL = số ORL của thread + 1.
  • Kích thước SRL phải ≥ kích thước ORL của Primary.

Ví dụ RAC 2 node, mỗi thread có 7 ORL:

Thread 1:
8 Standby Redo Log × 1 GB

Thread 2:
8 Standby Redo Log × 1 GB

Kiểm tra:

SELECT INST_ID,
GROUP#,
THREAD#,
STATUS,
BYTES/1024/1024 MB
FROM GV$STANDBY_LOG
ORDER BY THREAD#, GROUP#;

Tạo SRL:

ALTER DATABASE ADD STANDBY LOGFILE THREAD 1
GROUP 101
('+DATA')
SIZE 1024M;

ALTER DATABASE ADD STANDBY LOGFILE THREAD 2
GROUP 201
('+DATA')
SIZE 1024M;

Lặp lại cho đến khi đủ số lượng theo từng thread.


PHẦN F

Khởi động Apply

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE
USING CURRENT LOGFILE
DISCONNECT FROM SESSION;

Hoặc trên các phiên bản Oracle mới:

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE
DISCONNECT FROM SESSION;

8. Kiểm tra sau thay đổi

SELECT GROUP#,
BYTES/1024/1024 MB,
STATUS
FROM V$LOG;
SELECT GROUP#,
BYTES/1024/1024 MB,
STATUS
FROM V$STANDBY_LOG;
SELECT PROCESS,
STATUS,
THREAD#,
SEQUENCE#
FROM V$MANAGED_STANDBY;
SELECT NAME,
VALUE
FROM V$DATAGUARD_STATS
WHERE NAME IN
(
'transport lag',
'apply lag'
);

9. Bài học kinh nghiệm

  • Standby Redo Log (SRL) là thành phần trực tiếp nhận redo từ Primary trong chế độ Real-Time Apply; đây là thành phần cần ưu tiên cấu hình đúng kích thước và số lượng.
  • Online Redo Log (ORL) trên Standby không tham gia nhận redo khi database đang ở vai trò Physical Standby, nhưng phải được cấu hình đồng bộ với Primary để sẵn sàng cho Switchover hoặc Failover.
  • Thực hiện thay thế theo phương pháp rolling replacement (thêm mới → chuyển trạng thái → xóa cũ), không drop toàn bộ redo log cùng lúc.

10. Biện pháp phòng ngừa từ sớm, từ xa

  1. Chuẩn hóa cấu hình:
    • Kích thước ORL giữa Primary và Standby phải giống nhau.
    • Kích thước SRL phải bằng hoặc lớn hơn ORL của Primary.
    • Số SRL = số ORL của từng thread + 1.
  2. Giám sát định kỳ:
    • V$DATAGUARD_STATS (transport lag, apply lag).
    • V$STANDBY_LOG (trạng thái ACTIVE, UNASSIGNED).
    • V$LOG_HISTORY để theo dõi tần suất log switch.
  3. Cảnh báo sớm:
    • Thiết lập cảnh báo khi log switch quá thường xuyên (ví dụ < 15 phút/lần trong thời gian dài).
    • Theo dõi tỷ lệ sử dụng FRA và tình trạng archive destination để tránh phát sinh archive gap hoặc apply lag.
=============================
TƯ VẤN: Click Here hoặc Hotline/Zalo 090.29.12.888
=============================
Website không chứa bất kỳ quảng cáo nào, mọi đóng góp để duy trì phát triển cho website (donation) xin vui lòng gửi về STK 90.2142.8888 - Ngân hàng Vietcombank Thăng Long - TRAN VAN BINH
=============================
Nếu bạn không muốn bị AI thay thế và tiết kiệm 3-5 NĂM trên con đường trở thành DBA chuyên nghiệp hay làm chủ Database thì hãy đăng ký ngay KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE, được Coaching trực tiếp từ tôi với toàn bộ bí kíp thực chiến, thủ tục, quy trình của gần 20 năm kinh nghiệm (mà bạn sẽ KHÔNG THỂ tìm kiếm trên Internet/Google) từ đó giúp bạn dễ dàng quản trị mọi hệ thống Core tại Việt Nam và trên thế giới, đỗ OCP.
- CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
- Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
2 khóa học online qua video giúp bạn nhanh chóng có những kiến thức nền tảng về Linux, Oracle, học mọi nơi, chỉ cần có Internet/4G:
- Oracle cơ bản: https://bit.ly/admin_1200
- Linux: https://bit.ly/linux_1200
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
cơ sở dữ liệu, cơ sở dữ liệu quốc gia, database, AI, trí tuệ nhân tạo, artificial intelligence, machine learning, deep learning, LLM, ChatGPT, DeepSeek, Grok, oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c/21c/23c/23ai, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, docker, k8s, micro service, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master