oracle体系结构
oracle数据库分为实例和数据文件。
1、实例
由内存和进程构成。
只有数据库启动后才存在。
sga()
内存
1、share pool --control file
2、buffer cache --data file
3、redo log buffer --log file
java pool large pool stream pool
pga
后台进程
对oracle的连接都会产生一个进程。
进程:smon pmon ckpt lgwr dbwr
2、数据库
客户端输入sql语句
sql语句通过网络达到数据库实例
然后server process接收sql语句。
1、sql --执行计划 (缓存到sharepool中)
2、解析 消耗cpu io
A:server process 根据执行计划从dbf中取出数据缓存到buffer cache中
L I/O 逻辑读
P I/O 物理读
命中率 L/L+P
vmstat
iostat
在buffer cache对库表进行修改 会写入日志进redo log buffer
解析sql、对buffercache读写 对数据文件只进行读 读出数据、修改数据 server process
把数据写入硬盘 后台进程dbwr
ckpt把状态信息周期性的写入到控制文件和数据文件的头部
smon 对数据库实例内部(sga)进行清理进行维护
pmon 对server process进行清理和维护(对外)
归档日志