当前位置: 首页 > news >正文

oracle 表空间超过最大限度,清理数据释放内存

目录

一、扩容:参考 https://blog.csdn.net/weixin_40841731/article/details/134931289

二、清理数据

1、查询文件大小情况(管理员账号)

2、查询表的大小(使用该表空间的用户)

3、清理数据(使用该表空间的用户)


报错:

1、0RA-01653:表aaa.xxx无法通过1024(在表空间aaa中)扩展

2、ORA-01144:文件大小(4352000块)超出4194303块的最大数

处理方式:

一、扩容:参考 https://blog.csdn.net/weixin_40841731/article/details/134931289

二、清理数据

1、查询文件大小情况(管理员账号)

select dbf.tablespace_name,
dbf.totalspace "总量(M)",
dbf.totalblocks as 总块数,
dfs.freespace "剩余总量(M)",
dfs.freeblocks "剩余块数",
(dfs.freespace / dbf.totalspace) * 100 "空闲比例"
from (select t.tablespace_name,
sum(t.bytes) / 1024 / 1024 totalspace,
sum(t.blocks) totalblocks
from dba_data_files t
group by t.tablespace_name) dbf,
(select tt.tablespace_name,
sum(tt.bytes) / 1024 / 1024 freespace,
sum(tt.blocks) freeblocks
from dba_free_space tt
group by tt.tablespace_name) dfs
where trim(dbf.tablespace_name) = trim(dfs.tablespace_name) and dfs.tablespace_name='aaa'

2、查询表的大小(使用该表空间的用户)

select segment_name, bytes  / 1024 / 1024
from user_segments 
where segment_type = 'TABLE' order by bytes desc; 

3、清理数据(使用该表空间的用户)

a.重建表
创建一个新表,将旧表的数据插入到新表中,再删除旧表,这种方法可以彻底释放空间,但如果表空间不足以创建新表再插入数据时,这种方法是不可行的。

CREATE TABLE new_table AS SELECT * FROM your_table WHERE 1=0;
INSERT INTO new_table SELECT * FROM your_table;
DROP TABLE your_table;
ALTER TABLE new_table RENAME TO your_table;

b.使用TRUNCATE命令
如果你只是想删除表中的所有数据而不是结构本身,可以使用TRUNCATE命令。这将会删除表中的所有数据,并且会释放占用的空间:

TRUNCATE TABLE your_table;

c、删除表数据

Oracle数据库使用了一种可称为“可变长记录”的存储结构,这意味着即使删了表数据,原来的空间也仍然被保留以供将来可能相同记录的大小使用。这种方式是为了提高数据库操作的效率,避免频繁的释放存储空间。

通过shrink space收缩表,释放空间

--删除数据 
delete from table_aa  where ab='xx';--打开行移动
alter table table_aa enable row movement;
--下调HWM
alter table table_aa shrink space;
--关闭行移动
alter table table_aa disable row movement;

相关文章:

  • Pycharm常用命令
  • js实现输入高亮@和#后面的内容
  • 第六章网络互联设备
  • 「Java EE开发指南」如何用MyEclipse创建一个WEB项目?(一)
  • 在服务器上使用 Docker 部署 Node.js 后端服务和前端项目
  • VScode使用npm启动项目以及npm install ,npm start报错问题处理
  • java使用aspose读取word里的图片
  • Word 文件转md文件 在 Word 中没有直接将文档另存为 Markdown(.md)格式的选项,但你可以使用一些工具或手动转换来实现
  • npm ERR! @biomejs/biome@1.9.4 postinstall: `node scripts/postinstall.js`
  • 解决npm install 一直卡着不动,npm install --verbose
  • Spring Cloud Gateway 动态路由实现方案
  • 怎样解决在ubuntu 22.04上QT: DataVisualization控件显示黑屏的问题
  • Doris集群安装部署
  • Rust 学习笔记:关于通过异步实现并发的练习题
  • 《C++初阶之类和对象》【类 + 类域 + 访问限定符 + 对象的大小 + this指针】
  • DEVICENET转MODBUS TCP网关连接DeviceNet数字远程IO模块配置案例
  • uniapp小程序不支持动态组件问题
  • 更进一步深入的研究ObRegisterCallBack
  • 【iSAQB软件架构】以架构为中心的开发方法
  • node-red的http-request组件调研三方接口请求参数为form-data解决方案
  • 做直播网站需要那些技术/品牌策略
  • 武汉seo网站排名/快手seo软件下载
  • 哪些网站可以做招商广告/生成关键词的软件免费
  • wordpress关闭错误提示/南宁seo推广公司
  • 在线咨询妇科医生免费/深圳网站做优化哪家公司好
  • 黄村网站建设一条龙/免费下载百度并安装