Oracle的体系结构概述,简单聊一聊
racle的体系结构是数据库的组成、工作过程,以及数据库中数据的组织和管理机制,包含一系列组件(软件)、用户进程(User process)、服务进程(Server process、PGA)、SGA(共享池、数据缓存、日志缓冲区)、后台进程(SMON、DBWn、PMON、CKPT、LGWR、其它进程)、参数文件(Parameter file)、密码文件(Password)、数据文件(Data files)、控制文件(Control files)、在线重做日志文件(Redo log files)、归档日志文件(Archived log files)。
二、用户进程和服务进程1、用户进程
用户进程(User process),是指用户通过客户端,比如SQL Plus、PL/SQL Developer、SQL Load、应用程序等工具连接上Oracle数据库而产生的进程。用户进程处理用户输入并与服务器进程通信。用户进程还负责表现用户请求的信息,必要时可以将信息处置成更可用的形式。
2、服务进程
服务进程(Server Process),当客户端发起连接时,Oracle创建一个用户进程来处理这个连接。
用户进程启动后,Oracle还会创建一个服务进程来处理连接到实例的用户进程提交的请求。用户进程连接到数据库并创建一个会话时,Oracle服务器进程会分配专门用于当前用户会话的内存区,即PGA区,该区域是私有的,当进程创建时分配,进程结束后被释放,只能被一个服务进程使用。
以客户端执行一条SQL为例:
1)服务进程接收SQL语句;
2)服务进程去共享池找SQL和执行计划,如果没找到,则解析SQL;
3)服务进程根据执行计划去数据缓存中找相关的数据,如没有才到数据文件中取出数据放到数据缓存中,再返给客户端;
4)若需要修改数据,服务进程把数据读取到数据缓存后再修改数据,修改后返给客户端。
用户进程与服务器进程可以是一对一的关系(配置为专用服务器模式时)。一个服务器也可连接多个用户进程(配置为多线程服务器时),但这样做会减少对系统资源的占用。