Thứ Tư, 15 tháng 4, 2026

Xóa dữ liệu file system xfs 100% nhưng dung lượng không giảm

Xóa dữ liệu file system xfs 100% nhưng dung lượng không giảm

1.VẤN ĐỀ

- /backup2 đầy 100%, xóa dung lượng nhưng không giảm
[oracle@vietdb-oracle-db-rac02 ~]$ cd /backup2/
[oracle@vietdb-oracle-db-rac02 backup2]$ ls
expdp_dump  full_metadata_msale_20260126  full_metadata_msale_20260126.tar.gz  level0  level1  logs
[oracle@vietdb-oracle-db-rac02 backup2]$ df -h
Filesystem            Size  Used Avail Use% Mounted on
devtmpfs               79G     0   79G   0% /dev
tmpfs                  79G  2.9G   76G   4% /dev/shm
tmpfs                  79G  3.5G   76G   5% /run
tmpfs                  79G     0   79G   0% /sys/fs/cgroup
/dev/vda2             199G   39G  161G  20% /
/dev/vdl              2.0T  2.0T   15G 100% /backup2
/dev/mapper/vg0-data  493G   52G  416G  12% /u02
/dev/vdh1              99G   47G   47G  51% /u01
/dev/vda1            1014M  169M  846M  17% /boot
tmpfs                  16G     0   16G   0% /run/user/54321
tmpfs                  16G     0   16G   0% /run/user/0

[oracle@vietdb-oracle-db-rac02 backup2]$ du -hs *
64G     expdp_dump
1021M   full_metadata_msale_20260126
377M    full_metadata_msale_20260126.tar.gz
797G    level0
423G    level1
44M     logs
--> Chỉ dùng 1.3TB

[oracle@vietdb-oracle-db-rac02 backup2]$ du -sh /backup2
1.3T    /backup2

[oracle@vietdb-oracle-db-rac02 backup2]$ df -h
Filesystem            Size  Used Avail Use% Mounted on
devtmpfs               79G     0   79G   0% /dev
tmpfs                  79G  2.9G   76G   4% /dev/shm
tmpfs                  79G  3.5G   76G   5% /run
tmpfs                  79G     0   79G   0% /sys/fs/cgroup
/dev/vda2             199G   39G  161G  20% /
/dev/vdl              2.0T  2.0T   15G 100% /backup2
/dev/mapper/vg0-data  493G   52G  416G  12% /u02
/dev/vdh1              99G   47G   47G  51% /u01
/dev/vda1            1014M  169M  846M  17% /boot
tmpfs                  16G     0   16G   0% /run/user/54321
tmpfs                  16G     0   16G   0% /run/user/0

2.NGUYÊN NHÂN

Nguyên nhân 1: File đã bị xóa nhưng RMAN hoặc OS vẫn đang giữ (Deleted but Open)

Đây là nguyên nhân phổ biến nhất trong các thư mục backup. Khi bạn xóa các file backup cũ (Level 0, Level 1 hoặc Archive logs) bằng lệnh rm thay vì dùng lệnh delete trong RMAN, tiến trình Oracle Instance hoặc RMAN vẫn đang giữ file descriptor của chúng.

  • Dấu hiệu: Tổng du là 1.3TB, nhưng df báo 2.0TB.

  • Cách kiểm tra:

    Bash
    lsof /backup2 | grep deleted
    

    Lệnh này sẽ liệt kê tất cả các file đã bị xóa nhưng dung lượng vẫn chưa được giải phóng. Bạn sẽ thấy các file level0 hoặc level1 cũ vẫn nằm trong danh sách này.


Nguyên nhân 2: File ẩn (Hidden Files)

Lệnh du -hs * chỉ liệt kê các file và thư mục không ẩn. Nếu có các file backup tạm hoặc file log bắt đầu bằng dấu chấm (ví dụ: .nfsXXXX), chúng sẽ không hiện ra.

  • Cách kiểm tra:

    Bash
    du -sh /backup2/.[^.]* # Hoặc tổng kiểm kê toàn bộ thư mục:
    du -sh /backup2
    

Nguyên nhân 3: Dữ liệu bị "che" (Over-mounted data)

Có khả năng trước khi bạn mount đĩa /dev/vdl vào /backup2, thư mục /backup2 trên phân vùng gốc (root partition) đã chứa sẵn một lượng dữ liệu (khoảng 700GB). Khi mount đĩa mới đè lên, dữ liệu cũ không mất đi nhưng lệnh du không thể nhìn thấy nó.

3.XỬ LÝ

Bước 1: Giải phóng "File ma" (Ưu tiên số 1)

Nếu lệnh lsof trả về danh sách file deleted, bạn có 2 cách:

  • Cách an toàn: Khởi động lại (restart) Oracle Instance và các tiến trình RMAN đang chạy. Sau khi restart, OS sẽ tự động thu hồi 700GB này.

  • Cách nhanh (không downtime): Nếu không thể restart DB, hãy tìm PID và FD (File Descriptor) từ lệnh lsof rồi thực hiện:

    Bash
    echo > /proc/<PID>/fd/<FD_NUMBER>
  • Cách 3: Kill tiến trình giữ (tôi dùng cách này):[oracle@vietdb-oracle-db-rac02 backup2]$ lsof /backup2 | grep deleted
    expdp   39692 oracle    1w   REG 252,176 803874829425 6443266662 /backup2/expdp_dump/nohup.out (deleted)
    expdp   39692 oracle    2w   REG 252,176 803874829443 6443266662 /backup2/expdp_dump/nohup.out (deleted)

    [oracle@vietdb-oracle-db-rac02 backup2]$ kill -9 39692

    [oracle@vietdb-oracle-db-rac02 backup2]$ df -h
    Filesystem            Size  Used Avail Use% Mounted on
    devtmpfs               79G     0   79G   0% /dev
    tmpfs                  79G  2.9G   76G   4% /dev/shm
    tmpfs                  79G  3.5G   76G   5% /run
    tmpfs                  79G     0   79G   0% /sys/fs/cgroup
    /dev/vda2             199G   39G  161G  20% /
    /dev/vdl              2.0T  1.3T  763G  63% /backup2
    /dev/mapper/vg0-data  493G   52G  416G  12% /u02
    /dev/vdh1              99G   47G   47G  51% /u01
    /dev/vda1            1014M  169M  846M  17% /boot
    tmpfs                  16G     0   16G   0% /run/user/54321
    tmpfs                  16G     0   16G   0% /run/user/0

Bước 2: Dọn dẹp RMAN và Disk

Đảm bảo bạn luôn xóa backup thông qua RMAN để tránh lệch đồng bộ giữa Catalog và thực tế trên đĩa:

SQL
RMAN> crosscheck backup;
RMAN> delete expired backup;
RMAN> delete obsolete;

Bước 3: Kiểm tra Inode (Nếu file quá nhỏ và nhiều)

Dù hiếm khi xảy ra với file dump, nhưng nếu số lượng file quá lớn, bạn có thể hết Inode dù dung lượng vẫn còn.

  • Kiểm tra: df -i /backup2


=============================
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