百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

超详细的oracle DB体系结构图(二)

mhr18 2024-09-13 20:35 29 浏览 0 评论

继上一次的oracle体系结构图分享

http://mp.toutiao.com/preview_article/?pgc_id=6606150574113030664,

关于oracle体系结构图第二部分如下:


数据库管理员可以配置称为“大型池”的可选内存区,以便为以下对象提供大型内存分配:

? 共享服务器的会话内存和 Oracle XA 接口(在事务处理与多个数据库交互时使用)

? I/O 服务器进程

? Oracle DB 备份和还原操作

通过从大型池中为共享服务器、 Oracle XA 或并行查询缓冲区分配会话内存, Oracle DB

可以主要使用共享池来缓存共享 SQL,并避免由于收缩共享 SQL 高速缓存而导致的性能

开销。

此外,用于 Oracle DB 备份和还原操作、 I/O 服务器进程以及并行缓冲区的内存以数百 KB

的缓冲区进行分配。与共享池相比,大型池可以更好地满足此类大型内存请求。

大型池没有 LRU 列表。它与共享池中的保留空间不同,后者与从共享池中分配的其它内

存使用相同的 LRU 列表。


Java 池指导统计信息提供了用于 Java 的库高速缓存内存的相关信息,并预测 Java 池大小

的变化如何影响语法分析速率。当 statistics_level 设置为 TYPICAL 或更高值时,

将在内部打开 Java 池指导。关闭该指导时,将重置这些统计信息。

流池由 Oracle Streams 独占使用。流池存储缓冲的队列消息,并且为 Oracle Streams 捕获

进程和应用进程提供内存。

除非对流池进行专门配置,否则其大小从零开始。当使用 Oracle Streams 时,池大小会根

据需要动态增长。


程序全局区 (PGA) 是一个专用内存区,其中包含服务器进程的数据及控制信息。每个服务器进程都有独立的 PGA。 PGA 只能由相应的服务器进程访问,并且只有代表该服务器进程的 Oracle 代码可以读取它。开发人员的代码不能访问 PGA。

每个 PGA 都包含堆栈空间。在专用服务器环境中,连接到数据库实例的每个用户都有单独的服务器进程。对于这种类型的连接, PGA 包含一个名为用户全局区 (UGA) 的内存细分部分。 UGA 包括以下部分:

? 游标区,用于存储游标的运行时信息

? 用户会话数据存储区,用于存储有关会话的控制信息

? SQL 工作区,用于处理 SQL 语句,其中包括:

- 排序区,用于对数据排序的函数,如 ORDER BY 和 GROUP BY

- 散列区,用于执行表的散列联接

- 位图创建区,用于创建数据仓库常用的位图索引

- 位图合并区,用于解析位图索引计划的执行

在共享服务器环境中,多个客户机用户共享服务器进程。在这种模式下, UGA 将移入SGA(共享池,如果经过配置也可是大型池), PGA 仅包含堆栈空间。


Oracle DB 系统中的进程主要分为两组:

? 运行应用程序或 Oracle 工具代码的用户进程

? 运行 Oracle DB 服务器代码的 Oracle DB 进程(包括服务器进程和后台进程)

当用户运行应用程序或 Oracle 工具(例如 SQL*Plus)时, Oracle DB 会创建一个“用户

进程”以运行该用户的应用程序。 Oracle DB 还会创建一个“服务器进程”以执行该用户

进程发出的命令。此外, Oracle 服务器还会为实例创建一组“后台进程”,这些进程不仅

彼此交互,而且还与操作系统交互,以便管理内存结构,通过异步执行 I/O 操作将数据写

入磁盘,并执行其它需要的任务。

对于不同的 Oracle DB 配置,进程结构也有所不同,具体取决于操作系统和选择的 Oracle

DB 选件。已连接用户的代码可以配置为专用服务器或共享服务器。

? 专用服务器: 对于每个用户,运行数据库应用程序的用户进程都由执行 Oracle DB 服

务器代码的专用服务器进程提供服务。

? 共享服务器: 不必为每个连接都提供一个专用服务器进程。分派程序将多个传入网络

会话请求引到共享服务器进程池。共享服务器进程为所有客户机请求提供服务。


安装 Oracle Grid Infrastructure 时,会在操作系统的 /etc/inittab 文件中放入条目,以启动包装脚本。该包装脚本负责设置环境变量,然后启动 Oracle Grid Infrastructure守护程序和进程。

使用命令停止 Oracle Grid Infrastructure 时,守护程序会停止,但包装脚本进程仍会运行。

UNIX 下的 /etc/inittab 文件格式如下:

id : run levels : action : process with parameters

由于包装脚本是使用 respawn 操作启动的,因此终止后,它都会重新启动。

在 Oracle Grid Infrastructure 守护程序启动以后,有些将在 root 用户身份下以实时优先级运行,而另一些将在 Oracle Grid Infrastructure 所有者身份下以用户模式优先级运行。在 Windows 平台上,使用的是操作系统服务而非初始化包装脚本,而且守护程序是二进制的可执行文件。

注: 不支持直接执行包装脚本。


构成 Oracle DB 的文件可划分为以下类别:

? 控制文件: 包含与数据库本身相关的数据,即物理数据库结构信息。这些文件对数据库至关重要。没有这些文件,就无法打开数据文件以访问数据库中的数据。

? 数据文件: 包含数据库的用户或应用程序数据,以及元数据和数据字典

? 联机重做日志文件: 用于进行数据库的实例恢复。如果数据库服务器发生崩溃,但未丢失任何数据文件,那么实例便可使用这些文件中的信息恢复数据库。

下列附加文件对成功运行数据库非常重要:

