oracle扩展表空间

针对表空间使用率的报警,首先可以查询视图dba_data_files(需要dba权限),查看表空间的详细信息。
查询语句:

select t.FILE_NAME,t.FILE_ID,t.TABLESPACE_NAME,t.BYTES,t.STATUS,t.AUTOEXTENSIBLE,t.MAXBYTES,t.INCREMENT_BY from sys.dba_data_files t;

如果AUTOEXTENSIBLE列为YES,则表示表空间是自动扩展的,最大可以扩展到MAXBYTES列限制的大小,次表空间的使用率告警可以不去处理。如果AUTOEXTENSIBLE列为NO,则需要手动扩展表空间,有两种方法:

1.增加数据文件

ALTER TABLESPACE tablespace_name ADD DATAFILE ‘file_name’ SIZE 1000M; 根据实际需要设定添加的数据文件大小,例:

ALTER TABLESPACE users ADD DATAFILE '/arp/oraarp/oradata/ams09.dbf' SIZE 1000M;

2.手动增加数据文件尺寸

ALTER DATABASE DATAFILE ‘file_name’ RESIZE 4000M; 根据实际需要resize数据文件的大小,一定要比原文件大,例:

ALTER DATABASE DATAFILE '/arp/oraarp/oradata/ams09.dbf' RESIZE 4000M;

还可以根据需要把表空间的自动扩展打开。

3.设定数据文件自动扩展

ALTER DATABASE DATAFILE ‘file_name’ AUTOEXTEND ON NEXT 100M MAXSIZE 10000M; (NEXT 100M MAXSIZE 10000M,每次增加100M,数据文件最大10000M),例:

ALTER DATABASE DATAFILE '/arp/oraarp/oradata/ams09.dbf' AUTOEXTEND ON NEXT 100M MAXSIZE 10000M;

为了消除告警,也可以手动扩展那些能自动扩展的表空间。例

ALTER TABLESPACE ams ADD DATAFILE '/arp/oraarp/oradata/ams09.dbf' SIZE 10000M AUTOEXTEND ON NEXT 100M MAXSIZE 30000M;

4.表空间使用率查询

select
a.a1 tablespace_name,
b.b2/1024/1024 tablespace_size_M,
(b.b2-a.a2)/1024/1024 used_space_M,
to_number(substr((b.b2-a.a2)/b.b2*100,1,5)) used_percent
from
(select tablespace_name a1, sum(nvl(bytes,0)) a2 from
    dba_free_space group by tablespace_name) a,
(select tablespace_name b1,sum(bytes) b2 from
    dba_data_files group by tablespace_name) b
where a.a1=b.b1
order by 4 desc;
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值