数据库与实例
Oracle是一个广泛应用于企业的关系型数据库管理系统。它是由甲骨文公司开发的。Oracle系统至少由一个实例和一个数据库组成。实例是与数据存储进行通信的进程的集合。数据库是保存文件集合的实际存储器。然而,术语Oracle数据库是指整个Oracle数据库系统(实例和数据库)。正因为如此,对于初学者来说,术语数据库和实例之间总是有些混淆。
什么是实例?
实例是运行在操作系统之上的进程的集合,以及与数据存储交互的相关内存。实例是用户和数据库之间的接口。实例提供了能够与客户端通信和访问数据库的进程。这些进程是后台进程,它们不足以在数据库中维护ACID(原子性、一致性、隔离性和持久性)原则。因此,实例也很少使用其他组件,如内存缓存和缓冲区。更具体地说,实例由三部分组成。它们是SGA(系统全局区域)、PGA(程序全局区域)和后台进程。SGA是一个临时共享内存结构,它的生命周期从实例启动到关闭。
数据库
Oracle数据库是指Oracle RDBMS的实际存储。它由三个主要部分组成。它们是控制文件、重做文件和数据文件。数据库中也可以有密码文件。控制文件跟踪所有数据文件和重做文件。它还可以通过跟踪系统更改号(SCN)、时间戳和其他关键信息(如备份/恢复信息)来保持数据库的完整性。数据文件保存实际数据。在创建数据库时,至少会创建两个数据文件。DBA(数据库管理员)可以看到这些文件。可以对数据文件进行重命名、调整大小、添加、移动或删除等文件操作。与重做日志有关的信息,也叫做重做日志。如果用户需要重做对数据库的全部或部分修改,则需要此信息。为了让实例操作数据库的数据,它应该首先打开它。一个实例只能打开一个数据库。但是,数据库可以由多个实例打开。
数据库和实例有什么区别?