I. VẤN ĐỀ
SQL> SELECT NAME, VALUE FROM V$DATAGUARD_STATS WHERE NAME='apply lag';
NAME
--------------------------------
VALUE
----------------------------------------------------------------
apply lag
+20 09:45:12 --> Lag 20 ngày, 9 tiếng, 45 phút, 12 giây
Bật lại đồng bộ thì báo lỗi sau:
Errors in file /u01/app/oracle/diag/rdbms/mpaydrhcm/mpay1/trace/mpay1_pr00_14678.trc:
ORA-01111: name for data file 395 is unknown - rename to correct file
ORA-01110: data file 395: '/u01/app/oracle/product/19c/dbhome_1/dbs/UNNAMED00395'
ORA-01157: cannot identify/lock data file 395 - see DBWR trace file
ORA-01111: name for data file 395 is unknown - rename to correct file
ORA-01110: data file 395: '/u01/app/oracle/product/19c/dbhome_1/dbs/UNNAMED00395'
2026-02-09T22:11:20.559128+07:00
.... (PID:4546): Managed Standby Recovery not using Real Time Apply
2026-02-09T22:11:21.087765+07:00
Stopping change tracking
2026-02-09T22:11:21.096016+07:00
Completed: alter database recover managed standby
Mô hình hệ thống:
DB_HN --> DR_DB_HPG
||
||
DR_DB_HCM: Chạy báo cáo, select, đang bị lag gây gián đoạn ảnh hưởng SXKD
Lỗi ORA-01111 và UNNAMED00395 là nguyên nhân chính khiến Managed Recovery Process (MRP) bị dừng lại, dẫn đến apply lag lên tới hơn 20 ngày.
Nguyên nhân:
Trên Primary database đã thêm một datafile mới (file #395). Tuy nhiên, tại thời điểm đó, tham số STANDBY_FILE_MANAGEMENT trên Standby có thể đang để là MANUAL (hoặc không map được đường dẫn đĩa), nên Standby không thể tự động tạo file tương ứng. Oracle tạo ra một file "ảo" tên là UNNAMED00395 trong thư mục $ORACLE_HOME/dbs. MRP bị kẹt vì không tìm thấy file thật để ghi dữ liệu vào.
3.XỬ LÝ
Bạn cần thực hiện các bước sau để khắc phục ("cứu" file UNNAMED) và đồng bộ lại.
Bước 1: Chuẩn bị trên Standby
Trước khi sửa, hãy đảm bảo chế độ quản lý file đang là MANUAL để tránh xung đột khi ta can thiệp thủ công.
SQL> ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=MANUAL SCOPE=BOTH;
Bước 2: Tái tạo Datafile trên Standby
Bạn cần lệnh cho Standby biết file UNNAMED00395 thực chất cần nằm ở đâu trên hệ thống lưu trữ của bạn (ASM hoặc Filesystem).
Cách xác định đường dẫn đích:
Hãy xem các datafile khác đang nằm ở đâu (ví dụ: +DATA, +RECO, hay /u02/oradata/...).
Chạy câu lệnh sau trên Standby:
-- Cú pháp tổng quát:
-- ALTER DATABASE CREATE DATAFILE 'đường_dẫn_lỗi_trong_báo_cáo' AS 'đường_dẫn_mới_đúng';
-- Ví dụ nếu bạn dùng ASM (Diskgroup +DATA):
ALTER DATABASE CREATE DATAFILE '/u01/app/oracle/product/19c/dbhome_1/dbs/UNNAMED00395'
AS '+DATA';
-- Ví dụ nếu bạn dùng Filesystem (phải trỏ đúng đường dẫn thư mục data):
-- ALTER DATABASE CREATE DATAFILE '/u01/app/oracle/product/19c/dbhome_1/dbs/UNNAMED00395'
-- AS '/u01/app/oracle/oradata/MPAYDRHCM/datafile395.dbf';
Lưu ý: Thay thế +DATA hoặc đường dẫn đích cho phù hợp với cấu trúc lưu trữ hiện tại của bạn.
Bước 3: Bật lại chế độ tự động và khởi động Recovery
Sau khi lệnh trên thành công, file #395 đã hợp lệ. Bây giờ hãy bật lại chế độ quản lý tự động để tránh lỗi này trong tương lai khi thêm file mới.
SQL> ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO SCOPE=BOTH;
Khởi động lại tiến trình đồng bộ (MRP):
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
(Hoặc dùng lệnh USING CURRENT LOGFILE nếu bạn có cấu hình Standby Redo Logs alter database recover managed standby database using current logfile disconnect;)
Bước 4: Kiểm tra và xử lý Lag (Quan trọng)
Vì lag đã lên tới 20 ngày, việc đồng bộ lại bằng Archive Logs sẽ tốn khá nhiều thời gian.
Theo dõi tiến trình: Xem log alert hoặc query sau để thấy nó đang "nuốt" archive log:
SQLSELECT PROCESS, STATUS, SEQUENCE# FROM V$MANAGED_STANDBY;Rủi ro thiếu Archive Log: Nếu trong 20 ngày qua, RMAN trên Primary đã xóa các Archive Log cũ để giải phóng dung lượng, MRP sẽ lại dừng với lỗi
ORA-00313(Gap sequence).Nếu còn đủ Log: Chỉ cần chờ đợi lag giảm dần.
Nếu thiếu Log: Bạn bắt buộc phải thực hiện Roll Forward Standby Database using RMAN Incremental Backup. (Đây là cách nhanh nhất để đồng bộ 20 ngày dữ liệu mà không cần dựng lại Standby từ đầu).
Tóm tắt lệnh cần chạy ngay:
Dưới đây là chuỗi lệnh mẫu giả định bạn dùng ASM diskgroup +DATA:
-- 1. Tạm dừng MRP (nếu đang treo lơ lửng)
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
-- 2. Set Manual
ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=MANUAL SCOPE=BOTH;
-- 3. Fix file lỗi (Thay +DATA bằng đường dẫn thực tế của bạn)
ALTER DATABASE CREATE DATAFILE '/u01/app/oracle/product/19c/dbhome_1/dbs/UNNAMED00395' AS '+DATA';
(ALTER DATABASE CREATE DATAFILE '/u01/app/oracle/product/19c/dbhome_1/dbs/UNNAMED00395' AS '+data3/mpaydrhcm/datafile/stb_mbf_data_45_2.dbf';)
-- 4. Set Auto
ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO SCOPE=BOTH;
-- 5. Chạy lại đồng bộ
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;
Bạn hãy thực hiện Bước 3 và cho tôi biết nếu gặp lỗi, tôi sẽ hướng dẫn tiếp phương án Roll Forward.
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