查詢Oracle資料庫段SEGMENT和物件大小

2021-09-30 13:17:02 字數 1744 閱讀 7238

一、查詢段類別:

select t.tablespace_name, segment_type, count(1)

from user_segments t

where 1 = 1

group by t.tablespace_name, t.segment_type

order by t.tablespace_name, t.segment_type;

二、檢視資料庫表空間儲存物件的大小

select *

from (select segment_name,

t.segment_type,

sum(bytes) / 1024 / 1024 segment_size

from user_segments t

where 1 = 1

group by t.segment_name, t.segment_type) t

where 1 = 1

order by segment_size desc;

三、檢視表空間佔的總大小:

select sum(bytes) / 1024 / 1024 segment_size from user_segments t;

四、實際表占用空間大小,包括表所屬物件:index、lobindex、lobsegment

select *

from (select segment_name,

segment_type,

sum(bytes) / 1024 / 1024 segment_size

from (select t.tablespace_name,

t.segment_name,

t.segment_type,

t.bytes

from user_segments t

where 1 = 1

and t.segment_type not in

('index', 'lobindex', 'lobsegment')

union all

select t.tablespace_name,

ul.table_name as segment_name,

'table' as segment_type,

t.bytes

from user_segments t

inner join user_lobs ul

on t.segment_name = ul.segment_name

where 1 = 1

and t.segment_type = 'lobsegment'

union all

select t.tablespace_name,

ui.table_name as segment_name,

'table' as segment_type,

t.bytes

from user_segments t

inner join user_indexes ui

on t.segment_name = ui.index_name

where 1 = 1

and t.segment_type in ('index', 'lobindex')

and 1 = 1) t

where 1 = 1

group by segment_name, segment_type) t

where 1 = 1

order by segment_size desc;

Oracle資料庫查詢

取得該使用者下所有的表 select from user tables 取得表名為classinfo的注釋資訊 select from user tab comments where table name classinfo 取得該使用者下表名為classinfo表的結構 select from u...

Oracle資料庫表之段

一.段型別 oracle中的段 segment 是占用磁碟上儲存空間的乙個物件,不同型別的段儲存了不同的資料,管理儲存空間的方式也不相同。主要幾種段型別 2.表 用於儲存乙個表的資料,通常與索引段聯合使用。最常見的段,用於儲存表資料的。3.表分割槽 用於分割槽。4.索引 這種段型別可以儲存索引結構。...

Oracle跨資料庫查詢

工作中需要從乙個資料庫中的表 gis weichai data 1s 中的資料匯入到另個一資料庫的表 gis weichai data 1s 中,資料庫伺服器都是遠端的 分別為 221.131.228.256 211.161.192.46 我的實現方法是在本地使用 pl sql 操作兩個遠端伺服器,...