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

Fundamental I 01 Oracle Architectural Components

2011-12-13 14:03 302 查看
请查阅文档!

体系结构为: Instance 和 Database



Oracle Server: 指的一个系统

Oracle Instance: 访问数据库的一个手段, 和Database的关系是many2one, 由进程和内存组成, SGA是他的memory

Process有3种类型: 1.Background Process 后台进程(专注于数据库核心), 2. Server Process 其实也是后台进程(用于处理客户端和服务器的连接), 3. User Process 用户进程

Oracle Database:

有3种核心的文件类型: 1.Data files, 2. Control files, 3. Redo log files.(记录操作的日志,数据恢复使用)

Archive log files (归档文件, 和Redo log files 相辅相成), Parameter file

内存结构

SGA( System Global Area), 核心区域, Singleton, 重要参数: SGA_MAX_SIZE, granule是SGA分类内存的基本单位, 关于参数可以参考文档中References

查看SGA大小: select component, granule_size from v$sga_dynamic_components;

可以通过ps -ef | grep oracle查看进程之后,

show sga

Oracle 10g以后有自动调整机制.

重要组成:

* Shared Pool (SHARED_POOL_SIZE ), 非常重要, 关系到性能, 具备自动内存管理功能.

用于存储最近执行的的 SQL 语句 以及数据定义

Library Cache 主要存储解析后的SQL 和PL/SQL, 由Shared SQL area 和 Shared PL/SQL area 组成

DD Cache 存储数据库控制信息的数据信息, 和我们自己开发时所用的数据字典表类似但是强大太多

* Database Buffer Cache (DB_CACHE_SIZE): 数据的缓存, 存储的数据块(data block), hit or miss

* Redo Log Buffer LOG_BUFFER ): 主要用于数据库恢复,会记录所有对data block变更

* Large Pool

* Java Pool (JAVA_POOL_SIZE)

PGA( Program Global Area) : 可以理解为关联用户连接,每一个连接有一个进程

Process:在Windows下可以理解为线程, 在Linux下是进程

User Process: 客户端Process

Server Process: 处理与客户端交互的process,有dedicated server和shared server.

Background Process: 查看命令$ ps -ef | grep oracle

* DBWn ( Database Writer n 如果工作量太大, 可以多配置, 一共支持20个 ): 将SGA中的DDC写入到Data files, 写入时机: checkpoint发生; 脏数据buffer, no free buffer ; Table Drop or truncate; Tablespace OFFLINE, READ ONLY, BEGIN BACKUP.

* LGWR ( Log Writer ): 将Redo Log Buffer 写入到 Redo Log files, 写入时机: 提交; 1/3满; 1mb; 每3秒; 在DBWn写入之前

* SMON ( System Monitor): 垃圾回收,资源释放, 资源清理等

* PMON ( Process monitor): 监控进程, 处理锁等, 与 PGA 关联紧密

* CKPT ( Checkpoint): 轻量级的工作, 对 DBWn标记checkpoint, 在datafile header和control files中增加checkpoint information.

* ARCn ( Archive n) 可选的, 但是几乎生产数据都有, 做归档, 数据恢复, 写入到 Archived redo log files,使用时机: 当 ARCHIVELOG 模式被设置

IPC (Inter Process Communication), 查看本地网络信息$ /sbin/ifconfig

逻辑结构:

Block(DB_BLOCK_SIZE)是Oracle最小基本单位,是OS的Block的整数倍

Extent: 由多个连续的Block组成

Segment: 由多个extent组成

Datafile: 由多个Segment组成

Tablespace: 由多个DataFiles组成

SQL执行过程:

连接-->检查-->解析-->绑定变量-->执行-->返回结果(先查缓存)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: