欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

在Oracle中查詢表的大小和表空間的大小

系統 2200 0

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

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 2.968
G:\ORACLE\ORADATA\ORA92\USERS01.DBF USERS 25 0.0625 0.25
G:\ORACLE\ORADATA\ORA92\XDB01.DBF XDB 38.125 37.9375 99.5
  上明描述中分別介紹了查看Oracle數據庫中數據文件信息的工具方法和命令方法。

  在oracle數據庫中,臨時表空間主要用于用戶在使用order by 、group by語句進行排序和匯總時所需的臨時工作空間。要查詢數據庫中臨時表空間的名稱,大小及數據文件,可以查詢數據字典dba_tablespaces及dba_data_files。命令如下:

  select

  a.talbespace_name 表空間名稱,

  b.bytes 大小bytes,

  b.file_name 數據文件名

  from dba_tablespaces a, dba_data_files b

  Where a.talbespace_name=b.talbespace_name and a.contents=’TEMPORARY’;

  查詢結果如下:

  表空間名稱大小bytes數據文件名

  TEMPONLINEG:\ORACLE\ORADATA\ORA92\TEMP01.DBF

  從oracle 9i開始,可以創建Temporary tablespace類表空間,即“臨時“表空間,這類表空間使用臨時文件。臨時文件的信息被存儲在數據字典V$tempfile中。命令如下:

  Select file#,status,name from V$tempfile;

  查詢數據字典V$tempfile結果如下:

   FILE# status NAME
1 ONLINE G:\ORACLE\ORADATA\ORA92\TEMP01.DBF
  在上面介紹的方法中,建議掌握命令方法,因為你的環境可能沒有圖形工具,而SQLPLUS一般情況下都是可以使用的,有了命令腳本,很容易得到表空間和數據文件的相關信息。另外,數據庫管理員應該多整理命令腳本,在需要時直接執行腳本以提高工作效率。

  在數據庫管理員的日常工作中,應該經常查詢表空間的利用率,按照數據庫系統的具體情況估算表空間的增長量,當表空間的利用率超過90%時,要及時采取措施,如清理歷史表、歷史數據以釋放空間,向表空間中添加新的數據文件,擴展現有數據文件大小等方法來降低表空間的利用率,避免表空間利用率接近100%時,將產生空間不夠的錯誤。

1.查詢oracle表空間的使用情況

?select b.file_id  文件ID,
  b.tablespace_name  表空間,
  b.file_name     物理文件名,
  b.bytes       總字節數,
  (b.bytes-sum(nvl(a.bytes,0)))   已使用,
  sum(nvl(a.bytes,0))        剩余,
  sum(nvl(a.bytes,0))/(b.bytes)*100 剩余百分比
  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.file_id,b.bytes
  order by b.tablespace_name

?

2.查詢oracle系統用戶的默認表空間和臨時表空間

select default_tablespace,temporary_tablespace from dba_users

?

?3.查詢單張表的使用情況

select segment_name,bytes from dba_segments where segment_name = 'RE_STDEVT_FACT_DAY' and owner = USER

RE_STDEVT_FACT_DAY是您要查詢的表名稱

?

4.查詢所有用戶表使用大小的前三十名

select * from (select segment_name,bytes from dba_segments where owner = USER order by bytes desc ) where rownum <= 30

?

5.查詢當前用戶默認表空間的使用情況

select tablespacename,sum(totalContent),sum(usecontent),sum(sparecontent),avg(sparepercent)
from
(
SELECT b.file_id as id,b.tablespace_name as tablespacename,b.bytes as totalContent,(b.bytes-sum(nvl(a.bytes,0))) as usecontent,sum(nvl(a.bytes,0)) as sparecontent,sum(nvl(a.bytes,0))/(b.bytes)*100? as sparepercent
FROM dba_free_space a,dba_data_files b
WHERE a.file_id=b.file_id and b.tablespace_name = (select default_tablespace from dba_users where username = user)?
group by b.tablespace_name,b.file_name,b.file_id,b.bytes
)
GROUP BY tablespacename

?

6.查詢用戶表空間的表

select?? *? from user_tables

?

本文來自CSDN博客,轉載請標明出處: http://blog.csdn.net/cosio/archive/2009/03/11/3978747.aspx

在Oracle中查詢表的大小和表空間的大小


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 九九热视频这里只有精品 | 97玖玖| 免费观看一区二区三区毛片 | 久草免费新视频 | 奇米影视第四色av首页 | 九九影院理论片 | 国产一级一区 | 成人精品鲁一区一区二区 | 国产色视频一区 | 欧美日韩亚洲一区 | 国产成人aaa在线视频免费观看 | 国产日产亚洲欧美综合另类 | 一区二区三区国产免费 | 亚洲狠狠爱 | 一级欧美一级日韩 | 日韩av一二三区 | 国产传媒在线视频 | 国产在线观看一区二区三区 | 日本视频在线免费观看 | 精品欧美一区二区在线观看 | 亚洲一区二区三区在线视频 | 久久免费99精品久久久久久 | 精品热99| 台湾一级毛片永久免费 | 91伊人 | 奇米吧| 欧美综合自拍亚洲综合百度 | 久久久久久国产精品免费免费狐狸 | 免费在线一区二区三区 | 欧美亚洲高清 | 欧美高清在线精品一区 | 一级毛片aaaaaa视频免费看 | 欧美精品欧美精品系列 | 991av| 婷婷丁香综合 | 特黄特色大片免费视频大全 | 久热久热 | 九九久久看少妇高潮A片特黄 | 偶像练习生在线免费观看 | 凛子小姐想试试 | 无遮挡很爽很污很黄的网站w |