Oracle中查詢表的大小和資料表空間的大小____Oracle

來源:互聯網
上載者:User

有兩種含義的表大小。一種是分配給一個表的物理空間數量,而不管空間是否被使用。可以這樣查詢獲得位元組數:

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. 查看剩餘資料表空間大小   SELECT tablespace_name 資料表空間,sum(blocks*8192/1000000) 剩餘空間M FROM dba_free_space GROUP BY tablespace_name;   2.檢查系統中所有資料表空間總體空間 select b.name,sum(a.bytes/1000000)總空間 from v$datafile a,v$tablespace b where a.ts#=b.ts# group by b.name;

  1、查看Oracle資料庫中資料表空間資訊的工具方法:

  使用oracle enterprise manager console工具,這是oracle的用戶端工具,當安裝oracle伺服器或用戶端時會自動安裝此工具,在windows作業系統上完成oracle安裝後,通過下面的方法登入該工具:開始菜單——程式——Oracle-OraHome92——Enterprise Manager Console(單擊)——oracle enterprise manager console登入——選擇‘獨立啟動’單選框——‘確定’ —— ‘oracle enterprise manager console,獨立’ ——選擇要登入的‘執行個體名’ ——彈出‘資料庫連接資訊’ ——輸入’使用者名稱/口令’ (一般使用sys使用者),’串連身份’選擇選擇SYSDBA——‘確定’,這時已經成功登入該工具,選擇‘儲存’ ——資料表空間,會看到如下的介面,該介面顯示了資料表空間名稱,資料表空間類型,區管理類型,以”兆”為單位的資料表空間大小,已使用的資料表空間大小及資料表空間利用率。

  圖1 資料表空間大小及使用率

  2、查看Oracle資料庫中資料表空間資訊的命令方法:

  通過查詢資料庫系統中的資料字典表(data dictionary tables)擷取資料表空間的相關資訊,首先使用用戶端工具串連到資料庫,這些工具可以是SQLPLUS字元工具、TOAD、PL/SQL等,串連到資料庫後執行如下的查詢語句:

  select

  a.a1 資料表空間名稱,

  c.c2 類型,

  c.c3 區管理,

  b.b2/1024/1024 資料表空間大小M,

  (b.b2-a.a2)/1024/1024 已使用M,

  substr((b.b2-a.a2)/b.b2*100,1,5) 利用率

  from

  (select tablespace_name a1, sum(nvl(bytes,0)) a2 from dba_free_space group by tablespace_name) a,

  (select tablespace_name b1,sum(bytes) b2 from dba_data_files group by tablespace_name) b,

  (select tablespace_name c1,contents c2,extent_management c3 from dba_tablespaces) c

  where a.a1=b.b1 and c.c1=b.b1;

  該語句通過查詢dba_free_space,dba_data_files,dba_tablespaces這三個資料字典表,得到了資料表空間名稱,資料表空間類型,區管理類型,以”兆”為單位的資料表空間大小,已使用的資料表空間大小及資料表空間利用率。dba_free_space表描述了資料表空間的空閑大小,dba_data_files表描述了資料庫中的資料檔案,dba_tablespaces表描述了資料庫中的資料表空間。

  上面語句中from子句後有三個select語句,每個select語句相當於一個視圖,視圖的名稱分別為a、b、c,通過它們之間的關聯關係,我們得到了資料表空間的相關資訊。

  語句執行結果如下:

  

資料表空間名稱 類型 區管理 資料表空間大小M 已使用M 利用率
CWMLITE PERMANENT LOCAL 20 9.375 46.87
DRSYS PERMANENT LOCAL 20 9.6875 48.43
EXAMPLE PERMANENT LOCAL 149.375 149.25 99.91
INDX PERMANENT LOCAL 25 0.0625 0.25
ODM PERMANENT LOCAL 20 9.375 46.87
SYSTEM PERMANENT LOCAL 400 397.375 99.34
TOOLS PERMANENT LOCAL 10 6.0625 60.62
UNDOTBS1 UNDO LOCAL 200 5.9375 2.968
USERS PERMANENT LOCAL 25 0.0625 0.25
XDB PERMANENT LOCAL 38.125 37.9375 99.5
  上面描述中分別介紹了查看Oracle資料庫中資料表空間資訊的工具方法和命令方法。

 

  1、查看Oracle資料庫中資料檔案資訊的工具方法:

  使用上面介紹過的方法登入oracle enterprise manager console工具,選擇‘儲存’ ——資料檔案,會看到如下的介面,該介面顯示了資料檔案名稱,資料表空間名稱,以”兆”為單位的資料檔案大小,已使用的資料檔案大小及資料檔案利用率。

  

  圖2 資料檔案大小及使用率

        2、查看Oracle資料庫中資料檔案資訊的命令方法:

  通過查詢資料庫系統中的資料字典表(data dictionary tables)擷取資料檔案的相關資訊,首先使用用戶端工具串連到資料庫,這些工具可以是SQLPLUS字元工具、TOAD、PL/SQL等,串連到資料庫後執行如下的查詢語句:

  select

  b.file_name 物理檔案名稱,

  b.tablespace_name 資料表空間,

  b.bytes/1024/1024 大小M,

  (b.bytes-sum(nvl(a.bytes,0)))/1024/1024 已使用M,

  substr((b.bytes-sum(nvl(a.bytes,0)))/(b.bytes)*100,1,5) 利用率

  from dba_free_space a,dba_data_files b

  where a.file_id=b.file_id

  group by b.tablespace_name,b.file_name,b.bytes

  order by b.tablespace_name

  語句執行結果如下:

  

物理檔案名稱 資料表空間 大小M 已使用M 利用率
G:/ORACLE/ORADATA/ORA92/CWMLITE01.DBF CWMLITE 20 9.375 46.87
G:/ORACLE/ORADATA/ORA92/DRSYS01.DBF DRSYS 20 9.6875 48.43
G:/ORACLE/ORADATA/ORA92/EXAMPLE01.DBF EXAMPLE 149.375 149.25 99.91
G:/ORACLE/ORADATA/ORA92/INDX01.DBF INDX 25 0.0625 0.25
G:/ORACLE/ORADATA/ORA92/ODM01.DBF ODM 20 9.375 46.87
G:/ORACLE/ORADATA/ORA92/SYSTEM01.DBF SYSTEM 400 397.375 99.34
G:/ORACLE/ORADATA/ORA92/TOOLS01.DBF TOOLS 10 6.0625 60.62
G:/ORACLE/ORADATA/ORA92/UNDOTBS01.DBF UNDOTBS1 200 5.9375

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.