0
点赞
收藏
分享

微信扫一扫

20220302提问题目

奔跑的酆 2022-03-11 阅读 29

1、事务产生1G的redo,Log Buffer 300M,是如何记录的?

PGA中记录后映像数据 -> 共享池 -> Log Buffer;如果Log Buffer没有空间,进程会等待LGWR刷新Log Buffer的空间,腾出空间后,进程才能继续。(Log Buffer Space事件)
redo Log Buffer -> online redo log files

2、Redo对于提升数据库性能有哪些影响?

Write Ahead Log - 备忘录

真正的执行操作刷脏可能数据量会比较大,操作比较繁琐,并且写数据不一定是顺序写,所以如果每一次操作都要等待结果刷脏到可靠存储磁盘中才执行下一步操作的话,效率就太低了。换一种思路,如果我们在做真正的操作之前,先将这件事记录下来,持久化到可靠存储中(因为日志一般很小,并且是顺序写,效率很高),然后再去执行真正的操作。这样执行真正操作的时候也就不需要等待执行结果刷脏到磁盘再执行下一步,因为无论在哪一步出错,我们都能够根据备忘录重做一遍,得到正确的结果。

3、如果在Log Buffer 写入log的过程中,断电了,这个事务会怎么样?

log buffer的redo change#没有完整写到online redolog的话就没有成功提交,没有成功提交的事务在intance crash的话就会回滚。

4、什么是一致性读?

在用户修改数据期间,如果修改的数据还没有提交,则其他读取该数据的用户不应该看到这些被修改了且没有提交的数据,而应该看到这些数据的原始值,而这些数据的原始值就放在还原段中。

5、pfile是实例参数还是数据库参数?

实例参数

举报

相关推荐

0 条评论