暂无图片
Oracle log buffer里没写日志的数据在异常宕机的时候会丢失吗? 如果丢失的话,还能恢复么?
我来答
分享
黑色VF
2021-08-24
Oracle log buffer里没写日志的数据在异常宕机的时候会丢失吗? 如果丢失的话,还能恢复么?

Oracle log buffer里没写日志的数据在异常宕机的时候会丢失吗?
如果丢失的话,还能恢复么?

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

1、当有Commit complete.或Rollback complete返回时,

A、都表示当前事务对应的在Log Buffer的数据,以写入到Redo Log日志中了;
B、已commit的事务,是不丢失的;
C、未commit的事务,会被回退的;

2、【异常宕机,只要Redo Log没有损坏,是不会丢失数据的】;

3、若出现Redo Log损坏,也存在3种情况:

1种:丢失Inactive的Redo Log–不会丢失数据

A、代表Redo Log所对应Buffer Cache中的脏块,都已经写到数据文件中。所以Inactive出现问题时,数据不会丢失;
B、恢复时,只需要重建对应Redo Log即可;

2种: 丢失Active的Redo Log–可能丢失数据

A、Active代表Redo Log所对应的Buffer Cache中的脏块,还没有完全写入到数据文件中;
B、【可能丢失数据】

3种: 丢失Current的Redo Log–可能丢失数据

A、当前Redo Log,所对应的的Buffer Cache数据可能还没有被刷新。
B、因为我们是先写Redo Log日志文件,在写Buufer Cache中的数据到数据文件中;
C、【可能丢失数据】

4、ACTIVE、CURRENT状态的Redo LOG日志组损坏,通常意味着【数据丢失、一致性丢失】

5、恢复

1种:利用备份恢复;

2种:无备份,可以参考以下方式

A、ACTIVE、CURRENT状态的Redo LOG的日志损坏是无法打开数据库的;
B、通过通过以下两个添加隐含参数,结合不完全恢复,将数据库打开
*._allow_resetlogs_corruption=true
*._allow_error_simulation=true
C、数据库打开后,若数据量比较小,建议再通过导出、导入的方式来,完成整个库的恢复;
D、当然:实际操恢复过程中,要清楚每一步操作及预期结果,不要做无把握的尝试。否则真的无法恢复!

6、预防

A、Redo Log的冗余机制是必选要有的;
B、每个日志日志组,每个2个成员,每个成员在不同磁盘。因为2个成员的内容是相同的,只要其中1个没有损坏,都能够避免;

暂无图片 评论
暂无图片 有用 2
打赏 0
暂无图片
许玉冲

wal

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

buffer在内存中肯定会丢失。

丢了没关系,提交了的会写入redo log,没提交会回滚。

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


请输入正文
提交
相关推荐
oraclelinux7.6服务器重启后bond模块起不来,是什么原因?
回答 3
前提,服务器已设置好双网卡,网卡能正常调通网络。1、创建脚本vi/etc/sysconfig/modules/bonding.modules编辑内容如下modprobebonding2、赋予脚本755
Oracle impdp导入后比之前源库的占用空间要小,正常吗?
回答 2
正常啊,impdp相当于对表进行了重新整理,可以消除表和索引的碎片。
如何在数据库中设置 undo retention 参数?
回答 3
使用SHOWPARAMETERundoretention命令可以查看当前数据库中undoretention参数的设置。例如:SQL>SHOWPARAMETERundoretention;这将显示
Oracle什么时候使用专用服务器?
回答 7
已采纳
在专用服务器模式中,客户端连接与服务器进程之间存在一种一对一的映射。对于所有基于SQL的应用来说,这是应用连接Oracle数据库最常用的方法。设置专用服务器最简单,而且建立专用服务器连接也最容易,基本
oracle版本升级方案
回答 2
当然是DG方式,停机时间最短也最靠谱。另外可以不切换,直接激活备库做升级测试。
Oracle goldengate 的检查点信息是保存在队列文件还是目标库的checkpoint表中?
回答 1
已采纳
分情况的;抽取进程(集成模式)是保存在数据库抽取进程(经典模式)是保存在本地dirchk目录下复制进程默认是保存在本地dirchk,也可以checkpointtable参数指定在数据库
Oracle中的多版本读一致性的含义?
回答 2
已采纳
Oracle多版本控制是一个好东西,它不仅能提供一致(正确)的答案,还有高度的并发性。Oracle数据库的查询是从缓存获取块,每次从缓冲区获取一个块时,都完成这样一个检查:“这个块是不是太新了?如果是
Oracle 一个数据库实例出问题,会不会影响这个数据库系统?
回答 1
集群环境?其中一个实例出现问题不会影响集群数据库运行,但建议尽快排查问题
zabbix现在可以直接监控Oracle吗?
回答 4
已采纳
可以的。官方文档:https://www.zabbix.com/integrations/oracle安装示例:https://www.modb.pro/db/62643
毕业设计linux+oracle11g,两个虚拟机也安装好了,软件已经安装,需要将一个数据库脚本成功运行,搭建NFS和ISCSI,已经数据文件控制文件和日志文件的备份
回答 7
厉害,我毕业2年才自己学会了搭建RAC