当前位置: 首页 > article >正文

Oracle数据库架构入门概述

本文分为四个部分简单概述一、入门概述二、数据库实例简述三、数据库物理存储和逻辑存储结构简述四、网络体系结构概述入门概述Oracle 数据库服务器包括一个数据库和至少一个数据库实例 通常是指只有一个实例。 因为实例和数据库关联紧密通常我们说Oracle 数据库这个术语一般既指实例也指数据库。数据库数据库是一组文件位于磁盘用于存储数据。 这些文件可以独立于数据库实例存在。数据库实例实例是管理数据库文件的一组内存结构。 该实例包含一个叫做系统全局区 SGA 的共享内存区和一组后台进程。 实例可以独立于数据库文件而存在。数据库与实例的关系1oracle 11g版本及之前单库环境下一个实例对应一个数据库可以理解一个实例管理和维护一个数据库RAC集群环境下多台Oracle 数据库服务器的实例对应一个数据库可以理解为多个实例每个集群服务器上一个实例管理和共同维护一个数据库同一份物理数据文件212c版本及之后非容器数据库非CDB类型数据库与实例的概念与以前版本完全一致容器数据库CDB类型一个CDB数据库可以创建很多PDB数据库因此这种情况下一个实例管理和维护多个PDB数据库N:1的关系RAC集群环境下多台Oracle 数据库服务器的实例管理和维护多个PDB数据库N:N的关系备注Oracle 21c版本以后只能创建容器类型的数据库了。物理和逻辑角度观察数据库物理角度是在操作系统级别可查看的数据。 例如使用操作系统实用程序如 Linux ls 和 ps可以列出数据库文件和进程。逻辑角度表、视图、索引等这样的逻辑数据只在数据库层面有意义。 SQL 语句可以列出 Oracle 数据库中的表但操作系统实用程序却不能。Oracle数据库和实例架构图数据库实例简述Oracle 数据库使用内存结构和进程来管理和访问数据库。可以将Oracle实例简单理解为一块内存区域和一组进程。当应用程序连接到 Oracle 数据库时会有一个服务端进程为其一对一服务专用模式下服务端进程连接到一个数据库实例。 实例为其分配除 SGA 之外的其他内存区。Oracle内存结构Oracle 数据库创建和使用内存结构有几个目的例如用于在多个用户之间共享程序代码和数据的内存以及用于每个已连接用户的私有数据区域系统全局区(SGA)SGA 是数据库实例的一组共享的内存结构包含一个数据库实例的数据和控制信息。 例如SGA 组件包括数据块缓存和共享 SQL 区域。程序全局区(PGA)PGA 是数据库实例的一个非共享内存区域包含专供服务器进程或后台进程使用的数据和控制信息。每个服务器进程和后台进程都有其自己的 PGA。Oracle数据库进程客户端进程运行在客户端操作系统这些进程被创建和维护主要用来运行应用程序代码或 Oracle 工具。 多数环境中都由单独的计算机来运行客户端进程。服务端进程运行在oracle服务器操作系统这些进程与客户端进程通信并与 Oracle 数据库进行交互以完成客户端请求。后台进程运行在oracle服务器操作系统后台进程是数据库实例的一部分它们执行维护任务、操作数据库、最大化并发环境下的性能等等。每个后台进程执行一个独特的任务例如将内存数据块写入磁盘文件的数据库写进程将日志缓存写入磁盘日志文件的日志写进程等等进程之间互相协同完成整体工作。备注Oracle 进程包括服务器进程和后台进程。 在大多数的环境中 Oracle 进程和客户端进程在不同的计算机上运行。数据库物理存储和逻辑存储结构简述物理存储结构物理数据库结构即存储数据的文件。数据文件每个 Oracle 数据库都有一个或多个物理数据文件其中包含数据库的所有数据。数据库的逻辑数据结构如表和索引物理上就是存储在这些数据文件中。现实数据库的使用环境中我们所有的业务表数据全都存放在数据文件中。控制文件每个 Oracle 数据库都有一个控制文件。 控制文件包含指定数据库物理结构的元数据包括数据库名称数据文件的位置和名称、日志文件的位置和名称等。在线重做日志文件每个数据库都有一个联机重做日志它包含两个或更多联机重做日志文件。 一个联机重做日志由许多重做项组成也称为重做记录以记录对数据所做的所有更改你可以理解为一个不断记录的视频、该视频记录对数据库的所有操作。其它文件还有很多其他文件对 Oracle 数据库服务器的正常运行也是很重要的。 例如参数文件、密码文件、诊断文件、 备份文件和归档重做日志文件等等。逻辑存储结构表空间tablespace)数据库由称为表空间的逻辑存储单位组成。 表空间是段表、索引等的逻辑容器。 每个表空间至少包含一个数据文件。表空间是数据文件的容器每一个数据文件必须归属于一个表空间一个表空间可以包含多个数据文件段(segment)段是为用户对象 例如一个表或索引、回滚数据、或临时数据等分配的一组扩展区。段可以简单理解为表数据的逻辑存放结构刚开始学习时简单理解一个表的数据存储在一个段中。区extent区是一定数量的逻辑上连续的数据块段的每次分配以区位单位。数据块blockOracle数据库中最细的存储粒度级别。Oracle数据库每次读写数据最小单位为数据块。Oracle 数据库将数据存储在数据块中。一个数据块对应于磁盘上的特定大小的字节一般为8k大小。说明Oracle数据库具有物理结构和逻辑结构。 因为物理结构和逻辑结构是分开的因此对物理数据存储的管理不会影响对逻辑存储结构的访问。 例如重命名物理数据库文件并不会重命名表尽管它的数据存储在这个文件中。逻辑存储结构和物理存储结构的映射关系图备注表和段的关系为多对多后续我会深入讲解初学时可以将一个段和一个表对应即1:1对应来理解即可。网络体系结构概述Oracle 网络服务是数据库与网络通信协议之间的接口, 它对分布式处理和分布式数据库很有用。 通信协议定义了数据在网络上被传输和接收的方式。Oracle 网络服务支持所有主要的网络通信协议包括 TCP/IP、 HTTP、FTP 、和 WebDAVOracle Net是 Oracle 网络服务的一个组件用于建立和保持一个客户端应用程序到数据库服务器的网络会话。 网络会话建立后Oracle Net 作为客户端应用程序和数据库之间的数据传递员在它们之间交换消息。Oracle Net 之所以可以执行这些工作是因为它位于网络中的每台计算机上。监听器监听器是 Oracle 网络服务的一个重要组成部分它是一个单独的进程运行在数据库服务器上或在网络中的其它地方。 客户端应用程序可以发送连接请求到监听器而监听器管理这些发送到数据库服务器的请求。 当一个连接建立之后客户端和数据库进行直接通信后续不再需要监听器的参与。为服务客户端请求最常见的两种配置 Oracle 数据库的方式是专用服务器体系结构生产环境一般使用这种方式每个客户端进程连接到一个专用的服务器进程。 在与客户端的会话期间服务器进程不可以被任何其他客户端共享。 Oracle 会为每个新会话分配一个专用的服务器进程。这种专用模式下每次监听器监听到客户端的连接请求后都会fork派生一个新的进程来专用于服务这个客户端的连接这个fork出来的新进程也就是我们在Oracle数据库进程中描述的服务端进程共享务器体系结构数据库使用一个共享进程池用于多个会话的管理。 客户端进程与一个调度器通信调度器是一个进程它使许多客户端能够连接到相同的数据库实例而无需为每个客户端建立一个专用的服务器进程。这种模式下每次监听器监听到客户端的连接请求后会将请求直接转发给调度器进程不会派生专用的进程来服务。

