Oracle数据库中的实例和服务器进程有什么区别?

我现在正在熟悉Oracle数据库。 不幸的是,我对概念实例和服务器进程感到困惑。

我的问题是实例和服务器进程有什么区别。 更重要的是,实例和服务器进程的生命周期分别是多less? 我手边的教科书是关于Oracle 9i的,它没有给我一个清晰的解释。

任何答复将不胜感激。 提前致谢。

亲切的问候!

[社区Wiki的回应在这里最合适]

数据库正式是一堆文件(数据文件,重做日志,控制文件,参数文件)。

实例是在服务器上运行的一组进程和一大块内存。 大多数情况下,一个实例有一个数据库打开,会话在实例中与数据库进行交互。 一个实例只连接到一个数据库。

在RAC(真正应用集群)configuration中,多个服务器上的不同实例可以打开相同的数据库。

服务器也可以运行多个实例,每个实例运行一个单独的数据库。 一个常见的例子就是开发和testing数据库实例在同一台机器上运行。 [个人而言,我希望看到更less的这一点,因为在单独的虚拟服务器上进行开发和testing可以提供更多的控制。]

服务器上的进程将属于特定的实例,但数据库侦听器除外。 单个监听器可以监听(通常在端口1521上),并根据所请求的SID或服务将连接closures以分离实例。