暂无图片
报错误:ora--1555 :快照过旧:回退段号 9(名称为 "_SYSSMU9_1650507775$")过小)
我来答
分享
汤姆凯特
2020-04-29
报错误:ora--1555 :快照过旧:回退段号 9(名称为 "_SYSSMU9_1650507775$")过小)

有一张大表大约7亿,想删除历史数据,delete from 表 where time<sysdate-180 (只保留半年的数据) 报错误:ora–1555 :快照过旧:回退段号 9(名称为 “_SYSSMU9_1650507775$”)过小)说明:redo 三个log组 每个200M,undo:retention大约4小时,大小60G,临时表空间 32G

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

你这张7亿的表占了多少block,段大小多少G了?undo block的状态占比什么情况?undo:retention开启guarantee了没?

暂无图片 评论
暂无图片 有用 0
打赏 0
汤姆凯特

retention没有开启guarantee? 要开启下吗块段信息.jpg

暂无图片 评论
暂无图片 有用 0
打赏 0
zouxiang

delete来处理你就不要想了,我觉得搞不出来,换个思维方式吧

暂无图片 评论
暂无图片 有用 0
打赏 0
JiekeXu
暂无图片

7 亿条数据不算小吧,保留半年的数据。
那么这个半年的数据要比删除的少吧,何不新建一个表只要这半年的数据呢?这样简单点吧.

暂无图片 评论
暂无图片 有用 0
打赏 0
汤姆凯特

好的 感谢解答

暂无图片 评论
暂无图片 有用 0
打赏 0
文成

ora01555是undo的报错,要把undo和redo分清楚,大表删除,一般可以新建一张表,插入保留的数据,然后truncate原表,再rename新表。

要注意,对于你这种表,可以设置分区表,后期清理更方便

当然你的redo设置可能是默认的,要根据业务情况调整

暂无图片 评论
暂无图片 有用 0
打赏 0
汤姆凯特

感谢感谢

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


请输入正文
提交
相关推荐
Oracle 查询会不会导致数据库激增几十个G?
回答 4
已采纳
不会
跪求oracle12c 12.1补丁包
回答 2
墨天轮资源里面有,可以下载:OracleDatabase12.1.0.2forLinuxX8664p21419221。https://www.modb.pro/download/24004
ORACLE BASICFILE LOB字段空间回收SHRINK SPACE的疑惑
回答 1
可以参考这篇文章:https://oraclebase.com/articles/misc/altertableshrinkspaceonline1、根据里面的实验的情况,对于lob字段在shrink
Oracle 宕机 trac文件的这个信息:error 1092 ,是控制文件损坏吗?
回答 3
已采纳
是的,控制文件损坏了,如果有备份的话,替换一下控制文件,如果没有就要手动创建控制文件。可参考:Oracle控制丢失如何恢复
Oracle 统计一天每小时数据增长量的sql
回答 2
已采纳
建立一个作业,每隔一个小时把表空间大小的数据存入一张表,之后查这张表就行了。另外如果只是查最近几天的,oracle有一张表有记录selectb.name,a.TABLESPACESIZE,a.TABL
为什么查询语句中的索引没有起作用?
回答 2
已采纳
在一些情况下,查询语句中使用了带有索引的字段,但索引并没有起作用。例如,在WHERE条件中的LIKE关键字匹配的字符串以“%”开头,这种情况下索引不会起作用。又如,在WHERE条件中使用OR关键字连接
获得所有主键的DDL 定义SQL 语句, 我用这个方法报错,是 NEWTEST 用户下的所有主键
回答 1
已采纳
✅解:selectowner,tablename,constraintname,constrainttype,DBMSMETADATA.GETDDL('CONSTRAINT',constraintna
ora04030 ora27300 27301 27302
回答 3
更换为64位数据库软件重装试试。
Oracle用exp默认导出的是dmp文件,可以导出dump文件吗?
回答 3
不能。IMP只适用于EXP导出文件,不适用于EXPDP导出文件;IMPDP只适用于EXPDP导出文件,而不适用于EXP导出文件。由此可以看出,exp导不出和expdp一样的dumpfile
oracle体系结构,进程问题
回答 3
有可能是LOCALyes的