相关文章:

Oracle数据库架构入门概述

本文分为四个部分简单概述 一、入门概述 二、数据库实例简述 三、数据库物理存储和逻辑存储结构简述 四、网络体系结构概述 入门概述 Oracle 数据库服务器包括一个数据库和至少一个数据库实例 (通常是指只有一个实例)。 因为实例和数据库关联紧密&#x…...

2026搜索量暴涨!这几款配音软件火到刷屏

如果你最近刷短视频,一定注意到了——声音比画面更抓人。从悬疑解说的低沉旁白,到小说推文的多角色演绎,再到带货视频的情绪播报,一条爆款视频的背后,往往藏着一款好用的配音软件。2026年,AI配音市场迎来爆…...

FanControl:颠覆式开源风扇控制工具的全方位应用指南

FanControl:颠覆式开源风扇控制工具的全方位应用指南 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/fa/…...

用Python代码和蒙特卡洛方法,手把手教你估算强化学习中的状态价值(附完整代码)

用Python实现蒙特卡洛方法估算强化学习状态价值的实战指南 马尔可夫决策过程(MDP)是强化学习的数学基础框架,而状态价值函数则是评估策略优劣的核心指标。许多初学者在理解抽象的状态价值概念时会遇到困难——这些数字究竟是如何从实际交互中…...

探索前沿技术趋势:2024年最值得关注的创新应用场景

1. 生成式AI的爆发式应用 2024年最让人兴奋的技术趋势,莫过于生成式AI从实验室走向千家万户。我最近测试了十几个主流AI创作工具,发现它们已经能完成许多过去认为"只有人类能做到"的任务。比如用Midjourney生成产品设计图,只需要简…...

【Matlab】MATLAB教程:数据插值interp1(案例:interp1(x,y,xi,‘linear‘);应用:数据补全、插值)

