查看以及修改表空间占用情况

查看表空间占用情况

Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name order by Sum(bytes)/1024/1024 desc

修改表空间大小

/*
以前从平台1中分离出来的数据库,库中许多表表数据为空,但表初始大小很大
此脚本批量更新这种表,修改表初始大小64K
1.遍历表大小大于10M的表
2.判断是否有数据
3.针对没有数据的情况,修改表初始大小为64K
*/
declare
Type cur_ref Is Ref Cursor;
rcursor cur_ref;
i integer:=0;
sTableName varchar2(200);
sTableSpace varchar2(200);
sTmpSql varchar2(4000);
begin
sTmpSql := ‘select segment_name from user_extents where segment_type = ”TABLE” group by segment_name having sum(bytes)/1024/1024 > 10 order by sum(bytes)/1024/1024 desc’;
open rcursor for sTmpSql;
loop
fetch rcursor into sTableName;
exit when rcursor%notfound;
sTmpSql := ‘select count(1) from ‘||sTableName||”;
execute immediate sTmpSql into i;
if i=0 then
sTmpSql := ‘select t.TABLESPACE_NAME from user_tables t where t.TABLE_NAME = ”’||sTableName||””;
execute immediate sTmpSql into sTableSpace ;
sTmpSql := ‘alter table ‘||sTableName||’ MOVE TABLESPACE ‘||sTableSpace||’ storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
)’;
execute immediate sTmpSql;
end if;
end loop;
end;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值