Oracle数据库体系结构(一)_概述

news2024/12/23 0:26:12

目录

1  Oracle系统框架

1.1  Orace SGA组成

1.2  Oracle后台进程

1.3  PGA服务进程

2  数据库与实例

  2.1  数据库

  2.2  实例

3  总结



       Oracle公司(甲骨文)是全球最大的信息管理软件及服务供应商,成立于1977年,总部位于美国加州Redwood shore,面向全球开放oracle认证。

       Oracle开发的关系数据库产品因性能卓越而闻名,Oracle数据库产品为财富排行榜上的前1000家公司所采用,许多大型网站也选用了Oracle系统,是世界最好的数据库产品。此外,Oracle公司还开发其他应用程序和软件。同时,Oracle在英语里还是“神谕”的意思,意为“替神说话的”,寓指Oracle公司的发展目标和决心地位。
        本系列文章将围绕Oracle11g及Oracle12c两个版本的相关内容展开

1  Oracle系统框架

        学习Oracle,首先应了解Oracle整个框架体系,从整体来讲Oracle由实例和各种物理文件组成

1.1  Orace SGA组成

  1.  Shared Pool:包括数据字典缓存,查询结果缓存,执行计划缓存,大小由shared_pool_size控制。
  2. Database Buffer Cache(DBC):就是Block(页)的缓存,计算引擎无论读或写文件中的数据,先把要读写的那部分Block加载到DBC,写之前要加锁,得到锁之后,读或写的就是这个DBC,而不是数据文件,DBWR(或DBWn)会适时将DBC写到磁盘。参数db_cache_size控制其大小,如果是0表示自动管理。每个Block的大小是创建表空时设置,不可修改,从db_block_size查看块大小。
  3. Redo Log Buffer:redo日志的缓存,参数log_buffer控制其大小,更改记录的操作,通过并发调度后,先写Redo Log Buffer,再写DBC,commit时Redo Log Buffer会部分落盘,但DBC不会。
  4. Java Pool:专用于存储Java代码和数据。
  5. Large Pool:与Shared Pool类似,用于需要大内存的情况,以减轻Shared Pool负担。

1.2  Oracle后台进程

  1. DBWn - 数据库写进程,负责将缓冲区数据刷新到数据文件
  2. SMON - 系统监控进程,负责实例和数据库恢复
  3. PMON - 进程监控进程,负责进程控制和故障转移
  4. CKPT - 检查点进程,负责进行数据文件和控制文件的检查点更新
  5. LGWR - 日志写进程,负责将日志缓冲区数据写入联机日志文件
  6. ARCn - 归档进程,负责存档和备份填满的日志文件
  7. MMON - 内存监控进程,负责监控和优化SGA内存
  8. RECO - 恢复进程,负责控制和协调数据库恢复操作
  9. MMAN - 内存管理进程,管理数据库内存结构
  10. MMNL - 共享服务器监视进程,管理共享服务器进程

1.3  PGA服务进程

        PGA:即,Server服务器进程。当客户端接入服务器时,在服务器端为每个连接分配一个进程和内存,这个内存就是PGA,SQL计算时(如排序、聚合)的中间数据,用户数据,cursor等,存放在PGA中,UGA在PGA中。

2  数据库与实例

       每一个Oracle数据库都是数据的集合,这些数据包含在一个或多个文件中。数据库有物理结构和逻辑结构两种。实例则是由命名为系统全局区的内存区域和相应的后台进程组成,这些后台进程负责(System Global Area 即SGA)和数据库磁盘文件之间的交互。虽然在实际的应用场合"数据库"和"实例"可以交换使用,但是这两者之间存在本质的区别,他们是完全不同的实体

  2.1  数据库

       数据库是数据的集合,位于收集和维护相关信息的数据库服务器上的一个或多个文件中,数据库由各种物理结构和逻辑结构组成,而数据库表则是数据库中最重要的逻辑结构。表由包含相关的数据行和列组成.

       表的基本组成


        组成数据库的文件主要分为两类,数据库文件和非数据库文件,两者之间的区别在于存储什么类型的数据,数据库文件包含数据和元数据;非数据库文件则包含初始参数、记录信息等      

         2.2  实例

       企业服务器是主要组成部分是一个或多个CPU、磁盘空间和内存。Oracle数据库存储在服务器磁盘上,而Oralce实例则存储于服务器的内存中。Oracle实例由一个大型的内存块和大量后台进程组成,该内存块分配分配在Oracle数据库的系统全局区域中,即SGA,通过后台进程在SGA和磁盘上的数据库文件进行交互。但在Oracle应用集群(RAC)中,多个实例将使用相同的数据库。共享数据库的实例可以在相同的服务器上,但最好是分布在不同的服务器上,这些服务器通过高速互联进行连接,并且访问专门的、支持RAID的磁盘子系统上的数据库,关于Oracle RAC的相关内容,后续进行阐述
 

3  总结

        本文从Oracle数据库的基础架构、数据库及数据库实例三个方面进行了相关的阐述。主要讲述了Oracle SGA、后台进程、PGA等方面基础组成;讲述了数据库和实例的区别等方面的内容。从整体上对Oralce数据库的组成。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1018717.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

关于rdkit 错误2w08_ligand: warning - O.co2 with non C.2 or S.o2 neighbor.

1 问题: 读取 PDBBindv2019的数据集,尝试把所有配体的mol2文件转换成对应smiles表达式。大约超过1千个出现问题。 主要问题就是‘warning - O.co2 with non C.2 or S.o2 neighbor’。 2 原因: Phosphate group - warning O.co2 with non C…

Rocky Linux 安装图解(替代centos)服务器+桌面

centos自从20年底转变为不稳定版本后,有很多替代方案 经过近3年的发展,rocky linux算是一个比较好的选择,一是依照red hat企业版来做,二是rocky的发起者也是centos的创始人 如果想安装debian,可以参考:deb…

微服务保护-初识Sentinel

个人名片: 博主:酒徒ᝰ. 个人简介:沉醉在酒中,借着一股酒劲,去拼搏一个未来。 本篇励志:三人行,必有我师焉。 本项目基于B站黑马程序员Java《SpringCloud微服务技术栈》,SpringCloud…

【详细教程hexo博客搭建】2、Vercel部署并绑定自定义域名+安装Butterfly主题

2.Vercel部署与自定义域名 2.1 Vercel部署 Vercel简介:vercel是一个代码托管平台,它能够托管你的静态html界面,甚至能够托管你的node.js与Python服务端脚本,是不想买服务器的懒人的福音! 使用Vercel部署Hexo项目步骤…

在openSUSE-Leap-15.5-DVD-x86_64中使用钉钉dingtalk_7.0.40.30829_amd64

在openSUSE-Leap-15.5-DVD-x86_64中使用钉钉dingtalk_7.0.40.30829_amd64 一、到官网下载钉钉Linux客户端 https://page.dingtalk.com/wow/z/dingtalk/simple/ddhomedownload#/ localhost:~ # ls -lh /home/suozhang/download/com.alibabainc.dingtalk_7.0.40.30829_amd64.d…

一篇文章学会正则表达式的语法

点击下方关注我,然后右上角点击...“设为星标”,就能第一时间收到更新推送啦~~~ 正则表达式(Regular Expression)在代码中常常简写为regex。正则表达式通常被用来检索、替换那些符合某个规则的文本,它是一种强大而灵活…

1. 快速体验 VSCode 和 CMake 创建 C/C++项目

1. 快速体验 VSCode 和 CMake 创建 C/C项目 本章的全部代码和markdown文件地址: CMake_Tutorial,欢迎互相交流. 此次介绍的内容都是针对于 Linux 操作系统上的开发过程. 1.1 安装开发工具 VSCode: 自行下载安装, 然后安装插件 Cmake:在 Ubuntu 系统上, 可以采用 ap…

[k8s] pod的创建过程

pod的创建过程 定义 Pod 的规范: apiVersion: v1 kind: Pod metadata:name: my-pod spec:containers:- name: my-containerimage: nginx:latest创建 Pod 对象: 使用 kubectl 命令行工具或其他客户端工具创建 Pod 对象: kubectl create -f…

【JAVA-Day15】Java 的 do-while 循环语句

Java 的 do-while 循环语句 Java 的 do-while 循环语句摘要引言一、什么是 do-while 循环语句二、do-while 循环语句的语法三、do-while 循环的优势和使用场景优势使用场景 与其他方式相比优势劣势与while循环比较与for循环比较 建议四、总结参考资料 博主 默语带您 Go to New …

90 # 实现 express 请求处理

上一节构建 layer 和 route 的关系,这一节来实现 express 请求处理 application.js const http require("http"); const Router require("./router");function Application() {this._router new Router(); }Application.prototype.get fu…

【C语言】【数据存储】用%u打印char类型?用char存128?

1.题目一&#xff1a; #include <stdio.h> int main() {char a -128;printf("%u\n",a);return 0; }%u 是打印无符号整型 解题逻辑&#xff1a; 1. 原反补互换&#xff0c;截断 -128 原码&#xff1a;10000000…10000000 补码&#xff1a;11111111…10000000…

【初阶数据结构】树(tree)的基本概念——C语言

目录 一、树&#xff08;tree&#xff09; 1.1树的概念及结构 1.2树的相关概念 1.3树的表示 1.4树在实际中的运用&#xff08;表示文件系统的目录树结构&#xff09; 二、二叉树的概念及结构 2.1二叉树的概念 2.2现实中真正的二叉树 2.3特殊的二叉树 2.4二叉树的性质…

【iOS】ViewController的生命周期

文章目录 前言一、UIViewController生命周期有关函数二、执行顺序注意点loadview&#xff1a; 前言 在iOS开发中UIViewController扮演者非常重要的角色&#xff0c;它是视图view和数据model的桥梁&#xff0c;通过UIViewController的管理有条不紊的将数据展示在视图上。作为UI…

XML 和 JSON 学习笔记(基础)

XML Why XML 的出现背景&#xff1a;在实际开发中&#xff0c;不同语言&#xff08;如Java、JavaScript等&#xff09;的应用程序之间数据传递的格式不同&#xff0c;导致它们进行数据交换时很困难&#xff0c;XML就应运而生了&#xff01;&#xff08;XML 是一种通用的数据交…

视频分析【video analytics】的项目的关键因素 -- 如何选择合适的摄像头,存储设备,以及AI推理硬件?

文字大纲 参考指标摄像机存储设备AI 推理硬件参考文献与学习路径参考指标 摄像机 通常的做法是将视频视为一系列图像(帧),并使用仅在图像上训练的深度神经网络模型来执行视频上的相似分析任务。在这篇论文中,我们表明,这种在图像上运行良好的深度学习模型在视频上也会运行…

QT:使用普通按钮、网格布局管理器、标签、行编辑器、水平布局管理器、垂直布局管理器做一个小项目

widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QPushButton> //普通按钮 #include <QGridLayout> //网格布局管理器 #include <QLabel> //标签 #include <QLineEdit> //行编辑器 #include <QHBoxLayo…

core文件的生成与使用

目录 core 设置例子 1例子 2core 名称及目录修改参考 在使用嵌入式系统时&#xff0c;出错后&#xff0c;不好使用 gdb 调试&#xff0c;这时&#xff0c;可让系统生成一个 core 文件&#xff0c;用于查看出错原因 core 设置 要生成 core 文件&#xff0c;需要先设置 core 文…

链表的基本操作(acm模式,中等)

此题自己亲自动手实现难度确实不容易&#xff0c;为了更好的掌握 链表这一结构&#xff0c;还是得自己敲&#xff0c;自己debug,还得多次看&#xff0c;才能脑子清楚&#xff0c;手也熟。 // 本题的删除索引是从1开始&#xff0c;函数实现是从0开始&#xff0c;先说明这一点&a…

基于SSM的高校教师科研信息展示网站的设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…