目录
一、前言
在学习Oracle体系结构前,我想先问大家一个问题,为什么要学Oracle体系结构?换句话说,学习了Oracle体系结构后我们能做什么?
我大概总结了以下三点
1)对Oracle数据库有一个整体的认识;
2)写出更高效的SQL语句;
3)对Oracle数据库性能调优。
当然,如果有人说我使用Oracle数据库就是为了写CURD语句,那就不必继续读下去了。
二、概述
先了解下几个名词:
1)实例:由一组后台进程和内存组成,用来管理数据库。
2)数据库:存储在磁盘空间上的一些文件,为实例提供数据。
3)数据库服务器:实例+数据库。
4)SGA:系统全局域,所有进程都可以访问。
5)PGA:程序(进程)全局域,进程独占,只能自己访问,其他进程不可以访问,服务器进程和后台进程各自都有自己的PGA。
6)UGA:用户全局域,保存会话的一些信息。
7)后台进程:负责操作、管理SGA和数据库。
8)服务器进程:负责与客户端用户进程通信,负责执行SQL、PL/SQL语句。
进入正题,相信大家一定很熟悉下图:
上图可以分为四个部分实例、数据库、服务器进程、用户进程,下面逐一说明。
贴一张网上找到的最详细的图。