OCP-042之:Oracle结构体系

2024-06-09 11:04
文章标签 oracle 体系 结构 ocp 042

本文主要是介绍OCP-042之:Oracle结构体系,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. Oracle结构体系

1.1 概述

1.1.1 版本

版本后缀所代表的含义

i:代表基于Internet架构的数据库,如9i

g:代表基于grid(网格)的数据库,如11g

grid的目的:降低成本,提高服务质量,简化管理

  • Storage Grid:ASM(automatic storage management),继承了LVM技术,Oracle的动态存储空间管理技术,通过软件模拟raid的功能
  • Database Grid:RAC(real application clusters),Oracle的集群解决方案
  • Application Grid:Oracle Streams,流复制技术,用于远距离的容灾,支持同平台和垮平台
  • Grid Control:Enterprise Manager Grid Control,统一数据库管理工具,可以同时登陆多个数据库

c:代表基于cloud(云)架构的数据库,有租户,资源共享等云相关的概念。如12c

1.1.2 基本架构

在这里插入图片描述

安装在操作系统中的数据库分为三大部分:

  1. Instance:一个实例包含了内存和进程,实例的数量是由系统资源和操作系统决定的

SGA:内存结构,一个共享的内存区间,在所有的实例之间共享。数据库启动时操作系统分配给他的内存,操作数据时使用时需要将它从硬盘读取到内存中,提交时保存回硬盘中
后台进程:在操作系统中呈现出来的一系列进程,每一个进程代表一个服务

  1. Database:存储结构,存放在磁盘中的数据库文件。在非集群环境中,数据库和实例是一一对应的;但是在集群环境中,多个实例可以共享一个数据库

  2. User-Server Process:用户在登陆数据库时,服务器会针对用户产生相应的进程,PGA是数据针对这些进程分配的内存资源,PGA是私有的。服务器进程和实例的后台进程信息是存放在PGA中的

SGA+PGA就是数据库需要占用的内存空间

1.2 内存结构

在这里插入图片描述

1.2.2 SGA

SGA全称“System Global Area”,中文意思为“系统全局区”,是ORACLE为实例分配的一组共享缓冲存储区,主要用于存放数据库数据和控制信息,该信息为数据库进程所共享(PGA不能共享的),以实现对数据库数据的管理和操作。
它包含Oracle服务器的数据和控制信息,它是在Oracle服务器所驻留的计算机的实际内存中得以分配,如果实际内存不够再往虚拟内存中写。
SGA是一组共享内存结构, 被所有的服务和后台进程所共享。当数据库实例启动时,系统全局区内存被自动分配。当数据库实例关闭时,SGA内存被回收。 SGA是占用内存最大的一个区域,同时也是影响数据库性能的重要因素。

Shared Pool

用来存储最近执行的SQL语句和最近使用的数据字典的数据。

ALTER SYSTEM SET SHARED_POOL_SIZE = 64M;

在这里插入图片描述

Library cache:库高速缓冲池,其中包括了共享的SQL区间,用于存放已经运行的SQL语句以及PLSQL代码,因为已运行的SQL语句是已经经过数据库编译,而且该语句的执行计划也已经存在于数据库中,因此再次运行的时候速度就会很快,再次运行该命令可以使其他的用户。该区间的代码替换采用LRU(List Recently Used)原则,热度分为冷区和热区,刚执行的语句会放在居中位置,后面根据使用频率来调整,使用频率高就会往热区放。新语句会替换掉最冷的一条语句。

Oracle在执行一条SQL语句时,首先要将语句进行编译,确定语法是正确的;然后要生成执行计划,因为Oracle需要知道该语句的执行步骤是什么,一条复杂的语句可能会有多种执行计划,Oracle需要选择最优的,执行计划的生成是非常耗时间的。

Data Dictionary Cache:被使用的数据库定义,即存放有关表、列和其它对象定义及权限。它包括关于数据库文件、表、索引、列、用户、权限以及其它数据库对象的信息。在语法分析阶段,Server Process访问数据字典中的信息以解析对象名和对存取操作进行验证。数据字典信息缓存在内存中有助于缩短响应时间。

