1. 查看所有表空間大小
創(chuàng)新互聯(lián)公司是一家專業(yè)提供雙清企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站設(shè)計、網(wǎng)站制作、H5技術(shù)、小程序制作等業(yè)務(wù)。10年已為雙清眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進行中。
SQL select tablespace_name,sum(bytes)/1024/1024 from dba_data_files
2 group by tablespace_name;
2. 已經(jīng)使用的表空間大小
SQL select tablespace_name,sum(bytes)/1024/1024 from dba_free_space
2 group by tablespace_name;
3. 所以使用空間可以這樣計算
select a.tablespace_name,total,free,total-free used from
( select tablespace_name,sum(bytes)/1024/1024 total from dba_data_files
group by tablespace_name) a,
( select tablespace_name,sum(bytes)/1024/1024 free from dba_free_space
group by tablespace_name) b
where a.tablespace_name=b.tablespace_name;
4. 下面這條語句查看所有segment的大小。
Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name
5. 還有在命令行情況下如何將結(jié)果放到一個文件里。
SQL spool out.txt
SQL select * from v$database;
SQL spool off
1、因為oracle運行在Linux系統(tǒng)下,首先,要連接Linux系統(tǒng)。
2、連上后,進行oracle控制臺。輸入命令: sqlplus ?/ as sysdba;
3、在sql命令行,輸入:
SELECT UPPER(F.TABLESPACE_NAME) "表空間名",D.TOT_GROOTTE_MB "表空間大小(M)",D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空間(M)",
TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,2),'990.99') || '%' "使用比",F.TOTAL_BYTES "空閑空間(M)",F.MAX_BYTES "最大塊(M)"
FROM (SELECT TABLESPACE_NAME,ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES,
FROM SYS.DBA_FREE_SPACE,GROUP BY TABLESPACE_NAME) F,
(SELECT DD.TABLESPACE_NAME,ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB,
FROM SYS.DBA_DATA_FILES DD,GROUP BY DD.TABLESPACE_NAME) D,
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME,ORDER BY 1;
4、這樣就可以查看到相應(yīng)結(jié)果。 完成效果圖。
1. 查看所有表空間大小 SQL select tablespace_name,sum(bytes)/1024/1024 from dba_data_files 2 group by tablespace_name; 2. 已經(jīng)使用的表空間大小 SQL select tablespace_name,sum(bytes)/1024/1024 from dba_free_space 2 group by tablespace_name; 3. 所以使用空間可以這樣計算 select a.tablespace_name,total,free,total-free used from ( select tablespace_name,sum(bytes)/1024/1024 total from dba_data_files group by tablespace_name) a, ( select tablespace_name,sum(bytes)/1024/1024 free from dba_free_space group by tablespace_name) b where a.tablespace_name=b.tablespace_name; 4. 下面這條語句查看所有segment的大小。 Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name 5. 還有在命令行情況下如何將結(jié)果放到一個文件里。 SQL spool out.txt SQL select * from v$database; SQL spool off
有兩種含義的表大小。一種是分配給一個表的物理空間數(shù)量,而不管空間是否被使用??梢赃@樣查詢獲得字節(jié)數(shù):
select segment_name, bytes?
from user_segments?
where segment_type = 'TABLE';?
或者
Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name
另一種表實際使用的空間。這樣查詢:
analyze table emp compute statistics;?
select num_rows * avg_row_len?
from user_tables?
where table_name = 'EMP';
查看每個表空間的大小
Select Tablespace_Name,Sum(bytes)/1024/1024 From Dba_Segments Group By Tablespace_Name
1.查看Oracle數(shù)據(jù)庫中表空間信息的工具方法: 使用oracle enterprise manager console工具,這是oracle的客戶端工具,當安裝oracle服務(wù)器或客戶端時會自動安裝此工具,在...
2.查看Oracle數(shù)據(jù)庫中表空間信息的命令方法: 通過查詢數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)字典表(data dictionary tables)獲取表空間的相關(guān)信息,首先使用客戶端工具連接到數(shù)據(jù)庫,這些工具可以是SQL..