Thứ Năm, 4 tháng 3, 2021

Cách lấy lại toàn bộ không gian của bảng cơ sở dữ liệu oracle với câu lệnh "Truncate Table"

Sử dụng câu lệnh TRUNCATE cung cấp một phương pháp nhanh chóng, hiệu quả để xóa tất cả các row khỏi bảng hoặc cluster. Câu lệnh TRUNCATE không tạo ra bất kỳ thông tin redo entry hay undo nào và nó được thực hiện ngay lập tức. Đây là một câu lệnh DDL và không thể quay lại (không thể rollback). Câu lệnh TRUNCATE không ảnh hưởng đến bất kỳ cấu trúc nào liên quan đến bảng bị cắt bớt (ràng buộc và trình kích hoạt) hoặc ủy quyền. 

Oracle 11gR1 cung cấp các mệnh đề:

- TRUNCATE TABLE ...DROP STORAGE (thu hồi dung lượng, hạ High Water Mark)

- TRUNCATE TABLE....REUSE STORAGE (không thu hồi dung lượng, chỉ làm rỗng các block để tái sử dụng nhanh chóng) 

Bắt đầu với Oracle 11gR2 (11.2.0.2), một câu lệnh TRUNCATE cũng có thể chỉ định mệnh đề DROP ALL STORAGE để giải phóng tất cả các block/extent.

Ví dụ:

SQL> create table TEST01 storage (MINEXTENTS 3)
     as select * from dba_source;

SQL> select extents
     from   user_segments
     where  segment_name='TEST01';

EXTENTS
-----------
67

Mệnh đề "DROP STORAGE" được sử dụng theo mặc định:

SQL> truncate table TEST01;

SQL> select extents
     from   user_segments
     where  segment_name='TEST01';

EXTENTS
----------
3

Việc cắt ngắn tương tự với “DROP ALL STORAGE” sẽ xóa tất cả các block/extent

SQL> truncate table TEST01 DROP ALL STORAGE;

SQL> select extents
     from   user_segments
     where  segment_name='TEST01';

no rows selected

Đối tượng không có segment vì không có segment nào được cấp phát. Một extent mới sẽ được phân bổ khi một row mới được insert vào bảng cụ thể đó.

Cú pháp truncate table:

TRUNCATE TABLE schema_name.table_name [CASCADE] [[ PRESERVE | PURGE] MATERIALIZED VIEW LOG ]] [[ DROP | REUSE]] STORAGE ]

(cascade là khi xóa row ở bảng chính (bảng có primary key) sẽ xóa luôn các row liên quan ở bảng phụ (bản foreign))

DROP ALL STORAGE sẽ drop segment. Ngoài câu lệnh TRUNCATE TABLE, DROP ALL STORAGE cũng áp dụng cho câu lệnh ALTER TABLE TRUNCATE (SUB) PARTITION. Tùy chọn này cũng drop bất kỳ segment  đối tượng phụ thuộc nào được liên kết với partition bị truncate.

THAM KHẢO THÊM

=============================
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* 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
hoặc
https://bit.ly/oaz_fp
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile: 0902912888
⚡️ Skype: tranbinh48ca
👨 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: http://bit.ly/ytb_binhoraclemaster
👨 Tiktok: https://www.tiktok.com/@binhoraclemaster?lang=vi
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhoracle
👨 Đị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

=============================
học oracle database
Các tìm kiếm liên quan đến 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
khóa học pl/sql
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
oracle dba tutorial
oracle tunning
sql tunning
oracle 12c
oracle dataguard
oracle goldengate
oracle weblogic
oracle exadata
hoc solaris
hoc linux
hoc aix

ĐỌC NHIỀU

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