季风和小布老师学Oracle(一)-Oracle系统架构
上一篇 / 下一篇 2009-04-29 11:12:56 / 个人分类:Oracle学习
一. Oracle基础
1. Oracle系统架构图51Testing软件测试网S$TH1]Y
(T u;Xo#am7h Q0 1)Oracle包含两部分Instance和Database。
2)SGA是一内存块。
3)SGA的五个部分:Share Pool;Java Pool;Large Pool;Database Buffer Cache;Redo Log Buffer.
4)Oracle server包括Instance和Oracle Dababase
5)Instance组成:内存(SGA)和后台进程(PMON、SMON、DBWR等)
6)Connection(链接)和Session(会话):Connection是Oracle客户端和后台服务器 (service process)建立的一个TCP链接;Connection完成后开始会话。
7)Oracle Database:主要包括三种核心文件类型:Data files(存储数据);Controller files (控制文件);Redo Log files(重做日志,记录数据库的修改)。Archived Log files (归档日志文件)
8)Oracle’s memory:SGA和PGA。一个实例就有一个SGA,实例启动时分配,实例一部分;一个service process(处理Connection)启动时就启动一个PGA。
9)查看SGA:SQL> show sga
2. memory structures
1)SGA在Oracle9i以后可自动调节。SGA_MAX_SIZE设置SGA最大值,递增单位granules,当SGA小于128M是granules为4M,大于128M时为16M。
SQL> select component,granule_size from v$sga_dynamic_components;
2)shared Pool(共享池)
共享池存储解析好的SQL语句,包括Library Cache和Data Dictionary Cache(数据 字典)
Library Cache:存储经过解析编译以后的SQL或PL/SQL语句,大小由共享池大小 决定。
Data Dictionary Cache:存储数据库信息,数据库字典,提高访问数据库速度
3)Data Buffer Cache:包含来自于数据文件的数据和即将写到数据文件的数据,提高访问速度,性能。体积最大。查询数据是先在Data Buffer Cache查找数据,如存在直接返回用户(Cache hit),如没有记录则从磁盘数据文件读取(Cache miss)。存储的是数据块(DB_BLOCK_SIZE参数决定)
4)Redo Log Buffer:存储对数据的修改,主要用于恢复数据。LOG_BUFFER
5)Large Pool和Java Pool
6)PGA一个server process对应一个PGA,一个实例可以对应对多个PGA,对应一个SGA
3.Process Structure
1)三种进程:User Process;Server Process;Background Process51Testing软件测试网k8U;zl lHEX
User Process:客户端的进程。Started at the time a database user requests connection to the Oracle server.51Testing软件测试网{Y;^]{+cP
Server Process:主要负责和客户端连接的进程。51Testing软件测试网b?T1R'U BX)a
Background Process:后台进程。必须存在:DBWn(n=0.1.2.3),PMON,CKPT,LGWR,SMON.可选进程,根据配置不同,启动不同进程。51Testing软件测试网,\eg M,t1C
DBWn:将Database Buffer Cache中要写入磁盘的数据写入磁盘。51Testing软件测试网{#ye!j%dN1^
LRWR:将Redo Log Buffer中的数据写入磁盘。
:i N%E `#EeS2|4t0SMON:清理51Testing软件测试网,x}N X7l t:X+N9l8Cy
PMON:进程监控51Testing软件测试网$D?+H4~O'fT4~
CKPT:51Testing软件测试网[7E+tq$b
ARCn:归档进程
-S3G0s"U(e Q1}02)Oracle的逻辑结构。一个Oracle Server包含一个database,一个database可以有多个Tablespace, 一个Tablespace可以有多个Segment,一个Segment可以有多个Extent,一个Extent是一组Blocks。Blocks是Oracle最小基本单位,一个Blocks对应操作系统一个Blocks,一个Blocks对应内存中的一 页
y2~r i3N)uQy8[0 z:C+~| { GBC5U0TAG: