暂无图片
截库后保留部分数据后怎么缩表空间大小,释放服务器磁盘空间
我来答
分享
黑色VF
2021-09-26
截库后保留部分数据后怎么缩表空间大小,释放服务器磁盘空间

截库后保留部分数据后怎么缩表空间大小,释放服务器磁盘空间

我来答
添加附件
收藏
分享
问题补充
3条回答
默认
最新
Murkey

1 查看表空间使用情况
select a.tablespace_name,a.bytes/1024/1024 “Sum MB”,(a.bytes-b.bytes)/1024/1024 “used MB”,b.bytes/1024/1024 “free MB”,
round(((a.bytes-b.bytes)/a.bytes)*100,2) “percent_used”
from
(select tablespace_name,sum(bytes) bytes from dba_data_files group by tablespace_name) a,
(select tablespace_name,sum(bytes) bytes,max(bytes) largest from dba_free_space group by tablespace_name) b
where a.tablespace_name=b.tablespace_name
order by ((a.bytes-b.bytes)/a.bytes) desc

2 查看可回收datafile
select ‘alter database datafile ‘’’||a.file_name||’’’ resize ’ ||round(a.filesize - (a.filesize - c.hwmsize-100) *0.8)||‘M;’,
a.filesize,c.hwmsize
from ( select file_id,file_name,round(bytes/1024/1024) filesize from dba_data_files ) a,
( select file_id,round(max(block_id)*8/1024) HWMsize from dba_extents group by file_id) c
where a.file_id = c.file_id and a.filesize - c.hwmsize > 100

-查询DBF文件、数据库空间、高水位线占用情况
select /*+ ordered use_hash(a,b,c) */
a.file_id,
a.file_name,
a.tablespace_name,
a.filesize,
b.freesize,
(a.filesize - b.freesize) usedsize,–使用空间
c.hwmsize,
c.hwmsize - (a.filesize - b.freesize) unsedsize_belowhwm,–未使用空间
a.filesize - c.hwmsize canshrinksize–文件大小
from (select tablespace_name,file_id, file_name, round(bytes / 1024 / 1024) filesize
from dba_data_files) a,
(select file_id, round(sum(dfs.bytes) / 1024 / 1024) freesize
from dba_free_space dfs
group by file_id) b,
(select file_id, round(max(block_id) * 8 / 1024) HWMsize–高水位线
from dba_extents
group by file_id) c
where a.file_id = b.file_id
and a.file_id = c.file_id
order by unsedsize_belowhwm desc

TRUNCATE后可释放表数据库空间,表默认把TRUNCATE数据前的空间大小作为初始空间大小,表的高水位线不会降低,需要Shring收缩表的大小后方可降低表的水位线

暂无图片 评论
暂无图片 有用 1
打赏 0
暂无图片
Uncopyrightable

简单点就是重新导出导入;
复杂点就是在线表移动,索引删除重建等操作

暂无图片 评论
暂无图片 有用 1
打赏 0
黑色VF

谢谢大家

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
Oracle 静默安装的日志是存放在哪里?
回答 1
已采纳
../oracle/oraInventory/logs/
根分区满了,为什么我删除了/ROOT/目录下的文件,磁盘空间为什么没有释放?
回答 2
执行以下命令reboot重启后将释放。
数据库缓慢
回答 7
L1validation是空间管理方面的等待,ASSM管理中,空间管理位图块有3个级别:L1,L2,L3,这个等待事件在HW扩展时可能出现,事实上这是一个新特性引入的BUG。具体BUG号我没有去查证,
物化视图可以定时刷新吗?
回答 1
你可以在以下篇文章中查看有关创建物化视图时指定刷新参数的各个细粒度解释,这应该可以解答你的问题,链接见下:https://docs.oracle.com/cd/E1188201/server.112/
Oracle中视图和数据表的区别以及关系是什么?
回答 1
已采纳
1、视图和数据表的区别:1)视图是已经编译好的SQL语句,是基于SQL语句的结果集的可视化的数据表;2)视图没有实际的物理记录,而数据表有;3)数据表是内容,视图是窗口;4)数据表占用物理空间,而视图
update更新问题
回答 5
单节点数据库,数据库版本是11.2.0.4版本的,没有办法使用18c这个新特性;
oracle 同平台、同数据库版本 60T数据量 用什么方式迁移比较好 4个小时停机时间
回答 4
adg吧,
关于oracle表空间在线碎片整理
回答 4
已采纳
oracle10g开始提供shrink的命令,要求表空间是自动段空间管理(ASSM),降低HWM。segmentshrink分为两个阶段:1、数据重组(compact):通过一系列insert、del
怎么让oracle实现连续登陆失败5次,锁定账号5分钟
回答 5
最粗暴的做法,每分钟清空一次登录失败次数,当然我们假设用户不会在这个时间节点前后执行操作,就算刚好碰上了,也不过是1分钟变2分钟而已。
一个服务器安装了多个数据库,有没有一个脚本统一startup或shutdown?
回答 2
加载数据库的变量,然后进去启动或者关闭。依次写吧