Thứ Năm, 28 tháng 8, 2025
Chủ Nhật, 24 tháng 8, 2025
Thứ Bảy, 23 tháng 8, 2025
Cách Kill Process ở Linux bằng Command Line
Trong Linux, việc tiêu diệt một tiến trình đề cập đến việc chấm dứt hoặc dừng thực thi của một chương trình đang chạy. Mỗi tiến trình đang chạy được gán một số nhận dạng duy nhất được biết đến là Process ID (PID), giúp hệ thống theo dõi các tiến trình đang hoạt động hiện tại.
Tìm hiểu chung về phân quyền trong Linux
I. Giới thiệu
Phân quyền trong Linux là một khía cạnh rất quan trọng giúp quản lý quyền truy cập vào các tệp và thư mục trong hệ thống file của bạn. Hệ thống phân quyền trong Linux dựa trên mô hình Unix, sử dụng các quyền cho chủ sở hữu, nhóm và người dùng khác nhau. Dưới đây là một số khái niệm cơ bản về phân quyền trong Linux:
Kiểm tra dung lượng trên linux với lệnh df
I. Giới thiệu
Lệnh df
trong hệ điều hành Unix/Linux là một công cụ mạnh mẽ giúp hiển thị tóm tắt chi tiết về tình trạng không gian đĩa cứng trên hệ thống tập tin. Lệnh “df” là “disk filesystem” và chủ yếu tập trung vào việc cung cấp thông tin liên quan đến việc quản lý không gian lưu trữ.
Hướng dẫn quản lý định dạng file RAR trong Linux
Các tệp RAR, một định dạng tệp nén phổ biến, được sử dụng rộng rãi để lưu trữ và chia sẻ một lượng lớn dữ liệu một cách hiệu quả. Trong khi Linux nguyên bản hỗ trợ các định dạng nén khác nhau như ZIP và TAR.
Các trình quản lý tệp tốt nhất trên Linux
Quản lý tập tin trên giao diện dòng lệnh của Linux có thể rất hữu ích trong các nhiệm vụ hàng ngày, khi quản lý tệp trên máy địa phương hoặc khi kết nối với máy từ xa. Biểu diễn trực quan của thư mục trên giao diện dòng lệnh giúp chúng ta thực hiện nhanh chóng các thao tác tệp/thư mục và tiết kiệm thời gian.
NFS là gì? hướng dẫn cài đặt và sử dụng NFS trên Linux (CentOS, Ubuntu, Debian)
NFS là gì?
NFS là viết tắt của Network File System, là một giao thức chia sẻ file cho phép các máy tính truy cập và sử dụng các tệp trên một máy tính khác trong mạng, giống như cách chúng truy cập các tệp trên ổ cứng cục bộ của chính chúng.
Cài đặt giao diện Gnome trên Ubuntu 20.04 và Remote Desktop
Trong bài viết này mình sẽ giúp các bạn cài đặt giao diện Gnome trên Ubuntu 20.04 và cho phép Remote Desktop lên chính máy chủ đó
Hướng dẫn cấu hình static IP trên Ubuntu
Thứ Sáu, 22 tháng 8, 2025
Cách cài đặt Docker phiên bản mới nhất tự động bằng bashscript
Docker đối với DevOps là điều vô cùng quen thuộc rồi. Và cách cài đặt thì rất nhiều đây là một cách cài đặt Docker phiên bản mới nhất một cách tự động sử dụng bashscript mà mình đã sử dụng từ rất lâu chưa bị outdate.
Thứ Năm, 21 tháng 8, 2025
Bài 1: Microservices Là Gì? Khởi Đầu Với Một Ví Dụ Đời Thường

Nếu bạn là người mới và nghe ai đó nhắc đến “microservices” mà thấy hơi mơ hồ, đừng lo, mình cũng từng như vậy khi bắt đầu. Hôm nay, mình muốn chia sẻ với bạn một cách đơn giản để hiểu microservices là gì, nó khác gì với cách làm truyền thống, và tại sao nó lại quan trọng trong công nghệ hiện nay. Mình sẽ dùng một ví dụ gần gũi để bạn dễ hình dung, và sau bài này, bạn sẽ có cái nhìn rõ ràng hơn để bắt đầu hành trình học microservices. Sẵn sàng chưa nào?
Docker là gì? Hướng dẫn từ A-Z cho người mới bắt đầu
Giới Thiệu
Docker là một nền tảng mã nguồn mở giúp đóng gói ứng dụng và các thành phần phụ thuộc vào một đơn vị gọi là container. Với Docker, bạn có thể dễ dàng triển khai ứng dụng trên bất kỳ môi trường nào mà không lo lắng về sự khác biệt giữa các hệ thống. Bài viết này sẽ giải thích chi tiết Docker là gì, cách hoạt động, và cách sử dụng hiệu quả.
Thứ Tư, 20 tháng 8, 2025
Cấu hình Postgresql High Availability on premises với Patroni, etcd và HAProxy full setup
Hướng Dẫn Cấu Hình PostgreSQL High Availability (HA) Với Patroni, etcd và HAProxy
Bài viết này hướng dẫn chi tiết cách thiết lập một cụm PostgreSQL High Availability (HA) sử dụng PostgreSQL 17, Patroni để quản lý cụm, etcd để lưu trữ trạng thái, và HAProxy để cân bằng tải. Cụm bao gồm ba máy chủ: một máy chủ chính (leader) và hai máy chủ phụ (replica). Các bước bao gồm cấu hình mạng, cài đặt phần mềm, thiết lập etcd, Patroni, và HAProxy, cùng với kiểm tra kết quả.
Cấu hình Postgresql High Availability on premises full setup
Hướng Dẫn Cấu Hình PostgreSQL High Availability (HA) Với Patroni, etcd và HAProxy
Bài viết này hướng dẫn chi tiết cách thiết lập một cụm PostgreSQL High Availability (HA) sử dụng PostgreSQL 17, Patroni để quản lý cụm, etcd để lưu trữ trạng thái, và HAProxy để cân bằng tải. Cụm bao gồm ba máy chủ: một máy chủ chính (leader) và hai máy chủ phụ (replica). Các bước bao gồm cấu hình mạng, cài đặt phần mềm, thiết lập etcd, Patroni, và HAProxy, cùng với kiểm tra kết quả.
Triển khai PostgreSQL high availability với Patroni trên Ubuntu
Đây là tài liệu mà mình đã áp dụng vào thực tế công ty để có thể thiết lập cụm PostgreSQL high availability với Patroni trên Ubuntu (Debian).
Thứ Ba, 19 tháng 8, 2025
ORA-28110: policy function or package SYS.XXX_FUNCTION has error
1. Thông báo lỗi
ORA-28110: policy function or package SYS.TAB1_VPD_FUNCTION has error
ORA-06512: at line 636
-
Nguyên nhân (Cause): Lỗi này liên quan đến VPD (Virtual Private Database) Policy.
Oracle VPD gắn một policy function vào bảng/ view (ở đây làCUS_OWNER.
TAB1).
FunctionSYS.TAB1_VPD_FUNCTION
được khai báo làm policy nhưng hiện tại:-
Function/Package đó bị drop, hoặc
-
Bị invalid (không compile được), hoặc
-
Quyền thực thi bị mất.
-
ORA-28110: policy function or package SYS.XXX_FUNCTION has error
1. Thông báo lỗi
ORA-28110: policy function or package SYS.TAB1_VPD_FUNCTION has error
ORA-06512: at line 636
-
Nguyên nhân (Cause): Lỗi này liên quan đến VPD (Virtual Private Database) Policy.
Oracle VPD gắn một policy function vào bảng/ view (ở đây làCUS_OWNER.
TAB1).
FunctionSYS.TAB1_VPD_FUNCTION
được khai báo làm policy nhưng hiện tại:-
Function/Package đó bị drop, hoặc
-
Bị invalid (không compile được), hoặc
-
Quyền thực thi bị mất.
-
Thứ Hai, 18 tháng 8, 2025
ORA-22992: cannot use LOB locators selected from remote tables
TÌNH HUỐNG:
select * from FROM App_OWNER.QR_ESIM@db_dr;
hoặc create view v_qr_esim as select * from FROM App_OWNER.QR_ESIM@db_dr;
LỖI
ORA-22992: cannot use LOB locators selected from remote tables
ORA-02266: unique/primary keys in table referenced while truncating table
PROBLEM:
SQL> truncate table VIETDBA.AAF_USER;
truncate table VIETDBA.AAF_USER
*
ERROR at line 1:
ORA-02266: unique/primary keys in table referenced by enabled foreign keys
Thứ Sáu, 15 tháng 8, 2025
Script RMAN + cron để tự động dọn archived log trên standby mà không ảnh hưởng Apply
0) Nguyên tắc an toàn
-
Chỉ xóa archivelog đã APPLIED trên Standby.
-
Giữ buffer an toàn (ví dụ: 50 sequence mới nhất mỗi thread).
-
Kiểm tra đúng PHYSICAL STANDBY và MRP đang chạy trước khi xóa.
-
Ghi log đầy đủ.
ORA-19809: limit exceeded for recovery files
1. Ý nghĩa lỗi
-
Đây là lỗi liên quan đến Fast Recovery Area (FRA) — vùng chứa archived redo log, flashback logs, backup pieces…
-
ORA-19809
nghĩa là FRA đã đầy hoặc đã đạt giới hạn cấu hình (db_recovery_file_dest_size
). -
Với standby, FRA đầy sẽ khiến redo apply dừng → standby không theo kịp primary.
Script tự nhận diện DG role, kiểm tra applied lag, rồi quyết định lệnh RMAN phù hợp.
Dưới đây là script “thông minh” bằng Bash để:
-
Tự nhận diện vai trò Data Guard (PRIMARY / STANDBY / đơn lẻ)
-
Kiểm tra transport/apply lag
-
Quyết định và chạy lệnh RMAN phù hợp (an toàn, tôn trọng DG)
-
Hỗ trợ dry‑run, ngưỡng lag, số ngày giữ lại có thể cấu hình
Khuyến nghị chạy bằng user
oracle
trên mỗi host DB. Script không yêu cầu DG Broker (DGMGRL); nếu có Broker thì vẫn hoạt động bình thường.
Xóa archived redo log và giữ lại 3 ngày gần nhất bằng RMAN
Dưới đây là cách xóa archived redo log và giữ lại 3 ngày gần nhất bằng RMAN (khuyến nghị an toàn). Mình đưa luôn hai kịch bản: đơn lẻ và Data Guard.
Thứ Năm, 14 tháng 8, 2025
Tổng hợp những câu hỏi phỏng vấn về Kubernetes
Tổng hợp những câu hỏi phỏng vấn về Golang
Golang còn gọi là Go là một trong những ngôn ngữ trẻ nhất được phát hành vào năm 2012 bởi Google
Tổng hợp những câu hỏi phỏng vấn về Docker
Docker là một nền tảng mã nguồn mở rất phổ biến và mạnh mẽ được sử dụng để xây dựng, triển khai và chạy các ứng dụng.