oracle database concepts,解析Oracle Database Concepts 12c(4)

Oracle数据库体系结构(Oracle Database Architecture

)

结合第四大章和第五大章,个人认为这是非常重要的章节,值得反复的研读。什么都不说,先上图:

cacecf67c2d61033895518b4cb33882f.gif

这是一张值的每天都去看一眼的图,就像武林秘籍中的总纲,把Oracle数据库的精髓都已包含在内。要掌握Oracle Database,首先要理解两个基本概念:数据库和实例。

■ 数据库

所谓数据库就是磁盘上一系列文件的集合,主要包括数据文件、在线日志、控制文件等。

■ 数据库实例

所谓数据库实例就是内存中的程序映像,用来管理数据库。其中最主要的一块内存区域叫做SGA(System Global Area)和一系列后台进程。

数据库和实例是互不依赖的,它们可以分别单独存在。

数据库的存储结构

物理存储结构

■ 数据文件(Data files)

每个数据库包含一个或多个数据文件,这是真正存储数据的地方,像表、索引等数据都是存储在数据文件里。

■ 控制文件(Control files)

控制文件存储了数据库的元数据,包括数据库名、创建时间、数据文件路径、重做日志路径、当前重做日志的序号、检查点信息等等。由于控制文件很重要,因此控制文件可以有多份拷贝。

■ 在线重做日志文件(Online redo log files)

在线重做日志是由2个或更多的文件组成的,用来记录数据库中的所有变更,以重做记录(redo entries,或者redo log records)的形式记录到文件中。

当然,除了以上3类主要的文件外,数据库还包含其它也很重要的文件,如参数文件(parameter file),归档日志文件(archived redo log file)、备份文件(backup files)等。

逻辑存储结构

■ 块(Data blocks)

块是Oracle数据库的最小分配单元,一个块对应特定的字节,默认是8K。

■ 区(Extents)

区是多个逻辑上连续的块组成的存储区域。

■ 段(Segments)

段是多个区组成的存储区域,数据库创建对象(user objects)后就会为其分配相应的段,如表、索引等。

■ 表空间(Tablespaces)

一个数据库就是由多个表空间组成的,一个表空间可以包含1个或多个数据文件。

简单点说,多个物理存储区(如扇区)组织成块,块再组织成区,区再组织成段,段再组织成表空间,表空间由1个或多个数据文件组成,通过这样的设计来达到高效、灵活的存储管理的目的。

实例结构

数据库进程

■ 客户端进程(Client processes)

如应用程序,SQL*Plus等,通常运行在单独的客服机上。

■ 后台进程(Background processes)

用来完成各种维护工作,如脏数据写入磁盘、写重做日志、清理异常终止的进程等等。

■ 服务器进程(Server processes)

和客户端进程进行交互,完成客户端的请求。

内存结构

Oracle数据库实例的内存区域主要分为两大块:

■ SGA(System Global Area)

SGA是数据库实例最大的一块内存区域,包含数据库的数据(缓存)和控制信息。SGA由众多的组件构成,如数据缓存(buffer cache),共享池(share pool)等,12.1.0.2以后,还可以包含内存列存储(In-Memory Column Store)。

■ PGA(Program Global Areas)

是一个进程专享的内存区域,其它进程不能访问。后台进程也有PGA,由于后台进程的PGA一般都很小,所以我们讲PGA时,通常指的是服务器进程的PGA。

应用和网络架构

应用架构

支持两种常见的应用架构:

C/S架构(client/server architecture)

多层架构(multitier architecture)

网络结构

应用程序或者其它客户端通过Oracle Net Service来与Oracle数据库进行交互。Oracle Net Service包含两大组件:

■ Oracle Net

创建客户端和数据库间的会话,会话创建后提供客户端和数据库之间的数据交换。

■ Oracle Net Listener

监听并分配连接请求,当连接创建后,就没它什么事了。

Oracle网络服务方式有专用服务器连接和共享服务器连接两种。

多租户架构

Oracle 12c引入的一个很重要的新特性是多租户,关于多租户我们后续详细讨论。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值