oracle体系结构的相关组件
--------内存结构
oracle大体分两部分:instance和database;
instance包含SGA和PMON、SMON、DBWR、LGWR、CKPT、Others(后台进程);
SGA主要包含:Shared Pool、Database Buffer Cache、Redo Log Buffer、Java Pool、Large Pool;
Shared Pool包含:Library Cache、Data Dictionary Cache
database主要包含三种数据文件(还有其他files):data files、control files、Redo Log files;
--------
oracle内存结构:SGA、PGA
一个install一个SGA,一个server process分配一个PGA
--------
1.share pool(事关oracle性能):两大部件library cache和data dictionary cache
①.library cache:存储最近用到的经过编译解析之后的sql和plsql语句(可以加快sql和plsql语句的执行效率)。
②.data dictionary cache:数据库系统信息、数据字典和控制信息。
2.Database Buffer Cache:主要用来缓存数据库数据,提高数据库性能,存储的是数据块,块的大小由DB_BLOCK_SIZE决定(来自数据文件的数据和即将要写到数据文件里的数据)cache hit & cache miss
3.Redo Log Buffer:联机重做日志,主要任务是恢复,大小是由LOG_BUFFER决定。
4.large pool:可选
5.java pool:对java的支持
--------
PGA:一个进程一个
--------进程结构(在windows中表现的为一个进程多个线程,在linux或unix中表现的为多个进程)
User process、Server process、Background process
--------
User process:客户端进程
--------
server process:主要和客户端连接,和User process对应
--------
background process:
①DBWn:写数据到磁盘(oracle支持20个)
②LGWR:把Redo log Buffer中的内容写到Redo Log files中
③SMON:系统管理器,系统恢复,整合分散空间,释放空间
④PMON:process monitor进程管理器,巡检后台进程的工作情况
⑤CKPT:checkpoint
⑥ARCn:归档日志的管理
--------
oracle逻辑结构:一个oracle server上只有一个oracle database,一个database可以有多个tablespace,一个表空间可以有多个Segment,一个Segment可以有多个Extend,一个Extend由一组连续的Blocks组成。
一个oracle Blocks是操作系统块的整数倍(DB_BLOCK_SIZE)。