LỖI
2026-02-04 06:49:13 WARNING OGG-06439 No unique key is defined for table PKG_USAGE_HIS. All viable columns will be used to represent the key, but may not guarantee uniqueness. KEYC OLS may be used to define the key. 2026-02-04 06:49:13 INFO OGG-02758 The definition for table CDR_OWNER.PKG_USAGE_HIS is obtained from definitions file ./dirdef/repbill.def. 2026-02-04 06:49:13 INFO OGG-06511 Using following columns in default map by name: SUB_ID, MONTH, BILL_CYCLE_ID, PCK_CODE, NUM_FREE_SMS, NUM_FREE_BLOCKS, PACKAGE_VALUE, NUM_FREE_GPR S, SUB_MONTH_DAYS, BEG_DAYS, STA_DATETIME, PROM_AMOUNT, PROM_TYPE_ID, PROM_TYPE, TYPE, BILL_ITEM_ID, ORG_PACKAGE_VALUE, END_DATETIME, UPDATE_ACTION_CODE, BILL_ITEM_DTL_ID, PROM_AMOUNT_0, DIS_AMOUNT, CHARGE_VAT, CHARGE_NOT_VAT, TAX_CHARGE, TOT_CHARGE, PROM_AMOUNT_VAT, PROM_AMOUNT_NOT_VAT, TAX_PROM_AMOUNT, TOT_PROM_AMOUNT. ...UM_FREE_GPRS, SUB_M ONTH_DAYS,... ^ Error in KEYCOLS clause, key does not exist or key cannot be determined. KEYCOLS. Source Context : SourceModule : [er.mapping] SourceID : [/scratch/aime/adestore/views/aime_adc00jza/oggcore/OpenSys/src/app/er/mapping.cpp] SourceMethod : [get_map_entry] SourceLine : [3464]
Bạn đang gặp lỗi nghiêm trọng trong Oracle GoldenGate liên quan đến tham số KEYCOLS trong MAP, cụ thể là:
Error in KEYCOLS clause, key does not exist or key cannot be determined. KEYCOLS.
🔍 Phân tích chi tiết lỗi
Tóm tắt log
Dòng log Ý nghĩa
OGG-06505 Đã resolve thành công phần MAP với KEYCOLS(...)
OGG-06439 Cảnh báo: Bảng PKG_USAGE_HIS không có khóa chính → có thể gây lỗi
OGG-02758 Định nghĩa bảng được load từ file ./dirdef/repbill.def
OGG-06511 Dùng map mặc định theo tên cột (nếu không dùng COLMAP)
Error in KEYCOLS Đã có lỗi trong danh sách KEYCOLS: cột không tồn tại hoặc sai cú pháp
📌 Nguyên nhân chính
Lỗi chính tả/format trong KEYCOLS:
Dòng này có lỗi:
NUM_FREE_GPRS, SUB_M ONTH_DAYS
↑
Tên cột SUB_M ONTH_DAYS bị thừa dấu cách sai hoặc lỗi xuống dòng hoặc copy/paste sai → GoldenGate không thể nhận diện được.
Bảng không có khóa chính:
OGG-06439 cho biết không có primary key / unique key, nên cần KEYCOLS(...) để chỉ định.
File repbill.def không đồng nhất với thực tế:
Nếu file .def không có đúng cột SUB_MONTH_DAYS, GoldenGate sẽ không xác định được.
✅ Cách khắc phục
Bước 1: Kiểm tra tên cột thật sự trong database đích
Chạy:
DESC DEST_OWNER.PKG_USAGE_HIS;
Hoặc:
SELECT column_name
FROM all_tab_columns
WHERE table_name = 'PKG_USAGE_HIS'
AND owner = 'DEST_OWNER';
✅ Xác nhận tên cột đúng là SUB_MONTH_DAYS (không có khoảng trắng).
Bước 2: Sửa lại file replicat.prm
❌ Sai:
MAP CDR_OWNER.PKG_USAGE_HIS, TARGET DEST_OWNER.PKG_USAGE_HIS,
KEYCOLS (SUB_ID, MONTH, ..., SUB_M ONTH_DAYS, ...);
✅ Đúng:
MAP CDR_OWNER.PKG_USAGE_HIS, TARGET DEST_OWNER.PKG_USAGE_HIS,
KEYCOLS (SUB_ID, MONTH, BILL_CYCLE_ID, PCK_CODE, NUM_FREE_SMS, NUM_FREE_BLOCKS,
PACKAGE_VALUE, NUM_FREE_GPRS, SUB_MONTH_DAYS, BEG_DAYS, STA_DATETIME,
PROM_AMOUNT, PROM_TYPE_ID, PROM_TYPE, TYPE, BILL_ITEM_ID, ORG_PACKAGE_VALUE);
💡 Không được để tên cột xuống dòng sai chỗ.
Bước 3: Stop và Start lại Replicat
GGSCI> STOP R1
GGSCI> START R1
Bước 4: (Tùy chọn) Regenerate file định nghĩa .def nếu cần
Nếu bạn nghi ngờ file repbill.def không còn đúng với bảng, hãy tạo lại bằng lệnh:
DEFGEN paramfile dirprm/defgen.prm
Trong defgen.prm:
SOURCECHARSET UTF-8
CHARSET UTF-8
DEFSFILE ./dirdef/repbill.def
USERID ggs_owner, PASSWORD ***
TABLE CDR_OWNER.PKG_USAGE_HIS;
✅ Kết luận
Mục Trạng thái
Nguyên nhân lỗi Tên cột SUB_MONTH_DAYS bị sai thành SUB_M ONTH_DAYS trong KEYCOLS
Giải pháp Sửa lại KEYCOLS đúng chính tả, không được xuống dòng sai
Cảnh báo Nếu không có PK → luôn cần KEYCOLS, nếu sai → Replicat sẽ abort
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