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

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

sinye56 2024-09-29 21:48 5 浏览 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部分的内容,因为弄不了跳转链接,其他内容只能大家关注然后去最近动态找了。

相关推荐

RHEL8和CentOS8怎么重启网络

本文主要讲解如何重启RHEL8或者CentOS8网络以及如何解决RHEL8和CentOS8系统的网络管理服务报错,当我们安装好RHEL8或者CentOS8,重启启动网络时,会出现以下报错:...

Linux 内、外网双网卡路由配置

1.路由信息的影响Linux系统中如果有多张网卡的情况下,如果路由信息配置不正确,...

Linux——centos7修改网卡名

修改网卡名这个操作可能平时用不太上,可作为了解。修改网卡默认名从ens33改成eth01.首先修改网卡配置文件名(建议将原配置文件进行备份)...

CentOS7下修改网卡名称为ethX的操作方法

?Linux操作系统的网卡设备的传统命名方式是eth0、eth1、eth2等,而CentOS7提供了不同的命名规则,默认是基于固件、拓扑、位置信息来分配。这样做的优点是命名全自动的、可预知的...

Linux 网卡名称enss33修改为eth0

一、CentOS修改/etc/sysconfig/grub文件(修改前先备份)为GRUB_CMDLINE_LINUX变量增加2个参数(net.ifnames=0biosdevname=0),修改完成...

CentOS下双网卡绑定,实现带宽飞速

方式一1.新建/etc/sysconfig/network-scripts/ifcfg-bond0文件DEVICE=bond0IPADDR=191.3.60.1NETMASK=255.255.2...

linux 双网卡双网段设置路由转发

背景网络情况linux双网卡:网卡A(ens3)和网卡B(...

Linux-VMware设置网卡保持激活

Linux系统只有在激活网卡的状态下才能去连接网络,进行网络通讯。修改配置文件(永久激活网卡)...

VMware虚拟机三种网络模式

01.VMware虚拟机三种网络模式由于linux目前很热门,越来越多的人在学习linux,但是买一台服务放家里来学习,实在是很浪费。那么如何解决这个问题?虚拟机软件是很好的选择,常用的虚拟机软件有v...

Rocky Linux 9/CentOS Stream 9修改网卡配置/自动修改主机名(实操)

推荐...

2023年最新版 linux克隆虚拟机 解决网卡uuid重复问题

问题描述1、克隆了虚拟机,两台虚拟机里面的ip以及网卡的uuid都是一样的2、ip好改,但是uuid如何改呢?解决问题1、每台主机应该保证网卡的UUID是唯一的,避免后面网络通信有问题...

Linux网卡的Vlan配置,你可能不了解的玩法

如果服务器上连的交换机端口已经预先设置了TRUNK,并允许特定的VLAN可以通过,那么服务器的网卡在配置时就必须指定所属的VLAN,否则就不通了,这种情形在虚拟化部署时较常见。例如在一个办公环境中,办...

Centos7 网卡绑定

1、切换到指定目录#备份网卡数据cd/etc/sysconfig/network-scriptscpifcfg-enp5s0f0ifcfg-enp5s0f0.bak...

Linux搭建nginx+keepalived 高可用(主备+双主模式)

一:keepalived简介反向代理及负载均衡参考:...

Linux下Route 路由指令使用详解

linuxroute命令用于显示和操作IP路由表。要实现两个不同子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。在Linux系统中,设置路由通常是为了解决以下问题:该...

取消回复欢迎 发表评论: