Sql DBwn何时将数据库缓冲区缓存中的缓冲区更新到数据库磁盘?
我正在学习一些关于Oracle数据库体系结构的基本知识,这里有两个示例Sql DBwn何时将数据库缓冲区缓存中的缓冲区更新到数据库磁盘?,sql,oracle,Sql,Oracle,我正在学习一些关于Oracle数据库体系结构的基本知识,这里有两个示例 执行数据操作语言(DML)语句所涉及的步骤 执行COMMIT命令所涉及的步骤 步骤如下: 服务器进程接收该语句并检查库缓存中是否存在包含类似SQL语句的任何共享SQL区域。 如果找到共享SQL区域,服务器进程将检查用户的 请求的数据和现有共享SQL的访问权限 区域用于处理语句。如果没有,则创建一个新的共享SQL区域 为语句分配,以便可以对其进行分析和 已处理 如果数据和撤消段块不在缓冲区缓存中,服务器进程会将它们从数据文件
我的第二个问题:DBwn(数据库写入程序进程)何时将缓存中的缓冲区修改为数据库磁盘?在提交之前或之后更新数据库磁盘。DBwn不会写入数据库文件,因为发出了
COMMIT
语句<代码>提交只意味着这是事务的结束。表或行上的锁被释放,SCN递增,LGWR
将SCN和更改写入联机重做日志文件
数据库缓冲区缓存有两个列表
1) Write list
2) least-recently-used (LRU) list
最近最少使用(LRU)列表具有脏缓冲区。脏缓冲区是指已修改的缓冲区。提交将间接地使缓冲区变脏。它将在缓冲区中,因为它最近被访问过
DBwn
既不在提交之前也不在提交之后写入数据文件。它有自己的场景,如检查点发生、脏缓冲区达到阈值或没有可用缓冲区等
我希望,我回答了你的问题。谢谢。DBwn将不会写入数据库文件,因为发出了
commit
语句<代码>提交只意味着这是事务的结束。表或行上的锁被释放,SCN递增,LGWR
将SCN和更改写入联机重做日志文件
数据库缓冲区缓存有两个列表
1) Write list
2) least-recently-used (LRU) list
最近最少使用(LRU)列表具有脏缓冲区。脏缓冲区是指已修改的缓冲区。提交将间接地使缓冲区变脏。它将在缓冲区中,因为它最近被访问过
DBwn
既不在提交之前也不在提交之后写入数据文件。它有自己的场景,如检查点发生、脏缓冲区达到阈值或没有可用缓冲区等
我希望,我回答了你的问题。谢谢。不,他们没有,LGWR(日志编写器后台进程)将重做日志(仅更改向量)从重做日志缓冲区写入红色日志文件。DBWR(数据库写入程序进程)将脏缓冲区(缓冲区缓存上的修改块、实际数据)写入数据文件。
将重做日志文件移动或迁移到数据文件?
数据文件和重做日志文件使用两种完全不同的文件类型。一个永远不会“迁移”到另一个。它们是为不同的目的服务的。LGWR(日志编写器后台进程)将重做日志(仅更改向量)从重做日志缓冲区写入红色日志文件。DBWR(数据库写入程序进程)将脏缓冲区(缓冲区缓存上的修改块、实际数据)写入数据文件。将重做日志文件移动或迁移到数据文件?
数据文件和重做日志文件使用两种完全不同的文件类型。一个永远不会“迁移”到另一个。根据你的回答,我在这个网站上找到了更详细的信息:很高兴帮助你。如果你对答案感到满意,那么接受它作为答案。谢谢。谢谢,根据你的回答,我在这个网站上找到了更详细的信息:很高兴帮助你。如果你对答案感到满意,那么接受它作为答案。非常感谢。