MATLAB教程:数据插值interp1(案例:interp1(x,y,xi,linear);应用:数据补全、插值) 在科研实验、工程监测、信号采集等各类数据获取场景中,受限于设备精度、测试条件、环境干扰等因素,采集到的原始数据往往存在**数据点稀疏、采样间隔不均、局部数据缺失**等问题,直接使…...

CTF信息收集入门:从BUUCTF‘粗心的小李’题目看Git泄露的常见利用方式

CTF信息收集实战:Git泄露漏洞的深度利用与防御策略 在CTF竞赛的Web安全赛道上,信息收集能力往往决定着解题的成败。当新手面对看似空白的网页时,常会陷入无从下手的困境——这正是"粗心的小李"这类题目的设计初衷。不同于常规的SQL…...

GF-1遥感影像水体提取实战:Unet++、Deeplabv3+、MANet模型对比与避坑指南

GF-1遥感影像水体提取实战:三大模型对比与避坑全攻略 当国产高分一号(GF-1)卫星数据遇上深度学习语义分割技术,水体提取这项传统遥感任务正在经历革命性变革。本文将带您深入Unet、Deeplabv3和MANet三大主流模型在GF-1影像上的实战…...

1815《中国城市统计年鉴》面板数据(1985-2024)

1、搜说数据皮皮侠2、使用兑换码 516004233462b5Qy0SoHIf26 获取注意:兑换码2026.3.30(不包括30号)前有效!数据简介《中国城市统计年鉴》是国家统计局城市社会经济调查司主办的、全面反映中国城市经济和社会发展情况的资料性年刊。…...

CTE、临时表、子查询如何选?

在 SQL Server 等关系型数据库中,处理复杂查询逻辑时,子查询 (Subquery)、临时表 (Temporary Table) 和公共表表达式 (CTE, Common Table Expression) 是三种核心工具。它们各有优劣,选择哪种取决于具体的性能需求、数据规模、代码可读性以及…...

HybridCLR Generate All报错终极解决指南:UnityLinker.exe找不到HotUpdate.dll怎么办?

HybridCLR Generate All报错终极解决指南:UnityLinker.exe找不到HotUpdate.dll怎么办? 当你正在使用HybridCLR进行Unity热更新开发时,突然遇到Generate All报错,提示UnityLinker.exe无法解析HotUpdate.dll,这确实会让人…...

RK3588开发板跑YOLOv5视频流demo,遇到Segmentation fault别慌!保姆级core文件生成与调试指南

RK3588开发板YOLOv5视频流推理崩溃排查:从Segmentation fault到精准调试全攻略 当你在RK3588开发板上满心期待地运行YOLOv5视频流推理demo时,屏幕上突然闪现的"Segmentation fault (core dumped)"就像一盆冷水浇灭了热情。这种崩溃提示信息量极…...

S3 文件操作进阶实践:从基础上传到完整性保障

1. S3文件操作的核心挑战与解决方案 第一次接触AWS S3时,很多人会觉得文件上传下载不就是调用几个API的事?但真正投入生产环境后,各种问题就会接踵而至。我见过最典型的案例是某电商平台在促销期间,因为文件上传没有做完整性校验…...

深度解析IDM激活脚本:注册表锁定技术的完整实现指南

深度解析IDM激活脚本:注册表锁定技术的完整实现指南 【免费下载链接】IDM-Activation-Script IDM Activation & Trail Reset Script 项目地址: https://gitcode.com/gh_mirrors/id/IDM-Activation-Script Internet Download Manager(IDM&…...

用Rust还是JavaScript?Tauri 2.0系统托盘开发的两种姿势与选型建议

Tauri 2.0系统托盘开发:Rust与JavaScript的技术选型深度解析 当桌面应用需要常驻后台运行时,系统托盘功能便成为用户体验的关键组件。Tauri 2.0作为新一代跨平台桌面框架,允许开发者在前端JavaScript与后端Rust两种技术栈中实现这一功能。本文…...

深度解析Mi-Create:开源智能手表表盘编辑器的完整实践指南

深度解析Mi-Create:开源智能手表表盘编辑器的完整实践指南 【免费下载链接】Mi-Create Unofficial watchface creator for Xiaomi wearables ~2021 and above 项目地址: https://gitcode.com/gh_mirrors/mi/Mi-Create 项目愿景与定位 在智能穿戴设备快速发展…...

5分钟完成专业级黑苹果配置:OpCore Simplify终极简化指南

5分钟完成专业级黑苹果配置:OpCore Simplify终极简化指南 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 你是否曾经为黑苹果配置的复杂性…...

本地图片检索新方案:ImageSearch完全使用指南

本地图片检索新方案:ImageSearch完全使用指南 【免费下载链接】ImageSearch 基于.NET8的本地硬盘千万级图库以图搜图案例Demo和图片exif信息移除小工具分享 项目地址: https://gitcode.com/gh_mirrors/im/ImageSearch 当你的电脑中存储了成千上万张图片&…...

(宏)Word题注自动化:从“图一-1”到“图1-1”的VBA实现与高效复用

1. 为什么需要题注自动化? 写论文或者技术文档的朋友肯定遇到过这样的烦恼:每次插入图片后,都要手动输入"图1-1"、"图1-2"这样的题注。更麻烦的是,如果你的章节标题用的是中文数字(比如"第一…...

医疗陪护管理系统:信息化管理在医院的应用

博主介绍: 所有项目都配有从入门到精通的安装教程,可二开,提供核心代码讲解,项目指导。 项目配有对应开发文档、解析等 项目都录了发布和功能操作演示视频; 项目的界面和功能都可以定制,包安装运行&#xf…...

Easy-Scraper:革新性HTML数据提取库的技术突破与实战应用

Easy-Scraper:革新性HTML数据提取库的技术突破与实战应用 【免费下载链接】easy-scraper Easy scraping library 项目地址: https://gitcode.com/gh_mirrors/ea/easy-scraper 在数据驱动决策的时代,网页数据采集已成为企业获取市场情报、科研机构…...

短剧小程序源码:打造你的专属短剧平台

温馨提示:文末有资源合作获取方式~一、市场前景:千亿蓝海,风口正当时“昨晚又为一部短剧熬夜了!”这已成为当代年轻人的日常。3分钟一集,连续反转,极致爽点——短剧正以惊人的速度占领我们的碎片…...

基于Altera Cyclone4 FPGA-EP4CE15F17C8核心板的硬件设计实战(原理图+PCB+AD09工程)

1. 从零开始搭建FPGA核心板硬件系统 第一次接触FPGA核心板设计时,我被密密麻麻的引脚和复杂的电源系统搞得头晕眼花。直到用AD09完整走完EP4CE15F17C8核心板的设计流程,才发现硬件开发就像搭积木——只要掌握模块化思维,菜鸟也能做出专业级设…...

避坑指南:Cypress CYT4B的Mcal CAN配置,这5个参数配错直接通信失败

Cypress CYT4B的Mcal CAN配置实战:5个致命参数解析与避坑策略 实验室里,示波器上的CAN波形杂乱无章,工程师反复检查硬件连接却始终无法建立稳定通信——这可能是许多嵌入式开发者调试CYT4B系列芯片时的真实写照。当硬件排查无果后&#xff0c…...

极客专属:OpenClaw+百川2-13B打造个人CLI智能助手

极客专属:OpenClaw百川2-13B打造个人CLI智能助手 1. 为什么开发者需要命令行智能助手 作为一个长期与终端打交道的开发者,我每天要重复执行大量机械操作:查看日志、运行测试、整理结果。这些工作虽然简单,却极其消耗精力。直到我…...

嵌入式正交编码器软件解码库设计与实现

1. QuadratureEncoder 库概述QuadratureEncoder 是一个专为嵌入式系统设计的正交编码器信号处理库,面向 STM32、ESP32、nRF52 等主流 MCU 平台,提供高精度、低开销、抗干扰的旋转位置与速度检测能力。该库不依赖特定硬件外设(如 STM32 的 TIM…...

从零封装一个 Vue 低代码表单组件:我是如何借鉴 FcDesigner 的设计思路的

从零封装一个 Vue 低代码表单组件:我是如何借鉴 FcDesigner 的设计思路的 低代码开发正在改变前端工程师的工作方式。作为一名长期深耕表单领域的前端开发者,我曾参与过多个企业级低代码平台的搭建,也经历过从零开始封装表单组件的完整周期。…...

PCB设计新手必看:从零开始掌握PCB设计全流程

1. PCB设计入门:从零开始的完整指南 刚接触PCB设计时,我完全被各种专业术语和复杂流程搞懵了。直到自己动手做了几块板子,才发现其实只要掌握正确的方法,PCB设计并没有想象中那么难。这篇文章就是把我踩过的坑和积累的经验&#x…...

跨平台文件同步:OpenClaw+nanobot自动管理NAS文档

跨平台文件同步:OpenClawnanobot自动管理NAS文档 1. 为什么需要自动化文件管理? 作为一个长期被多设备文件同步问题困扰的用户,我一直在寻找一个既安全又灵活的解决方案。我的日常工作涉及MacBook、Windows台式机和家庭NAS之间的文件流转&a…...

别光看原理了!用STM32F407从零撸一个四轴飞控代码(附完整工程)

用STM32F407从零构建四轴飞控代码实战指南 当你在论坛上看到别人分享的无人机飞行视频,是否也曾心动想亲手打造一套自己的飞控系统?市面上大多数教程止步于理论讲解,真正落实到代码层面的少之又少。本文将带你用STM32F407开发板,…...