redo
删除数据的时候生成大量的归档日志,归档满了以后数据库没执行完删除任务,请问这种情况怎么处理?可以在删除数据的时候加什么参数不生成redo之类的吗?
我来答
添加附件
收藏
复制链接
微信扫码分享
在小程序上查看
分享
添加附件
问题补充
11条回答
默认
最新
不晓得这样可以解决问题不:
1).找个非业务时段。
2).创建另一个表B。
3).将所需保留的数据INSERT(NOLOGGING)到新表B中。
4).RENAME原始表A到A_BAK。
5).RENAME表B为业务表。
评论
有用 0请问专家,可不可以在没有业务的时候先设置成非归档模式,然后删除完了以后再恢复成归档模式?
评论
有用 0归档和非归档模式的切换是需要重启数据库的,你总不能频繁启停数据库吧。再说了,这么做有什么意义
评论
有用 0你是用delete删除数据吧,delete会产生大量redo和归档,建议考虑用其他方式删除数据
评论
有用 0是用的delete,因为只是删除一部分数据,好像不能用truncate,我一次少删除一点吧
评论
有用 0看你要删除数据在表中的占比,可以创建新表,把需要保留的数据insert到新表,rename/drop旧表,当然INSERT到新表时可以加nologging减少REDO。
评论
有用 0也可以写个存储过程 根据rowid删除数据
当然感觉你这个库可能不是很重要,不然也不会存在归档满了的情况
所以 建议关闭归档,配置每天备份一次库的任务
评论
有用 0回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏

