上图为数据库结构体系的展示。
其中数据库的实例包括SGA和一系列后台管理,监视进程。
数据库包括三种文件:数据文件、控制文件、重做日志文件。
数据库和数据库实例是oracle结构体系中核心的部分。
oracle服务器和实例
oracle服务器和实例是不同的两个概念,服务器不仅仅是物理概念,还包括系统进程,而实例则是重点的维护对象。
-
oracle实例(instance)
要访问数据库必须先启动实例。
实例启动时先分配内存区,然后再启动后台进程,后台进程执行数据库的输入、输出以及监控其他oracle进程。
数据库启动中有五个进程是必须启动的(SMON、PMON、CKPT、DBWR、LGWR)否则实例无法创建。
我们可以在警告日志中查看到详细过程。
如何查看警告日志:https://mp.csdn.net/console/editor/html/105365148
注意:如果计算机重启时自动启动数据库,如果用户安装了其他占用大量内存的应用软件,可能会导致内存不足,系统无法为oracle分配SGA,必须的五个进程也无法启动
-
oracle服务器(server)
oracle服务器由数据库实例和数据库文件组成,这就是数据库管理系统(DBMS)。
数据库服务器除了维护实例和数据库文件外,还在用户建立与服务器的连接时启动服务器进程并分配PGA(程序全局区)。
-
oracle数据库物理结构(文件组成)
oracle数据库的物理结构就是数据库中的一系列操作系统文件,oracle数据库由三类文件组成:
- 数据文件:数据文件包含数据库中的实际数据,是数据库操作中数据的最终储存位置。
- 控制文件:包含维护数据库和验证数据库完整性的信息,它是二进制文件。
- 重做日志文件:重做日志文件包含数据库发生变化的记录,是在发生故障时用于数据恢复。
-
参数文件、密码文件和归档日志文件
虽然这三个文件不是oracle数据库文件,但却是数据库不可缺少的三个文件。
- 参数文件:参数文件中定义了数据库实例的特性。在参数文件中包含为SGA中内存结构分配空间的参数,如何分配数据库告诉缓冲区的大小等,参数文件时正文文件,可以使用vim查看。
- 密码文件:密码文件授予用户启动和关闭数据库实例,在刚安装完数据库时,oracle的默认用户名和密码就存储在密码文件中,oracle可以借此判断用户的操作权限。
- 归档日志文件:归档日志文件时日志文件的脱机备份,是在发生故障后进行数据恢复时可能使用到改文件。
数据库连接与会话
连接与会话是紧密相关的两个概念。
-
数据库连接
连接时用户与数据库服务器之间的通信途径,一个会话可以提供多个连接。oracle提供了多重数据库连接的方式,以下列举三种连接方式:
- 基于主机的连接方式:客户端与服务器在同一台计算机上。
- 基于客户机-服务器的方式:客户端与服务器在不同计算机上,客户通过网络连接数据库,远程访问、维护等。
- 客户应用服务器-数据库服务器:这种方式成为三层访问模式,用户首先访问应用服务器,然后由应用服务器连接数据库。
-
会话
会话是指一个明确地数据库连接。用户一旦采用一种方式连接数据库,我们就称这种连接为一个会话。
一个用户可以发起多个会话,例如用sys用户建立两个会话后查看,可以看到同时有两个会话sys用户
SQL> select username,status from v$session;
USERNAME STATUS
------------------------------------------------------------ ----------------
SYS ACTIVE
SYS