为了能让大家更清楚地了解Oracle的内存结构体系,我们先来看看Oracle数据库的总体结构是什么样的。
每个Oracle数据库都是由Oracle Instance(实例)与数据库(数据文件,控制文件、重做日志文件)组成,其中所谓的实例就是用户同数据库交互的媒介,用户通过与一个实例相连来操作数据库。而实例又是由统一的内存结构(SGA,PGA,UGA)和一批内存驻留进程组成。实例在操作系统中用ORACLE_SID来标识,在Oracle中用参数INSTANCE_NAME来标识,它们两个的值是相同的。数据库启动时,系统首先在服务器内存中分配系统全局区(SGA),构成了Oracle的内存结构,然后启动若干个常驻内存的操作系统进程,即组成了Oracle的进程结构。内存区域和后台进程合称为一个Oracle实例。
实例结构图如下: