oracle实例是什么

Oracle实例指的是由Oracle内存结构(SGA)和Oracle进程组合在一起的统称。我们常说的Oracle数据库指的是Oracle数据库管理系统,它是由Oracle 数据库(数据存储)和管理数据库的实例组成的。

Oracle实例就是Oracle利用后台内存结构(SGA)和进程来管理oracle数据库,同时提供服务。我们可以做一个通俗的比喻,可以把Oracle数据库管理系统比作仓库,数据库(物理存储、数据文件、日志文件等)就是仓库当中的货物和记账本。而Oracle实例就是负责看管仓库,负责提货开门锁门的部门。

数据库实例,包括有数据库后台进程(PMON:进程监控、SMON:系统监控、DBWR:数据库读写、LGWR:日志读写、CKPT:检查点等)和内存区域SGA(包括shared pool:共享池、db buffer cache:数据库高速缓存、redo log buffer:重做日志缓存区、DC:数据字典高速缓存等)。

Oracle实例是一系列复杂的内存结构和操作系统进程 。在任何时刻一个Oracle实例只能和一个数据库关联,就比如一个门只能进一个数据库仓库一样。但是一个数据库是可以有多个实例的,就如一个仓库可能会有多个门一样。


Oracle实例工作过程

Oracle实例是如何进行管理数据库的呢?大致步骤如下:

1、启动实例(分配SGA和启动Oracle进程)。

2、实例启动后,装配数据库,装配时实例会通过查询和加载控制文件,让实例和数据库进行关联。

3、数据库准备打开。

4、数据库打开(打开后,授权的相关用户就可以读取数据库了)

5、关闭数据库(先卸载数据库,后关闭实例。)

这里,我所说的数据库和实例的开启和关闭只能通过DBA权限的用户才能操作。