zoukankan      html  css  js  c++  java
  • Oracle数据文件收缩最新脚本

    set linesize 1000 pagesize 0 feedback off trimspool on
    with
    hwm as (
      -- get highest block id from each datafiles ( from x$ktfbue as we don't need all joins from dba_extents )
      select /*+ materialize */ ktfbuesegtsn ts#,ktfbuefno relative_fno,max(ktfbuebno+ktfbueblks-1) hwm_blocks
      from sys.x$ktfbue group by ktfbuefno,ktfbuesegtsn
    ),
    hwmts as (
      -- join ts# with tablespace_name
      select name tablespace_name,relative_fno,hwm_blocks
      from hwm join v$tablespace using(ts#)
    ),
    hwmdf as (
      -- join with datafiles, put 5M minimum for datafiles with no extents
      select file_name,nvl(hwm_blocks*(bytes/blocks),5*1024*1024) hwm_bytes,bytes,autoextensible,maxbytes
      from hwmts right join dba_data_files using(tablespace_name,relative_fno)
    )
    select
    case when autoextensible='YES' and maxbytes>=bytes
    then -- we generate resize statements only if autoextensible can grow back to current size
      '/* reclaim '||to_char(ceil((bytes-hwm_bytes)/1024/1024),999999)
       ||'M from '||to_char(ceil(bytes/1024/1024),999999)||'M */ '
       ||'alter database datafile '''||file_name||''' resize '||ceil(hwm_bytes/1024/1024)||'M;'
    else -- generate only a comment when autoextensible is off
      '/* reclaim '||to_char(ceil((bytes-hwm_bytes)/1024/1024),999999)
       ||'M from '||to_char(ceil(bytes/1024/1024),999999)
       ||'M after setting autoextensible maxsize higher than current size for file '
       || file_name||' */'
    end SQL
    from hwmdf
    where
    bytes-hwm_bytes>1024*1024 -- resize only if at least 1MB can be reclaimed
    order by bytes-hwm_bytes desc
    /
  • 相关阅读:
    异常处理
    反射4中内置函数
    property装饰器与继承
    封装
    面向对象编程
    面向对象编程
    项目开发规范
    logging模块
    22. 一个题来探查对 字符串,指针,数组三方面的关联使用方面的概念是否清晰,分析下面三个printf打印什么?
    21. 让指针数组结尾带NULL,使遍历时不依靠计算整个数组大小就可以在结尾遍历结束
  • 原文地址:https://www.cnblogs.com/hanglinux/p/15181444.html
Copyright © 2011-2022 走看看