Oracle计算datafile可以resize收缩的空间
2016-11-03 00:00
447 查看
摘要: Oracle
有时数据库服务器磁盘空间在不知不觉中已经不够用了,当数据库无法使用报错时,需要紧急恢复,再进行转移或磁盘扩容,这时可以临时释放一定磁盘空间,保障数据库正常运行
计算datafile可以resize收缩的空间.
col name for a40
col resizecmd for a80
select a.file#,a.name,a.bytes/1024/1024 CurrentMB,
ceil(HWM * a.block_size)/1024/1024 ResizeTo,
(a.bytes - HWM * a.block_size)/1024/1024 ReleaseMB,
'alter database datafile '''||a.name||''' resize '||
ceil(HWM * a.block_size/1024/1024) || 'M;' ResizeCMD
from v$datafile a,
(select file_id,max(block_id+blocks-1) HWM
from dba_extents
group by file_id) b
where a.file# = b.file_id(+)
and (a.bytes - HWM *block_size)>0
order by 5
如果只是想对某个表个间的datafile resize,可采用:
select a.file#,a.name,a.bytes/1024/1024 CurrentMB,
ceil(HWM * a.block_size)/1024/1024 ResizeTo,
(a.bytes - HWM * a.block_size)/1024/1024 ReleaseMB,
'alter database datafile '''||a.name||''' resize '||
ceil(HWM * a.block_size/1024/1024) || 'M;' ResizeCMD
from v$datafile a,
(select file_id,max(block_id+blocks-1) HWM
from dba_extents where file_id in
(select b.file# From v$tablespace a ,v$datafile b
where a.ts#=b.ts# and a.name='MP2000')
group by file_id) b
where a.file# = b.file_id(+)
and (a.bytes - HWM *block_size)>0
order by 5
计划tempfile可以resize的空间.on apply that have only one tempfile
select 'alter database tempfile '''||a.name ||''' reize '||b.siz||'M;' from v$tempfile a,
(select tmsize.maxblk*bk.value/1024/1024 siz from
(select nvl(max(segblk#),128) maxblk from v$sort_usage) tmsize,
(select value From v$parameter where name = 'db_block_size') bk) b
有时数据库服务器磁盘空间在不知不觉中已经不够用了,当数据库无法使用报错时,需要紧急恢复,再进行转移或磁盘扩容,这时可以临时释放一定磁盘空间,保障数据库正常运行
计算datafile可以resize收缩的空间.
col name for a40
col resizecmd for a80
select a.file#,a.name,a.bytes/1024/1024 CurrentMB,
ceil(HWM * a.block_size)/1024/1024 ResizeTo,
(a.bytes - HWM * a.block_size)/1024/1024 ReleaseMB,
'alter database datafile '''||a.name||''' resize '||
ceil(HWM * a.block_size/1024/1024) || 'M;' ResizeCMD
from v$datafile a,
(select file_id,max(block_id+blocks-1) HWM
from dba_extents
group by file_id) b
where a.file# = b.file_id(+)
and (a.bytes - HWM *block_size)>0
order by 5
如果只是想对某个表个间的datafile resize,可采用:
select a.file#,a.name,a.bytes/1024/1024 CurrentMB,
ceil(HWM * a.block_size)/1024/1024 ResizeTo,
(a.bytes - HWM * a.block_size)/1024/1024 ReleaseMB,
'alter database datafile '''||a.name||''' resize '||
ceil(HWM * a.block_size/1024/1024) || 'M;' ResizeCMD
from v$datafile a,
(select file_id,max(block_id+blocks-1) HWM
from dba_extents where file_id in
(select b.file# From v$tablespace a ,v$datafile b
where a.ts#=b.ts# and a.name='MP2000')
group by file_id) b
where a.file# = b.file_id(+)
and (a.bytes - HWM *block_size)>0
order by 5
计划tempfile可以resize的空间.on apply that have only one tempfile
select 'alter database tempfile '''||a.name ||''' reize '||b.siz||'M;' from v$tempfile a,
(select tmsize.maxblk*bk.value/1024/1024 siz from
(select nvl(max(segblk#),128) maxblk from v$sort_usage) tmsize,
(select value From v$parameter where name = 'db_block_size') bk) b
相关文章推荐
- 计算datafile可以resize收缩的空间.
- ORACLE 11G收缩表空间报错 ORA-03297: file contains used data beyondrequested RESIZE value
- alter database datafile resize(+释放空间)
- alter database datafile resize(+释放空间)
- Resize Oracle Datafile的脚本
- 每天两道oracle笔试题+第八天:1、简述tablespace和datafile的关系?2、什么视图用来判断表空间的剩余空间?
- oracle入库失败-单个Datafile不足的问题
- oracle datafile and tablespace
- System.Data”中不存在类型或命名空间名称“OracleClient
- Oracle 数据文件(Datafile ) 大小 限制 说明
- Oracle 数据文件(Datafile ) 大小 限制 说明
- Oracle datafile block 格式 说明
- Step by Step move datafile in Oracle
- DataTable.Compute SUM 的计算列的DataType必须是数字类型,不可以是String
- [Oracle Troubleshooting] Get Oracle Bounces When Data File Is Missing
- Oracle 数据文件(Datafile ) 大小 限制 说明
- Oracle 数据文件(Datafile ) 大小 限制 说明
- ORACLE获取表所占用空间大小计算和展示
- ORACLE 表空间收缩
- Resize datafile导致ASM Crash一例