300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 【体系结构】buffer cache的个人理解

【体系结构】buffer cache的个人理解

时间:2022-08-18 11:45:37

相关推荐

【体系结构】buffer cache的个人理解

1. Buffer cache

数据库缓冲区,是 Oracle 内存结构 SGA 中的一部分。

2. Buffer cache 意义

(1) 缓存 dbf 文件。

Buffer 是存在于内存中, dbf 是存在磁盘中。在读取磁盘中数据时, dbf 数据会首先送到 buffer cache 中,以达到缓存的作用。

(2) 构造 cr 块

在一个会话中,用户删除掉一条数据,但是没有提交。此时改变前的数据会放在 undo 段中。当另一个会话读取同一个块的数据时,发现块内数据被删除了,这时在 buffer cache 中会产生一个新的块,这个新的块就是旧的块产生的,被删除的那条数据由 undo 来补充。这个新的块就叫 cr 块。

所以一条会话删除一条数据没有提交时,另一个会话会看到被删除之前的数据。

3. 数据库写进程( DBWn )

当 buffer cache 中的块被修改之后,这个被修改的块就被称为脏块。 DBWn 负责将 buffer cache 中的脏块写进 dbf 文件中。

DBWn 不是每次更改数据块就会触发。就算触发时,也不是吧所有的块写进 dbf 文件中,而是将一些不常使用的块写进去。它是有一定的触发条件的。

(1) 每过 3 秒触发一次

(2) 当数据要写进 buffer cache 中,发现没有足够的空间的时候

(3) 执行检查点进程时

4 . Buffer cache 的重要参数配置

( 1 )查询 sga 各个组件大小

SQL> select component,current_size/1024/1024 current_M,min_size/1024/1024 min_M from v$sga_dynamic_components;

(3) 修改 buffer cache 大小

SQL> alter system set db_cache_size=20M scope=both;

通常情况下,对于 DB_CACHE_SIZE 的设置,推荐配置为:

整个的 SGA_MAX_SIZE 的 1/2~2/3

--------------- end -----------------------

来自 “ ITPUB博客 ” ,链接:/31529886/viewspace-2641097/,如需转载,请注明出处,否则将追究法律责任。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。