当前位置:网站首页>oracle11g体系结构
oracle11g体系结构
2022-08-10 17:22:00 【赟文武】
oracle数据库实例、oracle数据库、oracle服务器
服务器由数据库、数据库实例管理和数据库的各种软件工具(比如sqlplus 、OEM 等)
- 数据库实例可以看作“有某些行为的中转站”
- 数据库可以看作“仓库”
- 数据库的各种软件工具可以看作用户需求的一种解释器(“翻译官”)
(1)数据库实例——内存结构与后台进程的集合
- 内存结构
众所周知,从内存上读取数据要比从硬盘上读取数据快好几倍,数据库实例的内存区简单的理解就是为了读取数据可以更快
SGA与PGA可以理解为不同权限的文件夹,SGA理解为共享文件夹,在同一局域网下用户均可访问修改;PGA可以理解为私有文件夹,为某个用户所私有而不能被其他用户所使用
共享池——存储最近执行的SQL语句与最近使用的数据字典的数据
数据缓冲区——用来存储最近从数据文件中读写过的数据
日志缓冲区——记录服务或后台对数据库的操作
java池——用来存储java代码(非普通java代码而是可以转换为sql语句的JAVA代码)
stream池——流技术
large池——用来存储不与SQL直接相关的大型内存结构。备份、恢复使用
进程结构
- 用户进程可以简单理解为用户在本地计算机相关数据库软件上编写一条sql语句
- 服务器进程即响应用户进程的相关进程
- 后台进程可以理解为让自己变得更好的进程
- PMON——该进程在用户进程出现故障时执行进程恢复,负责清理内存储区和释放该进程所使用的资源。
- SMON——系统监控,功能类似于计算机用户手动清理temp文件夹和用户手动打开任务管理器关闭打开进程
- LGWR——日志缓冲区中数据写入重做日志
- CKPT——该进程负责向DBWR进程发送信号,执行一次检查点,并更新数据库所有数据和控制文件
查看启动了几个DBWR进程:
--登录sys用户或 /
select * from v$process where program like '%DBW%';
- DBWR——将脏数据从数据缓存写回磁盘
(2)数据库——存储数据的集合(“有什么东西[数据文件]、干了什么事等[日志文件等]、其他两个文件信息以及状态等[控制文件]”)
- 逻辑结构(逻辑组件)
(1)表空间——最大逻辑单位
- SYSTEM——系统表空间,存放系统最基本的信息
- SYSAUX——SYSTEM表空间的辅助表空间,减少SYSTEM空间的负荷
- TEMP——临时表空间
- UNDOTBS1——撤销表空间,保存用户进行DML操作中,修改前的数据。
- USERS——数据库默认的永久表空间
(2)段——构成表空间的逻辑存储结构,段由一组区组成
(3)区——段分配空间,由连续数据块组成
(4)数据块——Oracle服务器所能分配、读取或写入的最小存储空间
(5)模式——用户所创建的数据库对象的总称呼,可简单将一个用户理解为一个模式
- 物理结构(物理组件)
(1)数据文件——存储数据库数据
(2)控制文件——记录数据库物理结构的二进制文件
(3)在线日志文件——对数据库的所有修改信息,用于故障恢复
上述3条为主要物理文件,丢失后不能继续运行,需要介质恢复即运行必须文件
(4)参数文件
(5)密码文件
(6)告警和跟踪文件
(7)归档日志文件
(8)备份文件
上述5条为非主要物理文件,丢失后仍可以运行即非必须运行文件
oracle主要组件
启动 Oracle 数据库服务器实际上是在服务器的内存中创建一个 Oracle 实例,然后用这个实例来访问和控制磁盘中的数据文件。当用户连接到数据库时,实际上连接的是数据库的实例,然后由实例负责与数据库进行通信,最后将处理结果返回给用户。
举个例子吧:
编写sql命令(select * from emp;),服务器进程进行响应,在内存区域中进行是否存在该语句,语法分析,执行等,拿出查询到的数据,将查询信息写入日志文件,将执行sql结果返回客户端;
当第二次运行该命令时,共享池中存在该条sql语句相关命令,其会直接从内存取数据而不会从硬盘拿数据,提高性能
11g中自动内存管理
oracle11g中的新的内存管理特性自动化内存管理(automatic memory management即AMM)。在该新特性之下SGA与PGA将会根据需要自动的扩展与收缩。
首先确保初始化参数statistics_level为typical或all,才能使用该功能
- memory_target——整个内存的大小(SGA+PGA),可以动态设置,不能超过memory_max_target的值
- memory_max_target——memory_target最大可以达到的值,修改该参数必须重启数据库
--确保sga_target和pga_aggregate_target的值应该设置成0。(管理员账户登录)
SHOW PARAMETERS target
修改命令如下图所示(具体大小设置不再详细解释):
边栏推荐
- 强网杯2021final
- 【Web3 系列开发教程——创建你的第一个 NFT(8)】如何开发一个成功的 NFT 项目 | NFT 社区建设技巧
- HDLBits: 在线学习 SystemVerilog(零)-在线“巡礼” HDLBits
- 百日刷题挑战--错题01day
- Embedded Development: Embedded Basics - Mapping Peripherals Using Arrays of Pointers
- 烟雾、空气质量、温湿度…自己徒手做个环境检测设备
- 瑞虎8 PRO产品性能分析,一文读懂究竟何为“全域动力科技旗舰”
- 2021强网杯
- mysql包select结果无法同步的问题
- 神经网络如何提高准确率,神经网络的求解方式
猜你喜欢
随机推荐
雷达人体存在感应器,人体感知控制应用,为客户提供真实的感知方案
一颗完整意义的LPWAN SOC无线通信芯片——ASR6601
程序员兼职踩到的坑,本人亲身经历
bp神经网络反向传播原理,BP神经网络反向传播
DASCTF2022.07 empowerment competition WEB topic recurrence
R语言使用ggpubr包的ggbarplot函数可视化柱状图、设置add参数为mean_se和jitter可视化不同水平均值的柱状图并为柱状图添加误差线(se标准误差)和抖动数据点分布
在 Istio 服务网格内连接外部 MySQL 数据库
leetcode:337. 打家劫舍 III
【接入指南 之 直接接入】手把手教你快速上手接入HONOR Connect平台(上)
leetcode:159.最多有两个不同字符的最长子串
Colocate Join :ClickHouse的一种高性能分布式join查询模型
promise笔记(四)
R语言ggplot2可视化:使用ggpubr包的text_grob函数和as_ggplot函数可视化文本段落(将指定文本段落可视化出来、指定文本段可视化为图像)、face参数指定文本的字体样式
符合信创要求的堡垒机有哪些?支持哪些系统?
Embedded Development: Embedded Basics - Mapping Peripherals Using Arrays of Pointers
PC软件问题二[Win10系统将UltraEdit添加到右键菜单的方法]
多线程与高并发(11)——经典面试题之实现一个容器,提供两个方法,add,size。
BalsnCTF2021
烟雾、空气质量、温湿度…自己徒手做个环境检测设备
事务的隔离级别,MySQL的默认隔离级别