資料庫表空間占用過大,縮減表空間大小。
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 ...