redo文件一
redo log files and redo log buffer
redo log files的作用的是确保数据库崩溃之后能正确的恢复数据库,恢复数据库到一,致性的状态
redo log files里面保存的都是数据库的变化信息,俗称为redo entry,由redo thread 将信息从
redo log buffer中写入到redo log files中,在每次写的时候都会分配一个LSN值,这个值是递增的
并且不会发生跳跃,log sequence number
介质恢复和实例恢复的不同:
介质恢复是当数据文件发生损坏时,所做的恢复,实例恢复是当数据库实例崩溃时做的恢复
介质恢复必须要手动进行恢复,而实例恢复是数据库在启动的时候又SMON进程自动进行的恢复工作
如何来确保已经提交的数据不会丢失?
oracle采用在数据提交之后,必须先将redo信息写入到redo log files中,当进行恢复的时候,只要
根据redo log信息来进行恢复即可。
如何来确保在数据库恢复的时候的性能和速度?
oracle采用checkpoint机制,在每次进行checkpoint的时候,都会在数据文件中和控制文件中记录下
当前的SCN值,当进行数据库恢复的时候,对比SCN值即可,从而只要恢复大于数据库文件的的SCN的
数据即可。
在进行log switch的时候,redo log files的状态变为可用分为两种情况:
当数据库为非归档模式的情况下:
redo log files必须等待DBWn将脏数据写入到数据文件中,防止此时数据库崩溃而导致数据文件无法
恢复
当数据库为归档模式的情况下
redo log files必须等待DBWn将脏数据写入到数据文件中,并且必须等待ARCn进程将redo log files
中的文件写入到归档日志文件中
redo log files以分组的形式存在,至少存在两个分组,每个组中的成员可以为一个或者是多个,当
是多个的时候,最好是2个,从而可以避免I/O性能,并且将组中的每个成员放倒不同的磁盘上,从而
可以避免单点故障的发生
LGWR负责将redo log buffer中的信息写入到redo文件中,并且是循环写的方式,当从一个redo文件
组切换到另外一个redo文件组的时候,这个时候称之为switch log files
redo log文件采用顺序写的方式写入到redo文件中,而datafiles是随机写的方式,从而使用redo文
件的时候能够大大的提高性能
在LGWR将redo buffer 中的内容写入到redo log文件中的时候,包括已经提交的事物,暂时未提交的
事物,这些数据都会写入到redo log文件中
redo log files的作用的是确保数据库崩溃之后能正确的恢复数据库,恢复数据库到一,致性的状态
redo log files里面保存的都是数据库的变化信息,俗称为redo entry,由redo thread 将信息从
redo log buffer中写入到redo log files中,在每次写的时候都会分配一个LSN值,这个值是递增的
并且不会发生跳跃,log sequence number
介质恢复和实例恢复的不同:
介质恢复是当数据文件发生损坏时,所做的恢复,实例恢复是当数据库实例崩溃时做的恢复
介质恢复必须要手动进行恢复,而实例恢复是数据库在启动的时候又SMON进程自动进行的恢复工作
如何来确保已经提交的数据不会丢失?
oracle采用在数据提交之后,必须先将redo信息写入到redo log files中,当进行恢复的时候,只要
根据redo log信息来进行恢复即可。
如何来确保在数据库恢复的时候的性能和速度?
oracle采用checkpoint机制,在每次进行checkpoint的时候,都会在数据文件中和控制文件中记录下
当前的SCN值,当进行数据库恢复的时候,对比SCN值即可,从而只要恢复大于数据库文件的的SCN的
数据即可。
在进行log switch的时候,redo log files的状态变为可用分为两种情况:
当数据库为非归档模式的情况下:
redo log files必须等待DBWn将脏数据写入到数据文件中,防止此时数据库崩溃而导致数据文件无法
恢复
当数据库为归档模式的情况下
redo log files必须等待DBWn将脏数据写入到数据文件中,并且必须等待ARCn进程将redo log files
中的文件写入到归档日志文件中
redo log files以分组的形式存在,至少存在两个分组,每个组中的成员可以为一个或者是多个,当
是多个的时候,最好是2个,从而可以避免I/O性能,并且将组中的每个成员放倒不同的磁盘上,从而
可以避免单点故障的发生
LGWR负责将redo log buffer中的信息写入到redo文件中,并且是循环写的方式,当从一个redo文件
组切换到另外一个redo文件组的时候,这个时候称之为switch log files
redo log文件采用顺序写的方式写入到redo文件中,而datafiles是随机写的方式,从而使用redo文
件的时候能够大大的提高性能
在LGWR将redo buffer 中的内容写入到redo log文件中的时候,包括已经提交的事物,暂时未提交的
事物,这些数据都会写入到redo log文件中
for linux and python
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述