Rumah > pangkalan data > Oracle > Bagaimana untuk menanyakan ruang meja pengguna melalui Oracle SQL

Bagaimana untuk menanyakan ruang meja pengguna melalui Oracle SQL

PHPz
Lepaskan: 2023-04-04 09:47:07
asal
5257 orang telah melayarinya

Ruang jadual ialah unit asas untuk pangkalan data Oracle untuk mengurus data. Dalam pangkalan data Oracle, kedua-dua data pengguna dan data sistem disimpan dalam ruang jadual. Apabila kita mencipta pengguna, kita perlu memperuntukkan ruang meja untuk pengguna ini. Oleh itu, apabila menguruskan pangkalan data Oracle, selalunya perlu untuk menanyakan ruang jadual pengguna dan penggunaan ruang jadual. Artikel ini akan memperkenalkan cara untuk menanyakan ruang jadual pengguna melalui Oracle SQL.

Dalam pengurusan pangkalan data Oracle, ruang jadual ialah kaedah membahagikan pangkalan data kepada beberapa kawasan logik. Setiap ruang meja terdiri daripada satu set fail data yang disimpan secara fizikal pada cakera. Setiap ruang jadual mengandungi beberapa objek pangkalan data yang berkaitan, seperti jadual, indeks dan prosedur tersimpan. Apabila membuat ruang jadual, kita perlu menentukan nama ruang jadual, fail data, parameter storan dan maklumat lain. Biasanya, kami memperuntukkan ruang jadual untuk setiap pengguna.

Dalam pangkalan data Oracle, ruang jadual sistem ialah ruang jadual yang digunakan untuk menyimpan objek sistem, seperti kamus data, prosedur tersimpan dan jadual dalaman. Jika kita perlu menanyakan ruang jadual pengguna tertentu, kita boleh melakukannya melalui langkah berikut:

Langkah 1: Log masuk ke pangkalan data Oracle

Kita perlu log masuk terlebih dahulu ke sistem pengurusan pangkalan data Oracle, anda boleh menggunakan alat SQLPlus atau alat Pembangun Oracle SQL, dsb. Mengambil alat SQLPlus sebagai contoh, kami memasukkan perintah berikut untuk log masuk:

$ sqlplus / as sysdba
Salin selepas log masuk

Arahan ini akan log masuk ke pangkalan data Oracle sebagai pentadbir sistem.

Langkah 2: Tanya ruang jadual pengguna

Kita boleh menggunakan pernyataan pertanyaan SQL berikut untuk menanyakan ruang jadual pengguna tertentu:

SELECT USERNAME, DEFAULT_TABLESPACE
FROM DBA_USERS
WHERE USERNAME='username';
Salin selepas log masuk

Antaranya, USERNAME bermaksud untuk membuat pertanyaan Nama pengguna, DEFAULT_TABLESPACE mewakili ruang jadual lalai pengguna.

Langkah 3: Pertanyaan penggunaan ruang jadual

Jika kita perlu mengetahui penggunaan ruang jadual pengguna tertentu, kita boleh menggunakan pernyataan pertanyaan SQL berikut:

SELECT
A.TABLESPACE_NAME,
A.BYTES / (1024 * 1024) AS "TOTAL_MB",
(B.BYTES - NVL(F.BYTES, 0)) / (1024 * 1024) AS "USED_MB", 
NVL(F.BYTES, 0) / (1024 * 1024) AS "FREE_MB", 
(B.BYTES - NVL(F.BYTES, 0)) / A.BYTES * 100 AS "USED_PERCENTAGE",
NVL(F.BYTES, 0) / A.BYTES * 100 AS "FREE_PERCENTAGE"
FROM
(SELECT TABLESPACE_NAME, SUM(BYTES) BYTES FROM DBA_DATA_FILES GROUP BY TABLESPACE_NAME) A, 
(SELECT TABLESPACE_NAME, SUM(BYTES) BYTES FROM DBA_SEGMENTS GROUP BY TABLESPACE_NAME) B,
(SELECT TABLESPACE_NAME, SUM(BYTES) BYTES FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME) F 
WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME(+) AND A.TABLESPACE_NAME = F.TABLESPACE_NAME(+);
Salin selepas log masuk

Pernyataan pertanyaan SQL ini akan mengembalikan jumlah saiz (TOTAL_MB), ruang terpakai (USED_MB), ruang kosong (FREE_MB), peratusan ruang terpakai (USED_PERCENTAGE) dan peratusan ruang kosong (FREE_PERCENTAGE) setiap ruang jadual.

Langkah 4: Ringkasan

Dalam pengurusan pangkalan data Oracle, ruang jadual ialah konsep yang sangat penting. Kami perlu memperuntukkan ruang jadual untuk setiap pengguna, dan selalunya perlu menanyakan ruang meja pengguna dan penggunaan ruang meja. Dengan menggunakan pernyataan pertanyaan SQL di atas, kita boleh menanyakan ruang jadual dengan mudah dalam pangkalan data Oracle dan memahami penggunaan ruang jadual.

Atas ialah kandungan terperinci Bagaimana untuk menanyakan ruang meja pengguna melalui Oracle SQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan