oracle減小資料庫表空間

2021-07-05 11:20:36 字數 1222 閱讀 2121

資料庫表空間占用過大,縮減表空間大小。

1、首先確認表空間,空閒空間比例比較大。

select c.tablespace_name,a.bytes/1048576 megs_total,(a.bytes-b.bytes)/1048576 megs_used,

b.bytes/1048576 megs_free,(a.bytes-b.bytes)/a.bytes * 100 pct_used, b.bytes/a.bytes * 100 pct_free

from (select tablespace_name,sum(a.bytes) bytes,min(a.bytes) minbytes,max(a.bytes) maxbytes from sys.dba_data_files a

group by tablespace_name) a,(select a.tablespace_name,nvl(sum(b.bytes),0) bytes

from sys.dba_data_files a,sys.dba_free_space b where a.tablespace_name = b.tablespace_name (+) and a.file_id = b.file_id (+)

group by a.tablespace_name) b,sys.dba_tablespaces c

where a.tablespace_name = b.tablespace_name(+) and a.tablespace_name = c.tablespace_name order by 6;

2、查詢表空間資料占用資料檔案空間最大值。

--查file_id、file_name

select t.file_id,t.file_name from dba_data_files t where t.tablespace_name='***';

--查占用最大空間(mb)

select max(block_id)*8/1024 from dba_extents where file_id='yyy';

--縮減表空間

alter database datafile '/opt/oracle/oradata/***.dbf' resize 300m;

/opt/oracle/oradata/***.dbf 是要縮減的表空間檔案。

resize 300m 根據表空間大小確定。

oracle 資料庫表空間

1 建立表空間 格式 建立表空間 create tablespace 表空間名 datafile 表空間檔案儲存物理路徑.ora size 500m defaultstorage autoextend on initial 100m next 100m minextents 20 maxextent...

Oracle資料庫表空間

永久表空間 表空間是資料庫的邏輯劃分,乙個表空間只屬於乙個資料庫。所有的資料庫物件都存放在指定的表空間中。但主要存放的是表,所以稱作表空間 臨時表空間 oracle臨時表空間主要用來做查詢和存放一些緩衝區的資料。臨時表空間消耗的主要原因是需要讀查詢的中間結果進行排序。重啟資料庫可以釋放臨時表空間 建...

資料庫 oracle資料庫建立表空間

上學的時候就裝過兩次oracle資料庫,但是一直沒有學會使用,缺少的是建立使用者表空間。臨時表空間 資料表空間 給使用者授權 sid 表空間 使用者 表 oracle11g伺服器安裝詳細步驟 教程 源文件 1 sqlplus登入 as sysdba2 建立臨時表空間 createtemporary ...