Database Buffer Cache

这篇关于OCP-042之:Oracle结构体系的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1044998

相关文章

oracle 11g导入\导出(expdp impdp)之导入过程

《oracle11g导入导出(expdpimpdp)之导入过程》导出需使用SEC.DMP格式,无分号;建立expdir目录(E:/exp)并确保存在;导入在cmd下执行,需sys用户权限;若需修... 目录准备文件导入(impdp)1、建立directory2、导入语句 3、更改密码总结上一个环节,我们讲了

Vite 打包目录结构自定义配置小结

《Vite打包目录结构自定义配置小结》在Vite工程开发中,默认打包后的dist目录资源常集中在asset目录下,不利于资源管理,本文基于Rollup配置原理,本文就来介绍一下通过Vite配置自定义... 目录一、实现原理二、具体配置步骤1. 基础配置文件2. 配置说明(1)js 资源分离(2)非 JS 资

Java集合中的链表与结构详解

《Java集合中的链表与结构详解》链表是一种物理存储结构上非连续的存储结构,数据元素的逻辑顺序的通过链表中的引用链接次序实现,文章对比ArrayList与LinkedList的结构差异,详细讲解了链表... 目录一、链表概念与结构二、当向单链表的实现2.1 准备工作2.2 初始化链表2.3 打印数据、链表长

创建springBoot模块没有目录结构的解决方案

《创建springBoot模块没有目录结构的解决方案》2023版IntelliJIDEA创建模块时可能出现目录结构识别错误,导致文件显示异常,解决方法为选择模块后点击确认,重新校准项目结构设置,确保源... 目录创建spChina编程ringBoot模块没有目录结构解决方案总结创建springBoot模块没有目录

SpringBoot利用树形结构优化查询速度

《SpringBoot利用树形结构优化查询速度》这篇文章主要为大家详细介绍了SpringBoot利用树形结构优化查询速度,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一个真实的性能灾难传统方案为什么这么慢N+1查询灾难性能测试数据对比核心解决方案:一次查询 + O(n)算法解决

Oracle迁移PostgreSQL隐式类型转换配置指南

《Oracle迁移PostgreSQL隐式类型转换配置指南》Oracle迁移PostgreSQL时因类型差异易引发错误,需通过显式/隐式类型转换、转换关系管理及冲突处理解决,并配合验证测试确保数据一致... 目录一、问题背景二、解决方案1. 显式类型转换2. 隐式转换配置三、维护操作1. 转换关系管理2.

Oracle查询表结构建表语句索引等方式

《Oracle查询表结构建表语句索引等方式》使用USER_TAB_COLUMNS查询表结构可避免系统隐藏字段(如LISTUSER的CLOB与VARCHAR2同名字段),这些字段可能为dbms_lob.... 目录oracle查询表结构建表语句索引1.用“USER_TAB_COLUMNS”查询表结构2.用“a

Oracle数据库定时备份脚本方式(Linux)

《Oracle数据库定时备份脚本方式(Linux)》文章介绍Oracle数据库自动备份方案,包含主机备份传输与备机解压导入流程,强调需提前全量删除原库数据避免报错,并需配置无密传输、定时任务及验证脚本... 目录说明主机脚本备机上自动导库脚本整个自动备份oracle数据库的过程(建议全程用root用户)总结

MySQL中的索引结构和分类实战案例详解

《MySQL中的索引结构和分类实战案例详解》本文详解MySQL索引结构与分类,涵盖B树、B+树、哈希及全文索引,分析其原理与优劣势,并结合实战案例探讨创建、管理及优化技巧,助力提升查询性能,感兴趣的朋... 目录一、索引概述1.1 索引的定义与作用1.2 索引的基本原理二、索引结构详解2.1 B树索引2.2

如何使用Maven创建web目录结构

《如何使用Maven创建web目录结构》:本文主要介绍如何使用Maven创建web目录结构的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录创建web工程第一步第二步第三步第四步第五步第六步第七步总结创建web工程第一步js通过Maven骨架创pytho