oracle架构简介

Oracle数据库架构简单来说如下图:

1、客户端链接数据库实例有两种模式:一是独占模式及一个回话一个server process;二是共享及有中间代理层,相当于增加了一层代理分发。

2、以独占模式举例,一个客户端发起一条SQL,这个SQL由server process进程接受,server process 也有内存叫PGA,然后到SGA里面去找这条SQL是否有相同的,如果有,就用相同的SQL的执行计划,这个叫软解析。如果没有就需要经过解析、优化得到执行计划,这是比较耗时的,称为硬解析。解析完后需要查询数据,这时就到了database buffer cache里去找是否有数据,如果有就直接返回;如果没有就需要server process进程触发DBWR后台进程从磁盘里读数据块到database buffer cache里。如果SQL是delete、update、insert改变数据块了,这个时候会有日志,这个日志先是写到PGA里,然后再写到redo log cache里,由LGWR将redo log cache里的数据顺序写到redo log文件中(触发条件有commit、每3秒、redo log cache占了1/3以上、日志切换、DBWR刷脏块落盘时)

相关推荐
NoSi EFUL1 分钟前
MySQL中ON DUPLICATE KEY UPDATE的介绍与使用、批量更新、存在即更新不存在则插入
android·数据库·mysql
河阿里3 分钟前
SQL数据库:五大范式(NF)
数据库·sql·oracle
l1t1 小时前
DeepSeek总结的PostgreSQL 19查询提示功能
数据库·postgresql
chenxu98b3 小时前
MySQL如何执行.sql 文件:详细教学指南
数据库·mysql
刘晨鑫13 小时前
MongoDB数据库应用
数据库·mongodb
梦想的颜色3 小时前
mongoTemplate + Java 增删改查基础介绍
数据结构·数据库·mysql
小小小米粒4 小时前
redis命令集合
数据库·redis·缓存
herinspace4 小时前
管家婆实用贴-如何分离和附加数据库
开发语言·前端·javascript·数据库·语音识别
步辞5 小时前
Go语言怎么用channel做信号通知_Go语言channel信号模式教程【完整】
jvm·数据库·python
weixin_424999366 小时前
mysql行级锁失效的原因排查_检查查询条件与执行计划
jvm·数据库·python