天天看點

Oracle查詢擴充表空間的方法

版本資訊

本文檔使用的Oracle版本為11.2.0.1.0 - 64bit

本文檔使用的Linux系統版本為CentOS Linux release 7.6.1810 (Core)

一、查詢表空間使用情況

SELECT
	a.tablespace_name AS "表空間名",
	a.bytes / 1024 / 1024 AS "表空間大小(M)",
	( a.bytes - b.bytes ) / 1024 / 1024 AS "已使用空間(M)",
	b.bytes / 1024 / 1024 "空閑空間(M)",
	round((( a.bytes - b.bytes ) / a.bytes ) * 100, 2 ) "使用比" 
FROM
	( SELECT tablespace_name, sum( bytes ) bytes FROM dba_data_files GROUP BY tablespace_name ) a,
	( SELECT tablespace_name, sum( bytes ) bytes, max( bytes ) largest FROM dba_free_space GROUP BY tablespace_name ) b 
WHERE
	a.tablespace_name = b.tablespace_name 
ORDER BY
	(( a.bytes - b.bytes ) / a.bytes ) DESC;
           
Oracle查詢擴充表空間的方法

二、擴充表空間

檢視表空間的名字及檔案所在位置

SELECT
	tablespace_name,
	file_id,
	file_name,
	round( bytes / ( 1024 * 1024 ), 0 ) total_space 
FROM
	dba_data_files 
ORDER BY
	tablespace_name
           
Oracle查詢擴充表空間的方法

方法一: 直接擴充所需表空間大小

alter database datafile '/oracle/oradata/orcl11g/sysaux01.dbf' resize 1024m;

再查詢一次:

Oracle查詢擴充表空間的方法

方法二:增加資料檔案個數

alter tablespace SYSAUX add datafile '/oracle/oradata/orcl11g/new_sysaux01.dbf' size 500m

再查詢一次:

Oracle查詢擴充表空間的方法

方法三:設定表空間自動擴充。

ALTER DATABASE DATAFILE '/xxx/xxx.dbf' AUTOEXTEND ON;//打開自動增長
ALTER DATABASE DATAFILE '/xxx/xxx.dbf' AUTOEXTEND ON NEXT 200M ;//每次自動增長200m
ALTER DATABASE DATAFILE '/xxx/xxx.dbf' AUTOEXTEND ON NEXT 200M MAXSIZE 1024M;//每次自動增長200m,表空間最大不超過1G