数据文件resize回收空间

场景说明:

客户 ASM磁盘组,data磁盘组空闲空间90G,空间不足,因此强烈建议回收空间

空间回收方案:

1.数据文件resize,回收部分可用性空间(好处就是能够将ASM磁盘组free大小增加);

2.大的无用对象清理,释放空闲空间(好处就是释放空间所在的表空间,新增数据能够使用删除的大对象原空间,而无需对表空间进行扩容);

1.回收数据文件,对数据文件进行resize

SQL>select a.file#,a.name,c.tablespace_name,round(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.FILE#||‘ resize ‘||round(ceil(HWM*a.block_size)/1024/1024+5)||‘ M;‘ ResizeCmd
 from v$datafile a,(SELECT file_id,MAX(block_id+blocks-1) HWM FROM DBA_EXTENTS GROUP BY file_id) b,dba_data_files c where a.file#=b.file_id(+)
 And (a.bytes-HWM*a.block_size)>0 and a.FILE#=c.file_id and c.tablespace_name not in(‘SYSTEM‘,‘SYSAUX‘) and c.tablespace_name not like‘%UNDO%‘ order by 6 desc;

SQL> select group_number,name,total_mb/1024 TOTAL_GB,free_mb/1024 FREE_GB,free_mb/total_mb*100 free_percent,state,TYPE,(case when free_mb/total_mb*100 < 15 then ‘*‘ else ‘‘ end ) care from v$ASM_DISKGROUP;

SQL思路,查询每个数据文件中max_block_id *表空间的block_size,进行计算+5m(保守),是数据文件最大的大小,进行resize回收,排除undo,system,sysaux,temp表空间

2.大的无用对象清理,释放空闲空间(好处就是释放空间所在的表空间,新增数据能够使用删除的大对象原空间,而无需对表空间进行扩容);

查询数据库中大于2G的对象并列举出来, or ,将数据库中指定的users表空间,top 50对象列举出来
SQL> select * from (select owner,segment_name,segment_type,tablespace_name,round(sum(bytes)/1024/1024/1024,2) "Gbytes" 

from dba_segments where bytes>1024*1024*50 group by owner,segment_name,segment_type,tablespace_name) C1 where C1."Gbytes">2;

or 
SQL> select rownum,C1.* from (select owner,segment_name,segment_type,tablespace_name,round(sum(bytes)/1024/1024/1024,2) "Gbytes" from dba_segments where bytes>1024*1024*50 and tablespace_name=‘USERS‘ group by owner,segment_name,segment_type,tablespace_name order by 4,5) C1 where rownum<50;

原文地址:https://www.cnblogs.com/lvcha001/p/10555995.html

时间: 2024-11-01 16:32:43

数据文件resize回收空间的相关文章

数据文件和表空间

数据文件和表空间查看表空间的分类:create tablespace idmdata_data datafile '/u01/app/oradata/BIDB/idmdata_data01.dbf' size 5G autoextend on next 50M maxsize unlimited; select tablespace_name,contents from dba_tablespaces order by 2;PERMANENT:保存永久对象TEMPORARY:保存临时表的数据和排

Oracle 数据库 数据文件 表 表空间 用户的关系

这涉及到数据库的物理结构和逻辑结构. 首先,你需要明白的一点是:数据库的物理结构是由数据库的操作系统文件所决定,每一个Oracle数据库是由三种类型的文件组成:数据文件.日志文件和控制文件.数据库的文件为数据库信息提供真正的物理存储. 每一个Oracle数据库有一个或多个物理的数据文件(data file).一个数据库的数据文件包含全部数据库数据.逻辑数据库结构(如表.索引等)的数据物理地存储在数据库的数据文件中.数据文件通常为*.dbf格式,例如:userCIMS.dbf.数据文件有下列特征:

数据文件resize

表空间不足 Alert日志报错 Mon Dec 31 10:06:44 GMT+08:00 2018 Incremental checkpoint up to RBA[ox1af2d.3ddll.0], current log tail at RBA[oxlaf2d.456c6.0] Mon Dec 31 10:07:11 GMT+08:00 2018 ORA-1653 :unable to extend table TRFF_APPXXXX by 128 in tablespace TS_FR

模拟主库创建数据文件,dg备库空间不足时问题处理

本篇文档测试目的: 模拟实际环境中,主库对表空间添加数据文件,备库空间不足,最终导致MRP进程自动断开,处理方式. 1.问题环境模拟 1)正常情况下的dg 主库创建数据文件,备库接受日志,自动创建表空间及数据文件. RFS[49]: Selected log 4 for thread 1 sequence 115 dbid 699220720 branch 994543603 Fri Feb 22 23:20:36 2019 Media Recovery Log /u01/app/oracle/

Oracle移除表空间的数据文件 ora-00604 ora-01426

 项目背景:在之前开发环境数据库管理比較乱,在表空间不足时仅仅是加入数据文件,測试完后数据己删除,但数据库表空间所占的空间不能回收,导致数据库的存储文件夹使用率达到97%以上实际使用仅仅有10%,迫切须要将不用空间进行回收. 技术背景:Oracle不提供如删除表.视图一样删除数据文件的方法.数据文件是表空间的一部分,所以不能"移走"表空间.Oracle 10G R2開始,能够採用:Alter tablespace tablespace_name drop datafile file

管理表空间和数据文件&lt;六&gt;

数据库管理 -- 管理表空间和数据文件 ? 介绍 表空间是数据库的逻辑组成部分.从物理上讲,数据库数据存放在数据文件中:从逻辑上讲,数据库则是存放在表空间中,表 空间由一个或多个数据文件组成. 数据库的逻辑结构 ? 介绍 oracle 中逻辑结构包括表空间.段.区和块. 说明一下数据库由表空间构成,而表空间又是由段构成,而段又是由区构成,而区又是由 oracle 块构成的这样的一种结构,可 以提高数据库的效率. 为了让大家明白,我们画图说明逻辑关系:看图: 表空间 ? 介绍 表空间用于从逻辑上组

RMAN数据库恢复之恢复表空间和数据文件

执行表空间或数据文件恢复时,数据库既可以是MOUNT状态,也可以是OPEN状态.1.恢复表空间在执行恢复之前,如果被操作的表空间未处理OFFLINE状态,必须首先通过ALTER TABLESPACE…OFFLINE语句将其置为脱机.然后再RESTORE-->RECOVER--->ONLINE即可. RMAN> SQL 'ALTER TABLESPACE USERS OFFLINE IMMEDIATE'; 在恢复目录中注册的数据库的新原型 正在启动全部恢复目录的 resync 完成全部 r

20_Oracle_Admin_移动表空间的数据文件以及删除表空间

一.使用ALTER TABLESPACE来移动数据文件 移动数据文件在调整表空间大小时有可能会用到,使用的是ALTERTABLESPACE命令.但是要注意的是,在进行此项操作之前,首先应将tablespace 设为offline,第二,需要确定目标数据文件是存在的. ======查询当前表空间信息======= SQL> select file_name, tablespace_name,bytes from dba_data_files; FILE_NAME                  

ORACLE RMAN备份及还原 RMAN可以进行增量备份:数据库,表空间,数据文件

ORACLE RMAN备份及还原 RMAN可以进行增量备份:数据库,表空间,数据文件 只有使用过的block可以被备份成backup set 表空间与数据文件对应关系:dba_data_files / v$datafile_header 在noarchivelog模式下,可以使用RMAN备份read-only和offline的表空间 ORACLE RMAN停机备份: 备份 RMAN连接上ORACLE,WINDOWS下在命令模式下 RMAN TARGET / 连接本地数据库用的是本地认证模式.RM