为了访问数据库中的数据, Oracle 使用一组所有用户共享的后台进程为其提供服务。此外, SGA 用来存放最近查询操作的一些数据。数据库实例 (Instance) 也称作服务器 (Server), 是用来访问数据库文件集的内存结构及后台进程的集合。通俗点说,访问数据库的硬盘文件需要一些进程,并一些内存结构来实现。而这些进程加内存结构的组合就是数据库实例了, Oracle 实例为存取和控制数据库的软件机制。每当启动数据库时, SGA 首先被分配。一个实例为管理数据库数据和该数据库一个或多个用户服务而工作。在 Oracle 系统中,首先启动实例,然后再由实例装配数据库。
         特点:一个数据库可以被多个实例访问
实例图:
 
二、        SGASystem Global Area)系统全局区
         SGA的结构分为:数据库缓冲存储区、日志缓冲区、共享池、大池、Java池等,下面主要讲数据库缓冲存储区和日志缓冲区
         硬盘上的数据文件先读取到数据库缓冲存储区中,然后供用户使用。如果要访问的数据已经存储在于数据库缓冲存储区中,那么就不用再到硬盘上的数据库文件中取数据了,直接从缓冲区中拿。数据库缓冲存储区总是保存最近从硬盘读出的数据
         它主要分为三个部分:
脏缓存块:脏缓存中保存的是已经修改过的缓存块。当一条 Sql 语句对某个缓存块中的数据进行修改后,这个缓存块就被标记为脏缓存块。它们迟早要被 DBWR 进程写入对应的硬盘中的数据文件,以便永久性地保留修改结果
空闲缓冲块:空闲缓冲块中没有数据,它在等待被写入数据。当 Oracle 从数据文件中读取数据后,将会寻找空闲缓存块,以便将数据写入其中
命中缓存块:命中缓存块保存的是最近正在被访问的缓存块。命中缓存将始终被保留在高速缓存中,不会被写入数据文件。
         当执行 INSERT UPDATE DELETE 语句对表进行修改时,或执行 Create ALTER DROP 等语句创建方案对象时, Oracle 都会为这些操作生成重做记录。重做日志高速缓存就是用于存储重做记录的缓存。
当重做日志缓存达到一定数量后,由 LGWR 进程将其写入相应的日志文件。 Oracle 总是先做日志文件,后才做数据文件的,先缓存进内存,再写入硬盘的,前者是为了方便恢复,后者为了提高效率
         Oracle数据库中,用户可以直接操作表、视图等数据库对象,对于这些对象Oracle不是随意保存在数据库中的,Oracle通过模式“Schema”来组织和管理这些数据库对象,并且一个模式只有一个用户。也就是说,模式是属于特定用户的数据库对象集合。
         模式与用户一一对应,模式本身并不是对象,它只是一个用来描述属于特定用户的对象结合的术语。