思路
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. 应用上下文webApplicationContext

    一.先说ServletContext javaee标准规定了,servlet容器需要在应用项目启动时,给应用项目初始化一个ServletContext作为公共环境容器存放公共信息.ServletCon ...

  2. 致初学者(四):HDU 2044~2050 递推专项习题解

    所谓递推,是指从已知的初始条件出发,依据某种递推关系,逐次推出所要求的各中间结果及最后结果.其中初始条件或是问题本身已经给定,或是通过对问题的分析与化简后确定.关于递推的知识可以参阅本博客中随笔“递推 ...

  3. Nightmare Ⅱ(双向BFS)

    Problem Description Last night, little erriyue had a horrible nightmare. He dreamed that he and his ...

  4. Java第二次作业第二题

    请编写图像界面程序,用户在第一文本行输入数字,有三个按钮,分别是计算2进制,8进制,16进制,点击其中一个按钮,第一个文本行中的数据转换为相应进制的数显示在第二个文本行中. package naizi ...

  5. RxSwift 中的调度器

    与 ReactiveCocoa 相比,Rx 的一大优势就是更丰富的并发模型.提到并发,就不得不提多线程.在 RxSwift 中,与线程对应的概念就是调度器,本文就调度器做些介绍,包括并发调度器.串行调 ...

  6. 用 C# 来守护 Python 进程

    背景 目前我主要负责的一个项目是一个 C/S 架构的客户端开发,前端主要是通过 WPF 相关技术来实现,后端是通过 Python 来实现,前后端的数据通信则是通过 MQ 的方式来进行处理.由于 Pyt ...

  7. Kubernetes的Deployment对象使用

    一.什么是Deployment对象 明明ReplicaSet已经可以控制pod的数量了,为什么还需要Deployment? Deploymen实际上一个两层控制器,遵循一种滚动更新的方式来实升级现有的 ...

  8. selenium退出语句区别

    selenium关闭窗口有两个方法,close与quit,我们稍作研究便知道这两个方法的区别. 1.看源码或API 这是close()的说明: Closes the current window. 关 ...

  9. java Swing 界面化查询数据库表

    两天从0基础写的.没有按钮对话框功能,只是简单的实现. 当然代码上有很多需要优化的,基本需要重写哈哈哈.但是我怕以后有需要所以还是存一下好了.<把RS结果集,放vector里面,用vector构 ...

  10. 对象实例Vue

    var vm = new Vue({ el:'#app', data:{}, //数据 methods:{}, //方法调用 filters:{}, //私有过滤器 directives:{}, // ...