数据库系统(DBS)、数据库管理系统(DBMS)、与数据库之间的关系图如上:
我们与数据库之间的操作都是通过与数据库实例进行交互来完成的。
实例的组成:
1.内存结构
内存空间分为两大类:1)SGA(系统全局区)
包含各个数据库进程之间共享的数据信息。
2)PGA(进程全局区) 其中包括UGA(用户全局区)
包含各个数据库进程各自私有的数据信息。以及用户私有信息。
SGA又可分为以下几块:
块缓冲区:数据写入磁盘前或从磁盘读取数据之后,都会将数据存入块缓冲区。
重做缓冲区:写入重做日志之前先缓冲在这。
共享池:其中包含字典缓冲区等。
大共享池:一个大的内存空间,主要用于语句并行执行、共享服务器连接和备份。
java池:支持java功能。
固定SGA:存储一些参数。
2.后台进程
PMON:进程监视器,用于监测和销毁故障服务器进程。
SMON:系统监视器,用于执行实例的恢复,清除临时断和执行盘区结合。
DBWR:数据写入进程,用于将数据写入数据文件,管理缓冲区。
LGWR:日志写入进程,用于文档的管理。
ARCH:归档进程,负责备份数据库。
CKPT:检查点,备份日志,回滚失败事件。
RECO:进行数据库进程恢复,保持一致性。
数据库启动时,先分配系统全局区,然后载入常驻进程。
连接数据库涉及3个方面:
用户进程(sqlplus等客户端)、oracle监听器、oracle网络客户。
oracle网络服务器模式:
专用服务器模式:
共享服务器模式:
逻辑存储结构: