您的位置:首页 > 数据库 > Oracle

了解Oracle内核代码层的作用

2011-09-13 22:43 495 查看
Oracle RDBMS Kernel 的代码分成多层次,如<Oracle8i Internal Services>一书所介绍的:





其中部分代码层的作用:

The cache layer (KC)
The cache layer manages the database buffer cache. It uses operating
system dependent facilities for data file I/O, provides concurrency control
facilities for local access to the cache buffers, and provides parallel cache
management (PCM) instance locking facilities for Oracle parallel server.
The other main responsibility of the cache layer is the control of redo
generation into the log buffer, and the writing of redo to the log files. The
cache layer also caches control file information.

To read blocks.

To update blocks in redo only mode.

The transaction layer (KT)
This layer is responsible for the allocation of transactions to rollback
segments, interested transaction list changes within data blocks, changes
to rollback segment blocks for undo generation, transaction control
facilities such as savepoints, and read consistency. The transaction layer is
also responsible for space management, both at the level of segment free
lists and at the level of tablespace extent allocation.

To update blocks with undo.

To check with the status of the transaction.

To manage recursive transactions for nested space operations.

The recursive program interface (RPI)
The recursive program interface is used to populate the dictionary cache
from the data dictionary. Row cache recursive SQL statements are
executed in a separate call context, but are not parsed and optimized in the
compilation layer.
Row Cache Layer

To read/update space dictionary information, where acutal updates happens by callbacks when row cache is flushed.

Recursive SQL

To read/update dictionary information.

File Layer

To create/drop/alter files in tablespace.

以上各代码层实现了Oracle Space Management 空间管理的主要功能。本文出自 “Ask Maclean Liu Oracle” 博客,请务必保留此出处http://maclean.blog.51cto.com/2923249/1278030
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: