oracle表空间问题处理语句 最大值 自动增长 创建表空间文件

本文详细介绍Oracle数据库中表空间的管理操作,包括查询表空间信息、开启自动增长、新增表空间文件及查询使用率的方法。通过SQL语句示例,帮助读者掌握表空间的维护技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

查询表空间明、路径名称、大小、是否自动增长、最大大小、下一次增长大小:
select a.tablespace_name,a.FILE_NAME,bytes/1024/1024||'M' "size",a.AUTOEXTENSIBLE,a.MAXBYTES,a.INCREMENT_BY from dba_data_files a order by a.FILE_NAME;

开启表空间文件大小自动增长:
alter database datafile '+ORADATA/orcl/datafile/“上一语句查询到的表空间文件名”.dbf' autoextend on;

开启表空间文件大小自动增长并设置最大值为最大
alter database datafile '+ORADATA/orcl/datafile/上一语句查询到的表空间文件名.dbf' autoextend on maxsize unlimited;

新增表空间文件并开启自动增长,最大值为最大:
alter tablespace 第一条语句查询到的表空间 add datafile '+ORADATA/orcl/datafile/新命名一个表空间文件名.dbf' SIZE 10240M AUTOEXTEND ON NEXT 500M;

查询表空间使用率:
SELECT UPPER(F.TABLESPACE_NAME) AS "表空间名称",
ROUND(D.AVAILB_BYTES ,2) AS "表空间大小(G)",
ROUND(D.MAX_BYTES,2) AS "最终表空间大小(G)",
ROUND((D.AVAILB_BYTES - F.USED_BYTES),2) AS "已使用空间(G)",
TO_CHAR(ROUND((D.AVAILB_BYTES - F.USED_BYTES) / D.AVAILB_BYTES 100,
2), '999.99') AS "使用比",
ROUND(F.USED_BYTES, 6) AS "空闲空间(G)",
F.MAX_BYTES AS "最大块(M)"
FROM (
SELECT TABLESPACE_NAME,
ROUND(SUM(BYTES) / (1024
1024 1024), 6) USED_BYTES,
ROUND(MAX(BYTES) / (1024
1024 1024), 6) MAX_BYTES
FROM SYS.DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) F,
(SELECT DD.TABLESPACE_NAME,
ROUND(SUM(DD.BYTES) / (1024
1024 1024), 6) AVAILB_BYTES,
ROUND(SUM(DECODE(DD.MAXBYTES, 0, DD.BYTES, DD.MAXBYTES))/(1024
1024*1024),6) MAX_BYTES
FROM SYS.DBA_DATA_FILES DD
GROUP BY DD.TABLESPACE_NAME) D
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
ORDER BY 4 DESC;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值