查詢tablespace實際使用量與剩餘空間(free space)以及db或table實際資料量問題
到某表空間所有段的加和值,即按表空間分組統計
dba_data_files.bytes-dba_free_space.bytes=dba_segments.bytes
dba_segments中可查詢已分配的段空間大小(dba_extents則是dba_segments中的詳表,segment是由多個extent組成的),表空間總
dba_data_files.bytes-dba_free_space.bytes=dba_segments.bytes
dba_segments中可查詢已分配的段空間大小(dba_extents則是dba_segments中的詳表,segment是由多個extent組成的),表空間總
大小可查詢dba_data_files來獲得,剩餘大小可查詢dba_free_space獲得,這兩者相減就是已分配掉的空間大小可以透過對錶分析後查詢dba_tables(下面多個+1就是段頭塊了)dba_tables.blocks+ dba_tables.empty_blocks+1=user_extents.blocks=user_segments.blocks
另外:
平均行長*總行數=表資料量大小
這裡是資料量,oracle分配給該表的空間自然要比這個大,而且還要受到到pctfree的限制以及該表是否有經過刪除,例如delete很多記錄,空間是不會釋放的,分配的空間就浪費更多
一種極端就是表的引數設定pctfree=0 initial跟next也設定很小例如都是16K,然後插入資料
例如10M的資料量,然後對錶進行分析,那麼這種情況空間利用率很高,按上面公式計算,結果
就會跟dba_segments分配空間的值很接近了,幾乎相等了。
另外:
平均行長*總行數=表資料量大小
這裡是資料量,oracle分配給該表的空間自然要比這個大,而且還要受到到pctfree的限制以及該表是否有經過刪除,例如delete很多記錄,空間是不會釋放的,分配的空間就浪費更多
一種極端就是表的引數設定pctfree=0 initial跟next也設定很小例如都是16K,然後插入資料
例如10M的資料量,然後對錶進行分析,那麼這種情況空間利用率很高,按上面公式計算,結果
就會跟dba_segments分配空間的值很接近了,幾乎相等了。
大概量演算法:
查詢tablespace使用量:select tablespace_name,sum(bytes)/1024/1024 from dba_extents where tablespace_name='MIS_TABLESPACE' group by tablespace_name
查詢tablespace剩餘空間:select tablespace_name,round(sum(bytes)/1024/1024,2) "FREE_MB" from dba_free_space group by tablespace_name
查詢table所佔硬碟的大小:select table_name, blocks * (select value from v$parameter where name='db_block_size')/1024/1024 as size_mb from user_tables where table_name=TABLE_NAME
查詢tablespace剩餘空間:select tablespace_name,round(sum(bytes)/1024/1024,2) "FREE_MB" from dba_free_space group by tablespace_name
查詢table所佔硬碟的大小:select table_name, blocks * (select value from v$parameter where name='db_block_size')/1024/1024 as size_mb from user_tables where table_name=TABLE_NAME
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-84793/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle 剩餘表空間查詢慢,解決辦法Oracle
- 表空間使用量查詢
- 解決Ubuntu虛擬機器佔用空間與實際空間不符問題Ubuntu虛擬機
- 【TABLESPACE】Oracle表空間最佳實踐Oracle
- boot分割槽剩餘空間不足boot
- linux檢視剩餘磁碟空間Linux
- 並查集在實際問題中的應用並查集
- 前端-如何始終平均分配剩餘空間前端
- AD7606實際取樣率輸出資料量偏小
- Tablespace表空間刪除
- 查詢資料量的大小
- SQLAlchemy in 查詢空列表問題分析SQL
- 實際專案中遇到的問題
- 怎麼檢視微信收藏功能的剩餘可用空間
- 聊聊dba_temp_free_space的allocated_space和free_space
- Zookeeper資料結構以及實際場景操作資料結構
- Oracle11g新增檢視查詢表空間使用率DBA_TABLESPACE_USAGE_METRICSOracle
- 詳解flex佈局的元素如何分配容器的剩餘空間Flex
- 理解笛卡爾積在資料庫查詢中的實際應用與最佳化資料庫
- 【CV】三維空間的旋轉問題(Rotation in 3D space)3D
- alter table move與shrink space
- grafana展示的CPU利用率與實際不符的問題探究Grafana
- 大資料量查詢容易OOM?試試MySQL流式查詢大資料OOMMySql
- ORA-1653: unable to extend table by 1024 in tablespace(oracle表空間滿了的解決方案)Oracle
- 消除假確定性並解決實際問題
- Laravel MongoDB 時間區間查詢的問題LaravelMongoDB
- 查詢資料庫的資料量的大小資料庫
- 【TABLESPACE】Oracle 表空間結構說明Oracle
- 從實際專案出發,淺淡什麼是設計空間
- 達夢資料庫表空間等空間大小查詢方法總結資料庫
- 無法更新win10提示C盤剩餘空間不足如何解決Win10
- 當前有一套測試庫,剩餘磁碟空間不多怎麼弄
- 從實際問題看 SwiftUI 和 Combine 程式設計SwiftUI程式設計
- 查詢表空間使用情況
- 關於oracle的空間查詢Oracle
- 基於Geomesa服務查詢軌跡資料無法根據空間和時間範圍進行查詢的問題解決辦法
- PHP+Redis解決實際問題一:訂單限流PHPRedis
- BST查詢結構與折半查詢方法的實現與實驗比較
- 沒有磁碟空間 No space left on devicedev