Rumah >pangkalan data >Oracle >Bagaimana untuk memadam jadual dalam Oracle untuk melepaskan ruang jadual

Bagaimana untuk memadam jadual dalam Oracle untuk melepaskan ruang jadual

PHPz
PHPzasal
2023-04-21 11:19:495707semak imbas

Dalam pangkalan data Oracle, pemadaman jadual adalah operasi yang sangat biasa, tetapi pemadaman jadual tidak semestinya melepaskan ruang jadual yang sepadan serta-merta, yang akan membawa kepada pembaziran ruang pangkalan data. Oleh itu, apabila memadam jadual, membebaskan ruang meja juga merupakan tugas yang sangat penting. Artikel ini akan memperkenalkan pembaca tentang cara memadam jadual dan melepaskan ruang jadual yang sepadan dalam pangkalan data Oracle.

  1. Padam jadual

Dalam pangkalan data Oracle, operasi pemadaman jadual boleh dicapai melalui pernyataan SQL Sintaks khusus adalah seperti berikut:

DROP TABLE 表名;

di mana , nama jadual ialah nama jadual yang perlu dipadamkan.

  1. Semak penggunaan ruang meja

Sebelum memadamkan jadual, kita perlu menyemak penggunaan ruang meja untuk memastikan ruang meja boleh dikeluarkan dalam masa selepas pemadaman.

Kita boleh menggunakan pernyataan berikut untuk melihat penggunaan ruang jadual:

SELECT TABLESPACE_NAME, FILE_NAME, ROUND(SUM(BYTES)/(1024*1024),2) AS "SIZE (MB)", AUTOEXTENSIBLE
FROM DBA_DATA_FILES
GROUP BY TABLESPACE_NAME, FILE_NAME, AUTOEXTENSIBLE;

Antaranya, DBA_DATA_FILES ialah jadual sistem Oracle, yang mengandungi semua maklumat fail data. Pernyataan pertanyaan ini boleh menanyakan nama fail data yang sepadan dengan setiap ruang jadual, saiz yang diduduki dan sama ada pengembangan automatik dibenarkan. Jika fail data yang sepadan dengan ruang jadual tertentu membenarkan pengembangan automatik, ia mungkin diduduki semula selepas jadual dipadamkan.

  1. Kosongkan jadual

Sebelum melaksanakan operasi pemadaman jadual, kita boleh memilih untuk mengosongkan data dalam jadual, yang boleh mengurangkan penggunaan ruang jadual dengan berkesan.

Kita boleh menggunakan pernyataan berikut untuk mengosongkan data dalam jadual:

TRUNCATE TABLE 表名;

Di mana nama jadual ialah nama jadual yang perlu mengosongkan data.

Perlu diingat bahawa operasi TRUNCATE ialah pernyataan DDL, yang akan mengosongkan data keseluruhan jadual, bukan baris satu demi satu. Ini bermakna operasi itu sangat pantas kerana ia tidak mencatatkan pemadaman setiap baris. Walau bagaimanapun, kita perlu berhati-hati dengan operasi ini kerana data yang telah dipadam tidak boleh dipulihkan.

  1. Padam jadual dan lepaskan ruang jadual

Selepas mengosongkan data jadual, kita boleh menggunakan pernyataan berikut untuk memadam jadual dan melepaskan ruang jadual yang sepadan:

DROP TABLE 表名 PURGE;

Antaranya, kata kunci PURGE bermaksud melepaskan ruang jadual dengan segera.

Perlu diambil perhatian bahawa selepas melaksanakan operasi DELETE atau TRUNCATE, ruang jadual mungkin tidak dikeluarkan serta-merta walaupun kata kunci PURGE dilaksanakan. Ini kerana dalam Oracle, penggunaan ruang jadual dikekalkan oleh proses SMON (System Monitor) Proses SMON kerap mengimbas pangkalan data, mengumpul semua ruang yang tidak digunakan dan menukar ruang ini menjadi "ruang yang tersedia". Oleh itu, jika anda perlu melepaskan ruang jadual dengan segera, anda boleh menggunakan pernyataan ALTER TABLESPACE untuk memaksa dan memampatkan ruang jadual.

  1. Lihat ruang jadual yang dikeluarkan

Kita boleh menggunakan pernyataan berikut untuk menanyakan ruang jadual yang dikeluarkan:

SELECT TABLESPACE_NAME, FILE_NAME, ROUND(SUM(BYTES)/(1024*1024),2) AS "SIZE (MB)", AUTOEXTENSIBLE
FROM DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME, FILE_NAME, AUTOEXTENSIBLE;

Antaranya, DBA_FREE_SPACEMerupakan jadual sistem Oracle yang mengandungi semua maklumat ruang kosong.

  1. Ringkasan

Dalam pangkalan data Oracle, memadamkan jadual dan melepaskan ruang jadual yang sepadan adalah tugas yang sangat penting. Sebelum memadamkan jadual, kita perlu menyemak penggunaan ruang jadual dan mengosongkan data jadual untuk mengurangkan penggunaan ruang. Apabila memadamkan jadual, anda boleh menggunakan pernyataan DROP TABLE dan tambah kata kunci PURGE untuk segera melepaskan ruang jadual. Jika anda perlu melepaskan lagi ruang jadual, anda boleh menggunakan pernyataan ALTER TABLESPACE untuk memaksa dan memampatkan ruang jadual.

Atas ialah kandungan terperinci Bagaimana untuk memadam jadual dalam Oracle untuk melepaskan ruang jadual. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn