实例和服务器进程有什么区别,它们各自的生命周期是什么?
答案1
数据库正式由一堆文件(数据文件、重做日志、控制文件、参数文件)组成。
实例是服务器上运行的一组进程和一块内存。大多数情况下,实例会打开一个数据库,并在实例中“实时”运行会话以与数据库进行交互。一个实例仅连接到一个数据库。
在 RAC(真正应用集群)配置中,多个服务器上的单独实例可以打开同一个数据库。
一台服务器还可以运行多个实例,每个实例运行一个单独的数据库。一个常见的例子是开发和测试数据库实例在同一台机器上运行。[就我个人而言,我预计这种情况不会发生,因为在同一台机器上的不同虚拟服务器上运行开发和测试可以提供更好的控制。]
服务器上的进程将属于特定实例,数据库侦听器除外。单个侦听器可能会进行侦听(通常在端口 1521 上),并根据请求的 SID 或服务将连接传递给单独的实例。