Rumah >masalah biasa >Bagaimana untuk menanyakan saiz ruang meja oracle
Cara untuk menanyakan saiz ruang meja dalam oracle: 1. Gunakan paparan DBA_TABLESPACE ini menyimpan semua maklumat ruang jadual, termasuk nama, saiz, baki ruang yang tersedia, dan lain-lain ruang meja; prosedur DBMS_SPACE.SPACE_USAGE yang disediakan oleh Oracle , prosedur tersimpan ini mengembalikan maklumat terperinci tentang ruang meja, termasuk jumlah saiz ruang meja, saiz terpakai, baki ruang kosong, dsb.
Persekitaran pengendalian tutorial ini: sistem Windows 10, Oracle versi 19c, komputer DELL G3.
Oracle ialah sistem pengurusan pangkalan data hubungan yang sangat terkenal, yang menyediakan cara mudah untuk menanyakan saiz ruang meja. Dalam Oracle, ruang meja ialah struktur logik dalam pangkalan data yang menyimpan jadual, indeks dan objek lain.
Dalam Oracle, terdapat beberapa cara untuk menanyakan saiz ruang meja. Di bawah ini saya akan memperkenalkan dua kaedah yang biasa digunakan.
Kaedah pertama ialah menggunakan paparan DBA_TABLESPACE. Paparan ini menyimpan semua maklumat ruang jadual, termasuk nama ruang jadual, saiz, ruang kosong yang tinggal, dsb.
Berikut ialah contoh pernyataan SQL untuk menanyakan saiz ruang jadual:
SELECT tablespace_name, ROUND(SUM(bytes) / 1024 / 1024, 2) AS "Size(MB)", ROUND(SUM(bytes - freespace) / 1024 / 1024, 2) AS "Used(MB)", ROUND(SUM(freespace) / 1024 / 1024, 2) AS "Free(MB)" FROM (SELECT df.tablespace_name, df.bytes, SUM(fs.bytes) AS "freespace" FROM (SELECT tablespace_name, ROUND(SUM(bytes) / 1048576) AS bytes FROM dba_data_files GROUP BY tablespace_name) df, (SELECT tablespace_name, ROUND(SUM(bytes) / 1048576) AS bytes FROM dba_free_space GROUP BY tablespace_name) fs WHERE df.tablespace_name = fs.tablespace_name(+) GROUP BY df.tablespace_name, df.bytes) GROUP BY tablespace_name;
Pernyataan pertanyaan di atas memperoleh maklumat saiz ruang jadual dengan menyambungkan paparan DBA_DATA_FILES dan DBA_FREE_SPACE. Ia memaparkan saiz ruang jadual dengan mengira bilangan bait dan menukarnya kepada megabait (MB).
Kaedah lain ialah menggunakan prosedur tersimpan DBMS_SPACE.SPACE_USAGE yang disediakan oleh Oracle. Prosedur tersimpan ini mengembalikan maklumat terperinci tentang ruang meja, termasuk jumlah saiz ruang meja, saiz terpakai, baki ruang kosong, dsb.
Berikut ialah contoh menggunakan prosedur tersimpan untuk menanyakan saiz ruang jadual:
SET SERVEROUTPUT ON; DECLARE total_size NUMBER; used_size NUMBER; free_size NUMBER; BEGIN DBMS_SPACE.SPACE_USAGE('TABLESPACE_NAME', total_size, used_size, free_size); DBMS_OUTPUT.PUT_LINE('Total Size: ' || ROUND(total_size / 1024 / 1024, 2) || ' MB'); DBMS_OUTPUT.PUT_LINE('Used Size: ' || ROUND(used_size / 1024 / 1024, 2) || ' MB'); DBMS_OUTPUT.PUT_LINE('Free Size: ' || ROUND(free_size / 1024 / 1024, 2) || ' MB'); END; /
Prosedur tersimpan di atas menghantar nama ruang jadual sebagai parameter kepada DBMS_SPACE.SPACE_USAGE dan mengembalikan jumlah saiz, saiz terpakai dan baki percuma ruang ruang meja. Hasil pertanyaan boleh dipaparkan pada konsol menggunakan pernyataan DBMS_OUTPUT.PUT_LINE.
Tidak kira kaedah yang anda gunakan, pertanyaan ini boleh membantu anda memahami saiz ruang jadual dalam pangkalan data Oracle anda. Dengan memahami penggunaan ruang meja, anda boleh mengurus dan mengoptimumkan ruang storan pangkalan data anda dengan lebih baik.
Atas ialah kandungan terperinci Bagaimana untuk menanyakan saiz ruang meja oracle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!