初步了解oracle的体系结构

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 初步了解oracle的体系结构

今天分享oracle数据库的体系架构, 主要包括数据库内存结构、后台进程和存储结构三部分内容。

一、Oracle数据库内存结构

Oracle实例的组成

● 用它来访问数据库

● 只能打开一个数据库

● 由内存和后台进程结构组成

SGA中包含的组件:

shared_pool 共享SQL和PLSQL的执行计划和数据字典对象等信息,主要分为两部分:

1.data dict cache 也叫rowcache 加速SQL的解析,使用过的字典 就会缓存在这里 再次使用这个字典直接从内存获取,这些统计的信息在 v$rowcache中记录

2.library cache: 加速解析 减少语句重解析 SQL文本,解析树和执行计划就在这里

db buffer cache

数据库缓冲缓存区 缓冲被访问的数据块

每次从磁盘向内存缓冲数据的单位由 db_block_size=8192 决定

这个区域缓冲的数据保持时间由LRU算法决定

default 数据块向内存加载时的默认位置(必须存在)

keep    一些常驻内存的块(默认没开启)

recycle 不被频繁使用的块(默认没开启)

非标准块池.数据块的大小从9I开始可以是2,4,8,16,32这几种,单位是K

和db_block_size相同大小的buffer池 称之为标准块池

其他池则称之为非标准块池

redo log buffer

联机(重做)日志缓冲区 记录数据库的每个改动向量、就是记录有顺序的SQL条目

这些SQL条目包括系统的改动和UNDO的改动,用户数据的改动

主要是为了数据的增删改过程记录日志的 提高数据安全性

large pool

大池  存放对那些复杂的程序包分析、RMAN、UGA(共享模式)、异步IO等相关的数据

java pool

JAVA池 存放JAVA存储过程的分析信息。

用户与数据库建立连接过程图解:

用户进程和服务进程建立连接

一般都是通过TCP协议连接的

用户进程发起连接请求到监听器

监听器接收到连接请求后验证用户的合法性

服务器端产生一个服务进程和用户进程之间建立连接和会话

并为这个服务进程分配一段私有内存PGA作为工作区.

PGA包含两个主要区域:

Stack Space:包含绑定变量和pl/sql数组相关信息

UGA:游标信息 一条SQL执行时的游标信息

       会话信息 当前会话的相关信息

工作区:

排序区 当前会话的内存排序的维护

哈希区 多表连接时HASH JOIN过程中使用的内存区域

位图建立区 建立位图索引时可占用的内存区域

位图融合区 多个位图索引合并 or and 运算时占用的区域

注意:工作区内存不足时,会将数据转至临时表空间去.

二、Oracle数据库后台进程

DBWR:将 db_buffer_cache 中的脏块写回到数据文件,可以有多个进程

GWR:将logbuffer中的日志写入到redo文件,commit或者3秒或写满都可促使它工作

CKPT: 更新控制文件与数据文件使其同步,触发DBWR进程,使其将脏读缓存块写入数据文件。

SMON: 当实例崩溃后,DB-buffer-cache中的脏块没写盘,下次启动后需要用数据文件中的数据块(历史版本)和redo进行恢复,实例恢复则由此进程完成,并且当内存中的临时段长时间没使用时,由SMON清理掉

PMON:当一个会话意外断开后,残留在系统中的垃圾,比如锁信息,服务进程等,从dbf中读取数据块到db-buffer-cache,向监听告知当前实例的信息,称之为动态注册,会在启动时,以及相关参数变更时,1分钟一次的条件达成而触发,监听只有知道实例的存在才能为用户建立连接

ARCN:负责归档.因为redo组是循环覆盖方式使用.在覆盖前将redo备份下来叫归档如果数据库之前做了备份,备份以来的redo覆盖了,则以往的备份不能向前恢复.生产库都要归档.除非对数据丢失有容忍的情况下.热备的前提就是归档

三、Oracle数据库存储结构

Oracle server的组成:

oracle11g的逻辑存储结构和物理存储结构:

一个数据库是由多个表空间构成、一个表空间由一个或多个数据文件组成 、一个数据文件由一个或多个区组成 、一个段由一个或多个区构成、一个区由多个连续的oracle数据块组成。

Oracle逻辑存储结构:

表空间:由一个或多个数据文件组成

块:oracle数据库中最小的存储单位

盘区:由一个或多个数据块组成

段:一组盘区,这组盘区组成了被oracle视为一个单位的数据库对象,如表或索引

Oracle物理存储结构:

数据文件

重做日志文件

控制文件

归档日志文件

初始化参数

警报和跟踪日志文件

备份文件

密码文件

相关文章
|
6月前
|
存储 SQL Oracle
【Oracle】玩转Oracle数据库(二):体系结构、存储结构与各类参数
【Oracle】玩转Oracle数据库(二):体系结构、存储结构与各类参数
107 7
|
6月前
|
存储 SQL Oracle
Oracle系列十九:Oracle的体系结构
Oracle系列十九:Oracle的体系结构
|
存储 SQL 运维
Oracle数据库系统管理与运维 | Oracle体系结构与性能优化
Oracle数据库系统管理与运维 | Oracle体系结构与性能优化
270 0
Oracle数据库系统管理与运维 | Oracle体系结构与性能优化
|
Oracle 关系型数据库 数据库
|
SQL 存储 监控
Oracle 11g R2 体系结构
 Oracle 11g R2体系结构 安装oracle软件----创建数据库----在数据库中创建表----表里存储信息---这些表文件需要存储在物理硬盘上面。 假如有一个用户(这个用户可以是远程用户,也可以是本地的,也可以是一个应用程序)连接到oracle数据库上面,用户是不能直...
1083 0
|
Oracle 关系型数据库 数据库
|
SQL 监控 Oracle
|
存储 Oracle 关系型数据库
|
SQL 监控 Oracle