《数据厍设计与开发》讲义 4.2.1.10 RacLe內存结构 数据库缓冲区高速缓存:是影响整个数据库 系统运行的重要因素之一。数据库缓冲区高 速缓存是由与0rac1e块相同大小的内存块组 成。所有0 racle操作的数据在使用前被装入 到数据库缓冲区高速缓存中。数据的更新在 内存块中完成 Oracle根据最近最少被使用(LRU)列表将数 据清出缓冲区高速缓存。LRU列表记录数据块 被访问的频繁程度。当服务器在缓冲区中需 要更多空间来从磁盘读入一个数据块时,它 去访问LRU列表,以确定可以清出哪些块,使 用这种方法,保证最频繁使用的块保存在内 存中。 家邮电大学物你学院 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 4.2.1.1 ORACLE內存结构 –数据库缓冲区高速缓存:是影响整个数据库 系统运行的重要因素之一。数据库缓冲区高 速缓存是由与Oracle块相同大小的内存块组 成。所有Oracle操作的数据在使用前被装入 到数据库缓冲区高速缓存中。数据的更新在 内存块中完成。 Oracle根据最近最少被使用(LRU)列表将数 据清出缓冲区高速缓存。LRU列表记录数据块 被访问的频繁程度。当服务器在缓冲区中需 要更多空间来从磁盘读入一个数据块时,它 去访问LRU列表,以确定可以清出哪些块,使 用这种方法,保证最频繁使用的块保存在内 存中
《数据厍设计与开发》讲义 4.2.1.10 RacLe內存结构 数据库缓冲区高速缓存: 被修改过的缓冲块称为脏的,脏列表记录 所有在内存中被修改而又尚未写入磁盘中的 数据。当 Oracle接收到修改数据的请求时 对高速缓存中的块进行数据修改,同时写入 重做日志中,然后该块被放入脏的列表中, 对这些数据的随后访问从高速缓存中读取改 变的数据的新的值 Oracle服务器对更新的一块数据,并不立 即更新数据文件中的数据。 RDBMS等到一定条 件时才将改变的数据刷新写入数据文件(参 见数据库写入进程) 家邮电大学物你学院 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 4.2.1.1 ORACLE內存结构 –数据库缓冲区高速缓存: 被修改过的缓冲块称为脏的,脏列表记录 所有在内存中被修改而又尚未写入磁盘中的 数据。当Oracle接收到修改数据的请求时, 对高速缓存中的块进行数据修改,同时写入 重做日志中,然后该块被放入脏的列表中, 对这些数据的随后访问从高速缓存中读取改 变的数据的新的值。 Oracle服务器对更新的一块数据,并不立 即更新数据文件中的数据。RDBMS等到一定条 件时才将改变的数据刷新写入数据文件(参 见数据库写入进程)
《数据厍设计与开发》讲义 4.2.1.10 RACLE内存结构 数据库缓冲区高速缓存: DB BLOCK SIZE和 DB BLOCK BUFFERS是决 定缓冲区高速缓存大小的两个初始化参数。 DB BLOCK SIZE设置0 racle块大小 DB BLOCK BUFFERS决定分配给缓冲区高速缓 存的块的数量。两参数相乘就可得出缓冲区 高速缓存的内存总数(以字节为单位) ORACLE9可以通过 ALTER SYSTEM SET DB CACHE SIZE动态设置。 家邮电大学物你学院 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 4.2.1.1 ORACLE內存结构 –数据库缓冲区高速缓存: DB_BLOCK_SIZE和DB_BLOCK_BUFFERS是决 定缓冲区高速缓存大小的两个初始化参数。 DB_BLOCK_SIZE设置Oracle块大小, DB_BLOCK_BUFFERS决定分配给缓冲区高速缓 存的块的数量。两参数相乘就可得出缓冲区 高速缓存的内存总数(以字节为单位)。 ORACLE 9i可以通过ALTER SYSTEM SET DB_CACHE_SIZE动态设置
《数据厍设计与开发》讲义 4.2.1.10 RACLE内存结构 重做日志缓冲区:重做日志缓冲区用于在内 存中存储未被刷新写入联机重做日志文件的 重做信息 它是循环使用的缓冲区,当重做日志缓冲 区填满时,将它的内容写入联机重做日志文 件。 重做日志缓冲区的大小是由L0 G BUFFER初 始化参数决定,以字节为单位,决定在内存 中保留多少空间缓存重做日志项。如果这个 值设置得过低,进程之间相互竞争,LGWR进 程读出和写入缓存,有可能会导致性能问题 家邮电大学物你学院 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 4.2.1.1 ORACLE內存结构 –重做日志缓冲区:重做日志缓冲区用于在内 存中存储未被刷新写入联机重做日志文件的 重做信息。 它是循环使用的缓冲区,当重做日志缓冲 区填满时,将它的内容写入联机重做日志文 件。 重做日志缓冲区的大小是由LOG_BUFFER初 始化参数决定,以字节为单位,决定在内存 中保留多少空间缓存重做日志项。如果这个 值设置得过低,进程之间相互竞争,LGWR进 程读出和写入缓存,有可能会导致性能问题
《数据厍设计与开发》讲义 4.2.1.10 RACLE内存结构 重做日志缓冲区: 为强迫重做日志顺序写入, Oracle服务器 使用闩控制对缓存的访问。闩是一个 Oracle 进程对一个内存结构的锁定,一个进程必须 持有重做分配闩,才能写入重做日志缓冲区。 当一个进程持有分配闩时,其他任何进程都 不能使用这个分配闩写入重做日志缓冲区。 0 racle服务器使用 LOG SMALL ENTRY MAX SIZE初始化参数限制 次写入的重做的总量。这个参数以字节为 单位,其缺省值随操作系统和硬件不同而不 家邮电大学物你学院 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 4.2.1.1 ORACLE內存结构 –重做日志缓冲区: 为强迫重做日志顺序写入,Oracle服务器 使用闩控制对缓存的访问。闩是一个Oracle 进程对一个内存结构的锁定,一个进程必须 持有重做分配闩,才能写入重做日志缓冲区。 当一个进程持有分配闩时,其他任何进程都 不能使用这个分配闩写入重做日志缓冲区。 Oracle服务器使用 LOG_SMALL_ENTRY_MAX_SIZE初始化参数限制 一次写入的重做的总量。这个参数以字节为 单位,其缺省值随操作系统和硬件不同而不 同