oracle分区表彻底删除的办法_第1页
oracle分区表彻底删除的办法_第2页
oracle分区表彻底删除的办法_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、oracle 分区表彻底删除的办法当对一个不再使用的分区表进行dropi查询uer_tab_partitions图发现出现如下不规则的 分区表表名SQL select distinct table_name from user_tab_partitions, BIN$l+Pv5lljCMXgQKjAyQFA0A=$O 这样很容易导致自己写的自动增加表的分区的存过发生错误,因此为了避免再修改存过只 能把这些不规则的表名删除才行.现提供如下方法彻底删除这些不规则的表名其实当我们执行drop table tablename的时候,不是直接把表删除掉,而是放在了回收站里,可以 通过查询百seNecyc

2、lfbin查看被删除的表信息.这样,回收站里的表信息就可以被恢复或彻 底清除。_recyclebin获取被删除的表信息,如果想恢复被drop掉的表,_recyclebin获取被删除的表信息,如果想恢复被drop掉的表,可以使用flashback table vuser_recyclebin.object_name or user_recyclebin.original_name to before dro, 上面的语句是将回收站里的表恢复为原表名不flashback table vuser_recyclebin.object_name or user_recyclebin.original_n

3、ame to before dro, rename to vnew_table_name* 将回收站里的表恢复为指定的新表名称,表中数据不会丢失。若要彻底删除表使用语句:drogabistabls_ssmsujgs;这样后的表就不被放入 如果是清除回收站中指定的表,可以使用语句purge table vtable_name| 如果是清除当前用户回收站所有的表,可以使用语句purgerecyclebinH 如果是清除所有用户的回收站:purge dba_recyclebin;HHIH 到此,按上面的方法清除业站的数据后再查询uer_tsbaPsrtitisns视图发现不规则表名已sql sele

4、ct distincttabie_namfL2mser_tabHpartiti2nsno rows selected!在此顺便再提一下truncate操作后不释放空间的解决办扌舞Truncate不支持回滚且不一个带有外键的表果要删除首先要取消外键 然后再删除。truncate table后,有可能表空间仍没有释放,可以使下语句alter table 表名称 deallocate UNUSED KEEP注意如果不KEEPii的话空间是不会释放的alter tablggblessmsdsllfiStsNUSEDEEPITRUNCATE TABLE tablename DROP STORAGE 才能

5、释放表空间。 例如:truncate table tablename DROP STORAGE*査看各表空间空置率:selecta.tablespace_name,a.free_space,b.total_space, a.free_space/b.total_spacefree_ratiofrom(selecttablespace_name,sum(bytes)/1024/1024free_spacefromdba_free_spacegroupby tablespace_name) a,(selecttablespace_name,sum(bytes)/1024/1024total_spa

6、cefromdba_data_fi lesgroupbytablespace_name) bwherea.tablespace_name=b.tablespace_name orderbyfree_ratiodesc査看表占用空间的大小:selectsegment_name,sum(bytes)/1024/1024fromUser_Extentsgroupbysegment name;査看带分区的表:select distinct table_name from user_tab_partitions査看分区表空间大小:一 一selectsegment_name, sum(bytes) / 1

7、024 / 1024fromUser_Extentswheresegment_namein (selectdistincttable_name fromuser_tab_partitions) groupbysegment_name;査看某个表的分区:selectt.partition_namefromuser_tab_partitions twheret.table_name = ODW_SDP_DPAMT_NPorderbyt.partition_name批量删除分区表:declarev_datedate;v_part_namevarchar(50);beginv_date :=date2

8、015-01-30;whilev_date=date2013-06-03LOOPv_part_name :=P| to_char(v_date,yyyymmdd);dbms_output.put_line(v_part_name);executeimmediateALTER TABLE ODW_SDP_DPAMT_NP DROP PARTITION |v_part_name;v_date :=v_date -1;ENDLOOP;END;删除一个分区: altertable ODW_LOAN_AR_SMY droppartition P20130630删除一个分区的数据: altertable

9、ODW_LOAN_AR_SMY truncatepartitionP20130630 释放表空间alter table 表名称 deallocate UNUSED KEEP 0释放磁盘空间:ceil(HWM(selectselect a.file#,,a.bytes/1024/1024 CurrentMB,ceil(HWM(select(a.bytes - HWMalter databaseceil(HWMa.block_size)/1024/1024 ResizeTo, a.block_size)/1024/1024 ReleaseMB, datafile|| res

10、ize (a.bytes - HWMalter databaseceil(HWMgroupHWMfile_id,max(block_id+blocks-1) HWM from dba_extents by file_id) b where a.file# = b.file_id(+) and (a.bytes *block_size)0 order by groupHWM1、select distinct table_name from user_tab_partitions2、清除回收站中指定的表purge table vtable_name;3、清除当前用户回收站所有的表purge recyclebin4、清除所有用户的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论