• 数据文件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;
  • 相关阅读:
    XSS 跨站脚本攻击之构造剖析(一)
    PHP 一个表单多个提交按钮,处理不同的业务逻辑
    Ajax 学习之动态获取,返回服务器的值
    Ajax 学习之获取服务器的值
    Ajax 学习之创建XMLHttpRequest对象------Ajax的核心
    H5开发之Eclipes 编码乱码问题
    PHP 表单提交多行数据,显示多个submit
    PHP 输出表格单元格的数据之用表单的方式;
    PHP 读取逐条数据库记录,以及提交下拉菜单选项
    mysql多个TimeStamp设置(转)
  • 原文地址:https://www.cnblogs.com/lvcha001/p/10555995.html
Copyright © 2020-2023  润新知