oracle删除数据后表空间仍过大问题解决方法
-----亲测有效-------
--一、备份原始数据库库
--1、备份空表
--在plsql里面执行一下这句话 然后把结果集 再执行一把 再导数据
select 'alter table '||table_name||' allocate extent(size 64k);' from tabs t
where not exists (select segment_name from user_segments s where s.segment_name=t.table_name);
2、在cmd窗口(以管理员身份运行),执行如下备份数据库语句
exp userid=abc/abc@landdata222 file=D:\数据库备份\abc20170622.dmp log=D:\数据库备份\abc20170622.log
--二、降低每个表占用的大小
--在plsql命令窗口执行如下语句:
set heading off;
set echo off;
set feedback off;
set termout on;
spool C:\allocate.sql;
select 'ALTER TABLE ' || owner || '.' || table_name || ' MOVE TABLESPACE ' ||
tablespace_name || ' STORAGE(INITIAL 64K NEXT 1M);'
from dba_tables
where owner = 'abc'
and initial_extent > 1048576;
spool off;
--打开上一步的成果文件C:\allocate.sql,在plsql中执行
--由于以上过程虽然减少了表占用的大小,但是对应的索引和表空间大小没有减少,需要备份数据后重新还原即可解决问题。
三 、再次备份数据库
--1、备份空表
--在plsql里面执行一下这句话 然后把结果集 再执行一把 再导数据
select 'alter table '||table_name||' allocate extent(size 64k);' from tabs t
where not exists (select segment_name from user_segments s where s.segment_name=t.table_name);
2、在cmd窗口(以管理员身份运行),执行如下备份数据库语句
exp userid=abc/abc@landdata222 file=D:\数据库备份\abc20170622jianshao.dmp log=D:\数据库备份\abc20170622jianshao.log
四、还原第三步备份的数据库文件
1、在plsql中删掉用户abc、对应的表空间abc
a删除用户:在abc用户右键删除
b删除表空间:右键删除
2、创建新的表空间和用户
--创建表空间,用sys用户登录创建
Create tablespace abc datafile
'C:\Soft\app\lenovo\oradata\landdata222\abc.DBF'size 100m autoextend on next 100M maxsize 32000M;
(如果提示如下图,则在对应路径下先删除数据文件
)
---创建用户,权限包括dba、resource、connect
在plsql——users,右键“新建”
3、还原数据库
在cmd窗口(以管理员身份运行),执行如下还原数据库语句
imp userid=abc/abc@landdata222 file=D:\数据库备份\abc20170622jianshao.dmp fromuser=abc touser=abc log=D:\数据库备份\abc20170622huanyuan.log
四、释放表空间大小
----释放表空间大小-------
select a.file#,a.name,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.name||''' resize '|| ceil(HWM * a.block_size/1024/1024) || 'M;' ResizeCMD from v$datafile a, (select file_id,max(block_id+blocks-1) HWM
from dba_extents group by file_id) b where a.file# = b.file_id(+) and (a.bytes - HWM *block_size)>0 order by 5
--上述查询语句最后一个字段的内容复制出来执行一次
oracle删除数据后表空间仍过大问题解决方法的更多相关文章
- Mysql删除数据后磁盘空间未释放的解决办法【转】
转自 Mysql删除数据后,磁盘空间未释放的解决办法 - 今日头条(TouTiao.com)http://toutiao.com/a6303087712678412546/?tt_from=mobil ...
- mongoDB 删除集合后,空间不释放的解决方法
mongoDB 删除集合后,空间不释放,添加新集合,没有重新利用之前删除集合所空出来的空间,也就是数据库大小只增不减. 方法有: 1.导出导入 dump & restore 2.修复数据库 r ...
- Oracle 删除数据后释放数据文件所占磁盘空间
测试的时候向数据库中插入了大量的数据,测试完成后删除了测试用户以及其全部数据,但是数据文件却没有缩小.经查阅资料之后发现这是 Oracle “高水位”所致,那么怎么把这些数据文件的大小降下来呢?解决办 ...
- mysql优化, 删除数据后物理空间未释放(转载)
mysql优化, 删除数据后物理空间未释放(转载) OPTIMIZE TABLE 当您的库中删除了大量的数据后,您可能会发现数据文件尺寸并没有减小.这是因为删除操作后在数据文件中留下碎片所致.OPTI ...
- 关于mysql 删除数据后物理空间未释放(转载)
转自 关于mysql 删除数据后物理空间未释放(转载) - NETDATA - 博客园http://www.cnblogs.com/shawnloong/archive/2013/02/07/2908 ...
- MySQL删除数据后磁盘空间的释放情况【转】
OPTIMIZE TABLE 当您的库中删除了大量的数据后,您可能会发现数据文件尺寸并没有减小.这是因为删除操作后在数据文件中留下碎片所致.OPTIMIZE TABLE 是指对表进行优化.如果已经删除 ...
- oracle删除用户及其表空间
oracle删除用户及其表空间 删除表空间:可以先将其offlinealter tablespace xx offline;将磁盘上的数据文件一同删除drop tablespace xxx inclu ...
- mysql 正确清理binlog 删除数据后磁盘空间的
(3条消息)MySQL删除数据后磁盘空间的释放情况 - ZERO - CSDN博客 https://blog.csdn.net/zero__007/article/details/51404091 m ...
- Oracle system表空间满的暂定解决方法
Oracle system表空间满的暂定解决方法 数据库用的是Oracle Express 10.2版本的.利用Oracle Text做全文检索应用,创建用户yxl时没有初始化默认表空间,在系统开发过 ...
随机推荐
- TPshop分销功能的使用与表设计
首先来段科普,摘自百度百科: 在西方经济学中,分销 的含义是建立销售渠道的意思,根据著名的营销大师菲利普·科特勒的定义,分销渠道(Distribution Channel)又或者叫营销渠道(Marke ...
- Python之collections序列迭代器下标式循环冒泡算法等
练习题 元素分类 有如下值集合[11,22,33,44,55,66,77,88,99]将所有大于66的数作为一个列表放在字典的key为k1的value小于等于66的为k2的value {'k1':[7 ...
- [笔记]机器学习(Machine Learning) - 01.线性回归(Linear Regression)
线性回归属于回归问题.对于回归问题,解决流程为: 给定数据集中每个样本及其正确答案,选择一个模型函数h(hypothesis,假设),并为h找到适应数据的(未必是全局)最优解,即找出最优解下的h的参数 ...
- Android N多窗口支持
Android N 可以同时显示多个应用窗口. 在手机上,两个应用可以在"分屏"模式中左右并排或上下并排显示.例如,用户可以 在上面窗口聊QQ,下面窗口发送短信. 如图所示,两个a ...
- PyCharm的小技巧
PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如:代码跳转.智能提示.自动完成.单元测试.版本控制.此外,该IDE提供了一些高级功能, ...
- 如何搭建易企秀H5平台?
导读 易企秀如何开启伪静态支持? 一秀如何开启伪静态? 下载易企秀源码 oschina: http://git.oschina.net/jsper/html5Editor Windows下搭建环境 安 ...
- Linux Academy Learn Notes
Linux Essentials Certification Globbing ls ?.txt --- ? stands for one character while * means one or ...
- iOS开发常用第三方开源框架 持续更新中...
键盘管理 TPKeyboardAvoiding IQKeyboardManager(1.2.8) 弹窗HUD MBProgressHUD(0.9.2) SVProgressHUD UIView+Toa ...
- slideToggle+slideup实现手机端折叠菜单效果
折叠菜单的效果,网上有很多的插件,比如bootstrap的 Collapse ,很好用也很简单,但是如果你使用的不是bootstrap框架,就会造成很多不必要的麻烦,比如默认样式被修改,代码冗余等等, ...
- 对clear float 的理解
之前自己对于清除浮动的用法比较模糊 ,如果用到的话,一般都是采用简单粗暴的方式解决,就是直接用overflow:hidden,但是越用久就会发现其实有BUG,这个BUG正是overflow:hidde ...