温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
本节课我们来讨论一下Oracle写入数据的过程。在Oracle数据库中,通过数据库实例来操作数据库,在数据库实例中维护了一个检查点队列,该队列中保存的都是内存中的脏数据,这里的脏数据是指还没有写到数据文件上的数据。当客户端进程提交事物的时候,将由服务器进程将数据写入检查点队列,并同时由日志写进程log writer将事务操作写入联机重做日志文件。注意,只要重做日志写入成功,就算客户端的事务操作提交成功,但此时数据是被保存在了检查点队列中,如果这个时候数据库实例发生了宕机,将会造成写入数据的丢失,此时,可以由CM进程读取之前写入成功的联机重做日志文件来恢复检查点队列中丢失的数据,这个过程叫做实例恢复,它由数据库引擎自动完成,不需要人为干预。正常情况下,当数据库产生了检查点时,由DBWN进程将检查。
01:00
点队列中的脏数据,写入数据库的数据文件,从而实现数据的持久化,此时便可以删除对应的联机重做日志文件了。但为了保证数据库在出现故障时能够实现数据库的完全恢复,在生产上建议保留所有的联机重做日志文件。现在你已经知道Oracle写入数据的过程了,那你知道Oracle读取数据的过程吗?欢迎评论区留言讨论好了,记得点加号关注赵宇强老师。
我来说两句