? 参数文件: 用于定义实例启动时的配置

? 口令文件: 允许 sysdba、 sysoper 和 sysasm 远程连接到实例并执行管理任务

? 备份文件: 用于进行数据库恢复。如果原始文件在发生介质故障或用户错误时被损坏或删除,通常要还原备份文件。

? 归档重做日志文件: 包含实例发生的数据更改(重做)的实时历史记录。使用这些文件和数据库备份,可以恢复丢失的数据文件。也就是说,归档日志能够恢复还原的数据文件。

? 跟踪文件: 每个服务器和后台进程都可以写入关联的跟踪文件。当进程检测到内部错误时,进程会将有关该错误的信息转储到相应的跟踪文件中。写入跟踪文件的一些信息是为数据库管理员提供的,而其它信息是为 Oracle Support Services 提供的。

? 预警日志文件: 这些文件包含特殊的跟踪条目。数据库的预警日志是按时间顺序列出的消息日志和错误日志。


篇幅有限,只能分成3部分分享给大家,觉得有用的走波关注哦~

其他2部分的内容,因为弄不了跳转链接,其他内容只能大家关注然后去最近动态找了。

相关推荐

甲骨文签署多项大型云协议,其一未来可贡献超300亿美元年收入

IT之家7月1日消息,根据甲骨文Oracle当地时间6月30日向美国证券交易委员会(SEC)递交的FORM8-K文件,该企业在始于2025年6月1日的202...

甲骨文获TEMU巨额合同,后者大部分基础设施将迁移至Oracle云

IT之家6月23日消息,Oracle甲骨文创始人、董事长兼首席技术官LarryEllison(拉里埃里森)在本月早些时候的2025财年第四财季和全财年财报电话会议上表示,Oracle...

Spring Boot 自定义数据源设置,这些坑你踩过吗?

你在使用SpringBoot进行后端开发的过程中,是不是也遇到过这样的问题:项目上线后,数据库连接总是不稳定,偶尔还会出现数据读取缓慢的情况,严重影响了用户体验。经过排查,发现很大一部分原因竟然...

一个开箱即用的代码生成器(一个开箱即用的代码生成器是什么)

今天给大家推荐一个好用的代码生成器,名为renren-generator,该项目附带前端页面,可以很方便的选择我们所需要生成代码的表。首先我们通过git工具克隆下来代码(地址见文末),导入idea。...

低代码建模平台-数据挖掘平台(低代码平台的实现方式)

现在来看一下数据连接。·这里是管理数据连接的空间,点击这里可以新增一个数据连接。·输入连接名称,然后输入url,是通过gdbc的方式去连接的数据库,目前是支持mysql、oracle以及国产数据库达梦...

navicat 17.2.7连接oracle数据库提示加载oracle库失败

系统:macOS15.5navicat版本:navicatpremiumlite17.2.7连接oracle测试报错:加载oracle库失败【解决办法】:放达里面找到程序,显示简介里面勾选“使...

开源“Windows”ReactOS更新:支持全屏应用

IT之家6月17日消息,ReactOS团队昨日(6月16日)在X平台发布系列推文,公布了该系统的最新进展,包括升级Explorer组件,支持全屏应用,从Wine项目引入了...

SSL 推出采用全模拟内置混音技术的模拟调音台Oracle

英国调音台传奇品牌SolidStateLogic宣布推出Oracle——一款采用全模拟内置混音技术的调音台,在紧凑的AWS尺寸机箱内集成了大型调音台的功能。该调音台提供24输入和...

47道网络工程师常见面试题,看看有没有你不会的!

你们好,我的网工朋友。网络工程师面试的时候,都会被问到什么?这个问题其实很泛,一般来说,你肯定要先看明白岗位需求写的是什么。基本上都是围绕公司需要的业务去问的。但不可否认的是,那些最基础的概念,多少也...

汉得信息:发布EBS系统安装启用JWS的高效解决方案

e公司讯,从汉得信息获悉,近日,微软官方宣布InternetExplorer桌面应用程序将于2022年6月15日正式停用。目前大部分客户都是使用IE浏览器打开EBS的Form界面,IE停用后,只能使...

36.9K star ! 推荐一个酷炫低代码开发平台!功能太强!

前言最近在逛github,看看能不能搜罗到一些对自己有帮助的开源软件。不经意间看到一个高star的java开源项目:jeecg-boot。进入在线演示版一看,感叹实在是太牛了!此开源项目不管是给来学习...

Linux新手入门系列:Linux下jdk安装配置

本系列文章是把作者刚接触和学习Linux时候的实操记录分享出来,内容主要包括Linux入门的一些理论概念知识、Web程序、mysql数据库的简单安装部署,希望能够帮到一些初学者,少走一些弯路。注意:L...

手把手教你在嵌入式设备中使用SQLite3

摘要:数据库是用来存储和管理数据的专用软件,使得管理数据更加安全,方便和高效。数据库对数据的管理的基本单位是表(table),在嵌入式linux中有时候它也需要用到数据库,听起来好难,其实就是几个函数...

JAVA语言基础(java语言基础知识)

一、计算机的基本概念什么是计算机?计算机(Computer)全称:电子计算机,俗称电脑。是一种能够按照程序运行、自动高速处理海量数据的现代化智能电子设备。由硬件和软件组成、没有安装过任何软件的计算机称...

再见 Navicat!一款开源的 Web 数据库管理工具!

大家好,我是Java陈序员。在日常的开发工作中,常常需要与各种数据库打交道。而为了提高工作效率,常常会使用一些可视化工具进行操作数据库。今天,给大家介绍一款开源的数据库管理工具,无需下载安装软件,基...

取消回复欢迎 发表评论: