Một trong những cách là Sử dụng truy vấn sql bên dưới
--Size of All Table Space
--1. Used Space
SELECT TABLESPACE_NAME,TO_CHAR(SUM(NVL(BYTES,0))/1024/1024/1024, '99,999,990.99') AS "USED SPACE(IN GB)" FROM USER_SEGMENTS GROUP BY TABLESPACE_NAME
--2. Free Space
SELECT TABLESPACE_NAME,TO_CHAR(SUM(NVL(BYTES,0))/1024/1024/1024, '99,999,990.99') AS "FREE SPACE(IN GB)" FROM USER_FREE_SPACE GROUP BY TABLESPACE_NAME
--3. Both Free & Used
SELECT USED.TABLESPACE_NAME, USED.USED_BYTES AS "USED SPACE(IN GB)", FREE.FREE_BYTES AS "FREE SPACE(IN GB)"
FROM
(SELECT TABLESPACE_NAME,TO_CHAR(SUM(NVL(BYTES,0))/1024/1024/1024, '99,999,990.99') AS USED_BYTES FROM USER_SEGMENTS GROUP BY TABLESPACE_NAME) USED
INNER JOIN
(SELECT TABLESPACE_NAME,TO_CHAR(SUM(NVL(BYTES,0))/1024/1024/1024, '99,999,990.99') AS FREE_BYTES FROM USER_FREE_SPACE GROUP BY TABLESPACE_NAME) FREE
ON (USED.TABLESPACE_NAME = FREE.TABLESPACE_NAME);
Nguồn
2014-12-04 06:35:47
Bạn nói về không gian bảng trong tiêu đề của bạn nhưng phân vùng và phân đoạn phụ trong văn bản. Đó là cái nào? Và bạn đã thử cái gì? Có rất nhiều thứ có sẵn với một tìm kiếm đơn giản, tại sao những thứ cơ bản không đáp ứng được nhu cầu của bạn? – Mat
@ user2115594: dude bạn cần đo kích thước vùng bảng hoặc từng kích thước phân vùng trong một bảng cụ thể? –
Vâng, tôi xin lỗi những gì tôi thực sự cần là để đo kích thước phân vùng trong bảng nguồn gốc của tôi. Mỗi bảng nguồn gốc được tạo bằng phân vùng và phân đoạn con nhưng tất cả đều chèn dữ liệu vào 3 vùng bảng. Bước tiếp theo là tạo một vùng bảng cho mỗi phân lớp – user2115594