思路
1.首先移动子分区到别的表空间。
2.收缩数据文件。
3.再把子分区移回原表空间。

---------------------------------------------生成发送报告移动子分区语句---------------------------------------------

select 'alter table '||TABLE_NAME||' move subpartition '||SUBPARTITION_NAME||' tablespace SMART_NRRPSTA01;' from dba_tab_subpartitions
where table_name = 'S_T_RTNRP_STATUS'
AND PARTITION_NAME LIKE 'ST_RRPS_12%'
ORDER BY SUBPARTITION_NAME

select 'alter table '||TABLE_NAME||' move subpartition '||SUBPARTITION_NAME||' tablespace SMART_NSNRP01;' from dba_tab_subpartitions
where table_name = 'S_T_SEND_REPORT'
AND PARTITION_NAME LIKE 'ST_SNDRP_12%'
ORDER BY SUBPARTITION_NAME

--------------------------------------------生成返回报告移动子分区语句---------------------------------------------

select 'alter table '||TABLE_NAME||' move subpartition '||SUBPARTITION_NAME||' tablespace SMART;' from dba_tab_subpartitions
where table_name = 'S_T_RTNRP_STATUS'
AND PARTITION_NAME LIKE 'ST_RRPS_01%'
ORDER BY SUBPARTITION_NAME

select 'alter table '||TABLE_NAME||' move subpartition '||SUBPARTITION_NAME||' tablespace SMART_NRRPSTA01;' from dba_tab_subpartitions
where table_name = 'S_T_RTNRP_STATUS'
AND PARTITION_NAME LIKE 'ST_RRPS_01%'
ORDER BY SUBPARTITION_NAME

--------------------------------查看数据文件号---------------------------------------

select TABLESPACE_NAME,FILE_ID,FILE_NAME FROM DBA_DATA_FILES
WHERE TABLESPACE_NAME = 'SMART_NSNRP01'

select TABLESPACE_NAME,FILE_ID,FILE_NAME FROM DBA_DATA_FILES
WHERE TABLESPACE_NAME = 'SMART_NRRPSTA01'

--------------------------------查看数据块最大id值---------------------------------

show parameter db_block_size 查看db_block_size的值

select TABLESPACE_NAME,file_id,max(block_id),max(block_id)*16/1024 from dba_extents where file_id in(99,100,101)
group by TABLESPACE_NAME,file_id

--------------------------------回收发送报告数据文件空间----------------------------------------
ALTER DATABASE DATAFILE '+DATA/db75/datafile/smart_nsnrp02_01.dbf' RESIZE 2000M;
ALTER DATABASE DATAFILE '+DATA/db75/datafile/smart_nsnrp02_02.dbf' RESIZE 2000M;
ALTER DATABASE DATAFILE '+DATA/db75/datafile/smart_nsnrp02_03.dbf' RESIZE 2000M;
ALTER DATABASE DATAFILE '+DATA/db75/datafile/smart_nsnrp02_04.dbf' RESIZE 2000M;
ALTER DATABASE DATAFILE '+DATA/db75/datafile/smart_nsnrp02_05.dbf' RESIZE 2000M;
ALTER DATABASE DATAFILE '+DATA/db75/datafile/smart_nsnrp02_06.dbf' RESIZE 2000M;
ALTER DATABASE DATAFILE '+DATA/db75/datafile/smart_nsnrp02_07.dbf' RESIZE 2000M;

--------------------------------回收返回报告数据文件空间----------------------------------------
ALTER DATABASE DATAFILE '+DATA/oracledata3/returnreport/smart_nrrpsta02_01.dbf' RESIZE 2000M;
ALTER DATABASE DATAFILE '+DATA/oracledata3/returnreport/smart_nrrpsta02_02.dbf' RESIZE 2000M;
ALTER DATABASE DATAFILE '+DATA/oracledata3/returnreport/smart_nrrpsta02_03.dbf' RESIZE 2000M;
ALTER DATABASE DATAFILE '+DATA/oracledata3/returnreport/smart_nrrpsta02_04.dbf' RESIZE 2000M;

--------------------------------查看磁盘组空间使用情况命令--------------------------------------
grid用户执行

sqlplus / as sysasm

select group_number,name,total_mb,free_mb from v$asm_diskgroup;

select 'alter table '||TABLE_NAME||' drop partition '||PARTITION_NAME||';' from dba_tab_partitions
where table_name = 'S_OPERATELOG'
AND PARTITION_NAME LIKE 'OPLOG_1701%'
ORDER BY PARTITION_NAME

select 'alter table '||TABLE_NAME||' drop partition '||PARTITION_NAME||'tablespace SMART;' from dba_tab_partitions
where table_name = 'S_SENDBACKUPQUEUE'
AND PARTITION_NAME LIKE 'SENDBAK_1701%'
ORDER BY PARTITION_NAME

------------------------------------------------扣费日志------------------------------------
alter database datafile '+DATA/oracledata1/smart_oplog01_01.dbf' resize 1024M;
alter database datafile '+DATA/oracledata1/smart_oplog01_02.dbf' resize 1024M;
alter database datafile '+DATA/oracledata1/smart_oplog01_03.dbf' resize 1024M;
alter database datafile '+DATA/oracledata1/smart_oplog01_04.dbf' resize 1024M;
alter database datafile '+DATA/oracledata1/smart_oplog01_05.dbf' resize 1024M;
alter database datafile '+DATA/oracledata1/smart_oplog01_06.dbf' resize 1024M;
alter database datafile '+DATA/oracledata1/smart_oplog01_07.dbf' resize 1024M;
alter database datafile '+DATA/oracledata1/smart_oplog01_08.dbf' resize 1024M;

-----------------------------------------------发送记录-------------------------------------
alter database datafile '+DATA/oracledata1/smart_osendbak1_01.dbf' resize 1024M;
alter database datafile '+DATA/oracledata1/smart_osendbak1_02.dbf' resize 1024M;
alter database datafile '+DATA/oracledata1/smart_osendbak1_03.dbf' resize 1024M;
alter database datafile '+DATA/oracledata1/smart_osendbak1_04.dbf' resize 1024M;
alter database datafile '+DATA/oracledata1/smart_osendbak1_05.dbf' resize 1024M;
alter database datafile '+DATA/oracledata1/smart_osendbak1_06.dbf' resize 1024M;

oracle 分区表(子分区)收缩笔记的更多相关文章

  1. 【三思笔记】 全面学习Oracle分区表及分区索引

    [三思笔记]全面学习Oracle分区表及分区索引 2008-04-15 关于分区表和分区索引(About PartitionedTables and Indexes) 对于 10gR2 而言,基本上可 ...

  2. 深入学习Oracle分区表及分区索引

    关于分区表和分区索引(About Partitioned Tables and Indexes)对于10gR2而言,基本上可以分成几类: •       Range(范围)分区 •       Has ...

  3. oracle 分区表和分区索引

    很复杂的样子,自己都没有看完,以备后用 http://hi.baidu.com/jsshm/item/cbfed8491d3863ee1e19bc3e ORACLE分区表.分区索引ORACLE对于分区 ...

  4. ORACLE分区表、分区索引详解

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt160 ORACLE分区表.分区索引ORACLE对于分区表方式其实就是将表分段 ...

  5. Oracle分区表管理的一些笔记

    [转自] http://www.linuxidc.com/Linux/2011-07/38381.htm Oracle分区表的管理笔记(仅限于对普通表,即堆表的分区管理,IOT跟CLUSTER TAB ...

  6. 转:深入学习Oracle分区表及分区索引

    转自:http://database.ctocio.com.cn/tips/286/8104286.shtml 关于分区表和分区索引(About Partitioned Tables and Inde ...

  7. 简单ORACLE分区表、分区索引

    前一段听说CSDN.COM里面很多好东西,同事建议看看合适自己也可以写一写,呵呵,今天第一次开通博客,随便写点东西,就以第一印象分区表简单写第一个吧. ORACLE对于分区表方式其实就是将表分段存储, ...

  8. Oracle 分区表-Range分区

    原文:http://www.tuicool.com/articles/MzeM7r 一.什么是分区表 Oracle提供了分区技术以支持VLDB(Very Large DataBase).分区表通过对分 ...

  9. Oracle分区表之分区范围扫描(PARTITION RANGE ITERATOR)与位图范围扫描(BITMAP INDEX RANGE SCAN)

    一.前言: 一开始分区表和位图索引怎么会挂钩呢?可能现实就是这么的不期而遇:比如说一张表的字段是年月日—‘yyyy-mm-dd’,重复率高吧,适合建位图索引吧,而且这张表数据量也不小,也适合转换成分区 ...

