今天备份一张表,报错,提示表空间已满,所以记录一下扩容过程,以下均为dba用户在plsql中操作
参照文章没有记录。。。
1、查询表空间使用情况
SELECT UPPER
(F
.TABLESPACE_NAME
) "表空间名",
D
.TOT_GROOTTE_MB
"表空间大小(M)",
D
.TOT_GROOTTE_MB
- F
.TOTAL_BYTES
"已使用空间(M)",
TO_CHAR
(ROUND((D
.TOT_GROOTTE_MB
- F
.TOTAL_BYTES
) / D
.TOT_GROOTTE_MB
* 100,
2),
'990.99') "使用比",
F
.TOTAL_BYTES
"空闲空间(M)",
F
.MAX_BYTES
"最大块(M)"
FROM (SELECT TABLESPACE_NAME
,
ROUND(SUM(BYTES
) / (1024 * 1024), 2) TOTAL_BYTES
,
ROUND(MAX(BYTES
) / (1024 * 1024), 2) MAX_BYTES
FROM SYS
.DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME
) F
,
(SELECT DD
.TABLESPACE_NAME
,
ROUND(SUM(DD
.BYTES
) / (1024 * 1024), 2) TOT_GROOTTE_MB
FROM SYS
.DBA_DATA_FILES DD
GROUP BY DD
.TABLESPACE_NAME
) D
WHERE D
.TABLESPACE_NAME
= F
.TABLESPACE_NAME
ORDER BY 4 DESC;
2、查看表空间是否具有自动扩展的能力
SELECT T
.TABLESPACE_NAME
,
D
.FILE_NAME
,
D
.AUTOEXTENSIBLE
,
D
.BYTES
,
D
.MAXBYTES
,
D
.STATUS
FROM DBA_TABLESPACES T
, DBA_DATA_FILES D
WHERE T
.TABLESPACE_NAME
= D
.TABLESPACE_NAME
ORDER BY TABLESPACE_NAME
, FILE_NAME
;
3、增加表空间大小的四种方法
Meathod1:给表空间增加数据文件
ALTER TABLESPACE app_data
ADD DATAFILE
'D:\app\Administrator\oradata\orcl\APP_DATA_02.DBF' SIZE
1024M
;
Meathod2:新增数据文件,并且允许数据文件自动增长,最大增长到10GB
ALTER TABLESPACE app_data
ADD DATAFILE
'D:\app\Administrator\oradata\orcl\APP_DATA_02.DBF' SIZE
1024M
AUTOEXTEND
ON NEXT 100M MAXSIZE
10240M
;
Meathod3:允许已存在的数据文件自动增长
ALTER DATABASE DATAFILE
'D:\app\Administrator\oradata\orcl\APP_DATA.DBF'
AUTOEXTEND
ON NEXT 100M MAXSIZE
20480M
;
Meathod4:手工改变已存在数据文件的大小
ALTER DATABASE DATAFILE
'D:\app\Administrator\oradata\orcl\APP_DATA.DBF'
RESIZE
20480M
;