体系结构是对系统框架的描述,是设计一个系统的宏观工作。数据库系统结构设计了整个数据库系统的组成和各个部分组件的功能,这些组件各司其职、相互协调完成数据库的管理和数据维护工作。
Oracle体系结构图:
其中,数据库实例包括SGA(系统全局区)和一系列后台进程。 数据库包括三种文件:数据文件、控制文件、和重做日志文件。数据库实例和数据库是Oracle数据库体系结构的核心部分,DBA很重要的工作就是维护实例和数据库的正常工作。
1.数据库实例
由一些内存区和后台进程组成。要访问数据库要先启动实例,实例启动时,先分配内存区,然后再启动后台进程,后台进程执行数据库的输入、输出以及监控其他Oracle进程,有五个进程是必须要启动的,系统监控进程(SMON)、进程监控(PMON)、数据库写进程(DBWR)、日志写进程(LGWR)和检查点进程(CKPT),数据库启动过程中可以在告警日志(alertSID.ora)中看到详细的过程。
2. Oracle服务器
Oracle服务器是由数据库实例和数据库文件组成,我们称之为DBMS,数据库服务器除了维护实例和数据库文件外,还在用户建立与服务器连接时启动服务器进程并分配PGA(程序全局区)
物理结构:指数据库中的一系列操作系统文件,Oracle数据库有三类文件组成
1.数据文件(datafiles):包括数据库中的实际数据,是数据库操作中数据的最终存储位置
2.控制文件(controlfile):包括维护数据库和验证数据库完整性的信息,是二进制文件。
3.重做日志文件(redo file):重做日志文件包含数据库发生变化的记录,用于发生故障时进行数据恢复。
数据库的参数文件和密码文件:
他们不是数据库文件,但是却不可缺少
参数文件(parameter file)定义了数据库实例的特性。包含 为SGA中内存结构分配空间的参数,如分配数据库缓冲区的大小等。
密码文件(password file)授于用户启动和关闭数据库实例权限,在刚安装数据库时,Oracle的默认用户名和密码就存储在密码文件中,Oracle可以判断用户的操作权限
归档日志文件:是日志文件的脱机备份,在发生故障后进行数据恢复时可能用到此文件。
用户会话(session)
专有连接:当用户通过某种工具如sqlplus在转悠连接的情况下访问数据库,在输入用户名和密码经过服务器验证后,服务器就好自动创建一个与该用户进程对应的数据库进程,二者是一对一的关系,这里服务器进程就像用户进程的代理,代替用户进程相数据库服务发出各种请求,并把从数据库服务器获取的数据返回给用户进程,在用户退出时或发生异常时会话结束。一个用户可以并发的建立多个会话。连接仅仅是一种通信途径,一个用户可以启动多个进程通过一个连接建立多个会话
多对一的关系:在共享服务器的配置下,多个用户进程可以同时共享服务器进程,此时就不是专有连接。
Oracle的内存结构
SGA和PGA