随机推荐

  1. Mysql两种引擎

    Innodb引擎 Innodb引擎提供了对数据库ACID事务的支持,并且实现了SQL标准的四种隔离级别.该引擎还提供了行级锁和外键约束,它的设计目标是处理大容量数据库系统,它本身其实就是基于MySQL ...

  2. 使用 Envoy 和 AdGuard Home 阻挡烦人的广告

    原文链接:使用 Envoy 和 AdGuard Home 阻挡烦人的广告 通常我们使用网络时,宽带运营商会为我们分配一个 DNS 服务器.这个 DNS 通常是最快的,距离最近的服务器,但会有很多问题, ...

  3. PTA A1009&A1010

    第五天 A1009 Product of Polynomials (25 分) 题目内容 This time, you are supposed to find A×B where A and B a ...

  4. hibernate集成ehcahe进行缓存管理

    ehcace是现在非常流行的缓存框架,有轻量.灵活.可扩展.支持集群/分布式等优点. 在项目中,使用ehcace可以对数据进行缓存(一般使用.基于注解.基于aop),使用filter可以对页面进行缓存 ...

  5. HTML5实现首页动态视频背景

    话不多说,先看效果图: ​​​ 炫酷吗?你想实现这种动态视频作为背景的首页吗?来,一起来学习,本文将带你一起实现H5动态视频背景: 首先网上找一段清晰的视频下载下来,最好是MP4格式的: 下载好了之后 ...

  6. java工具方法

    仅记录所遇到并使用的工具方法. 1.md5加密 /** * 对传入的字符串数据进行MD5加密 * @param source 字符串数据 * @param code 字符编码 * @return 加密 ...

  7. Django REST Framework序列化器

    Django序列化和json模块的序列化 从数据库中取出数据后,虽然不能直接将queryset和model对象以及datetime类型序列化,但都可以将其转化成可以序列化的类型,再序列化. 功能需求都 ...

  8. .NET之Hangfire快速入门和使用

    前言: 定时任务调度问题,是一个老生常谈的问题.网上有许多定时任务调度的解决方案,对于我而言很早以前主要是使用Window计划和Window服务来做任务定时执行,然后就开始使用定时任务调度框架Quar ...

  9. Entity Framework Core生成的存储过程在MySQL中需要进行处理及PMC中的常用命令

    在使用Entity Framework Core生成MySQL数据库脚本,对于生成的存储过程,在执行的过程中出现错误,需要在存储过程前面添加 delimiter // 附:可以使用Visual Stu ...

  10. 23种设计模式之原型模式(Prototype Pattern)

    原型模式 使用原型实例指定待创建对象的类型,并且通过复制这个原型来创建新的对象 分析: 孙悟空:根据自己的形状复制(克隆)出多个身外身 软件开发:通过复制一个原型对象得到多个与原型对象一模一样的新对象 ...