第一章Oracle的体系架构知识点梳理_第1页
第一章Oracle的体系架构知识点梳理_第2页
第一章Oracle的体系架构知识点梳理_第3页
第一章Oracle的体系架构知识点梳理_第4页
第一章Oracle的体系架构知识点梳理_第5页
已阅读5页,还剩8页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章Oracle的体系架构

这章理论比较多,可能有点枯燥。大家要打起精神。

从本章开始我们正式进入DBAI,DBA是一个岗位的缩写(database

adminstrator),也就是数据库管理员。要做一个称职的DBA,需要全面和深入的

了解ORACLE的内部机制,包括ORACLE的实例(内存结构和后台进程)、

ORACLE物理结构、ORACLE逻辑结“勾、ORACLE的安装,ORACLE维护、

ORACLE网络配置、ORACLE备份与恢复、ORACLE高可用性(DG,RAC,

流,高级复制)、ORACLE性能优化。另外还需要了解噪作系统的维护和管理知

识,存储知识,HA的知识等。所以需要非常多的知识进行串联才能做一个合格

的DBAo这些理论基础上都是环环相扣,另外每个知次点还需要大量了实践,

来提升DBA的解决问题的思维和能力。接下来我们的课先从ORACLE的核心

组件学习。

本章的主要内容

O描述Oracle服务器的体系结构及其主要组件

。列出将用户连接到Oracle例程所涉及的结构

。列出卜.列语句处理过程的各个阶段:

㊉查询

㊉DML语句

㊉COMMIT

ORACLE主要组件

我们先来学习ORACLE的主要组件,来看一下ORACLE组件架构图。

OverviewofPrimaryComponents

这是一张全景ORACLE核心组件框架图。每个核心组件会有很多小的组件构成,

我们的DBAI就是来全面介绍每个核心组件的细节。了解每个组件里面的细节

确实不容易,这也是我们走向DBA的重中之重。

ORACLE主要体系结构包括

O左上部分是用户进程,服务器进程

0右上部分是实例

O下面是数据库库文件

我们先脑子里有这么个概念,接下来会用一些生活化的故事来了解ORACLE机

制,了解ORACLE为什么设计出这样一张图。

我们先来看什么是ORACLE服务

ORACLE服务

我们现在各行各业抓的都是服务,有了好的服务,顾客才会选择它的产品。

我们现在IT界非常流行一个SOA(面向服务的体系结均)的概念,它将应用程

序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起

来。

ServiceConsumers

自自由

ServiceInterfacesand

ServiceImplementations

|公共属务累及

生产或普累及

i三

-Ne$多

«x行

A斗

ft一

li动t*

.VI■sI3DI二

U*KIe队

n昌0tt

作s

作R.2K

»)屎

t移

MM?

Ie模

li作M

t煌

i原

M及

!小

线

绿

!»及-.

方土亘浮¥凋标上协议【才Ba列收式!]

片&互昂M2京凌外川Mb*心槽K)i

工体展务gHIMBUS)

tiASgHUtW(ttftliotxWiti1

[KUT,E£J物LlXXk」:JHM」-3・I?KTM;,・:it

上图是一个SOA的实用例子。

ORACLE也同样提供了一个服务,我们叫ORACLESERVER,我们来看下面这张

比如我们所有的书籍都能在上海图书馆能买到,但是我们不川老远跑到上海

图书馆去买,我可以在自己行政区的图书馆去买,比如静安区静安书城店。

我们可以在静安区开一家店叫静安书城店,那如果静安区的学生要买的书在

静安书城店如果有了,那就会马上买到,因为学生离静安书城店可比在黄浦区的

上海图书馆近。

如果该书在静安书城后已经售完,或在静安书城店从来没有进过这本书,那

就需要去上海图书馆去进赁。

书的买卖和借阅就好比DELETE,INSERT,SELECT,那静安书城店会有各个

岗位的人负责进货、销售、库存管理等工作,如何快速的进货也需要这个采购员

采用不同的规则。这个规则就好比我们的执行计划。

所以我们看到上海图书馆和静安书城店都是为学生服务的,这个就是

SERVER(服务)。

我们这里看到上海图书馆就是我们的DATABASE库文件,静安书城店是我

们的INSTANCE,它来有效的管理维持书籍的采购借阅和其它管理工作。

那我们的ORACLESERVER的概念是,一个ORACLESERVER就是一个

DATABASE库文件加上一个INSTANCE,也就是上海图书馆的静安书城店提供

的就是一个ORACLESERVERo

我们知道了什么是ORACLE服务,那我们了解下什么是ORALCE实例。

Oracle实例

OracleInstance

AnOracleinstance:

•IsameanstoaccessanOracledatabase

•Alwaysopensoneandonlyonedatabase

•Consistsofmemoryandprocessstructures

Instance|

SharedpoolSGA

Memory

Library

cachestructures

DatabaseRedolog

DataDictionarybuffercachebuffercache

1cache」

Background

PMONHSMONDBWRLGWR(CKPT)lOtheTsstructures

ORACLe

Cop/right©OracleCaporation,2001.Allrightsreserved.

图例2

我们现在就明白ORACLEINSTANCE是一个数据库库文件进行实例化提供

的服务,而它也是我们体系结构的核心。

那实例它由什么组成呢?

实例的组成

。一个实例只能访问一个数据库,但是你可以改变实例的初始化参数(如

控制文件)来指向另一个数据库。

我们前面理解了静安书城店实例化一个上海图书馆,那也意味着我可以再

开一个分店,如黄浦区黄浦书城店,录属于上海图书馆,那就是第二个

ORACLE服务。两个书城店关联同一个图书馆对外提供服务,这就是RAC

的概念,多个实例关联一个数据库。

这时黄浦区的学生可以选择黄浦书城店,也可以选择静安书城店提供

的服务,但是往往会选择离自己近的,而且顾客不拥挤的书店,否则买书

交费都要排个长队。ORACLE也会选择负载相对比较低的实例或者

LISTENER,这叫负载均衡。如果一个店拆了,还可以到另一个店买东西,

这在ORACLE中称为FAILOVERo

。实例由内存和后台进程组成

那我们拿静安书城店来举例,店要开张,我们需要租房子,每间房

子有它特定的功能,比如营业厅、仓库、总经理办公室,这些房子在

ORACLE中称为内存。

有些房间也许是我们存放书籍的仓库,也许是记录采购员采购的历史

信息的采购室。那要筹备这个店所需要盘卜或者购买的店面需要写在筹备

方案中,这个筹备方案在ORACLE中称为初始化参数。

现在有了店,那店里是不是需要有不同岗位的管理人员来维持店的正

常运转?

这些勤劳的管理人员在ORACLE中就称为后价进程。

包括干轻活的ckpt

干重活的dbwr

而采购员/售货员在ORACLE中就称为服务器进程,来服务于学生。

而学生在ORACLE中就称为客户端进程。

我们理解了上面的例子,现在来总结下。

我们知道ORACLESERVER是提供了数据库服务:

㊉ORACLESERVER=1个DB+1个INSTANCE

㊉INSTANCE=MEMORY+PROCESS

㊉RAC=N个ORACLESERVER=1个DB+N个INSTANCE

有了这些概念,我们就好理解什么是共享服务器进程,什么是SGA,什么是

PGA,什么是UGA,什么是CGA,什么是CURSOR了。

用户连接请求

我们知道学生要想买书,就会去书店找营业员,或者打电话订购,需要沟通

书店的客服中心。当学生和营业员或者客服中心建立了连接,学生就可以提出自

己想要做的事情,比如买某某书。ORACLE实例给用户提供的服务也类似,用

户进程发出请求,关联LISTENER再与服务器进程建立了连接,或者用户直接

连接到服务器进程。

EstablishingaConnection

andCreatingaSession

ConnectingtoanOracleinstanceconsistsof

establishingauserconnectionandcreatinga

session.

ORACLG

1.7Copyright©OracIeCorporation.2001.Allrightsreserved.

图例3

上图我们看到,用户会发出请求到指定的服务,这个用户我们叫userprocess,

也叫clientprocess,是在客户端的。

用户请求指定了服务(instance),指定了监听地址,监听地址的端口上检查这个

请求是否合法,是否属于我服务的INSTANCE范围内,如果合法,就在INSTANACE

机器上建立服务器进程。

这就在userprocess和serverprocess间建立了连接会话,会话是服务器进程和

客户进程间的。

这好比,小丽要去静安店买书,会有一个前台验证你是否可以到这个店买书,是否有小丽

要找的静安书城店存在。如果可以,而且书店确实存在,她会指派一个售货员来服务小丽。

这时候小丽和售货员就建立了会话。这里详细的过程我们将在DBAII网络部分介绍。接下

来售货员会帮小丽去静安店拿货(内存),如果货没有,就去上海图书馆进货。小丽和售货员分

别就是用户进程和服务器进程。而那个前台在ORACLE中称为监听程序。

OracleDB的组成

我们接下来该了解最关心的业务数据存放的地方,那就是DB库文件

OracleDatabase

AnOracledatabase:

Isacollectionofdatathatistreatedasaunit

Consistsofthreefiletypes

OracleDatabase

DataControlRedo

ParameterfileslogfilesArchived

filelogfiles

Password

file

ORACLE

Copuight©OracleCorporation.2001.Allrighlsresented.

图例4

我们看到DB是一组不同类型的文件集合

它由三类文件组成

O第一类是文本离线文件,如上图左边的参数文件、口令文件(spfile是服务端的)

O第二类也是离线文件,上图右边归档文件

O第三类是我们最关心的文件,DB在线文件,它按功能分如下几种

㊉DATAFILE

㊉CONTROLFILE

㊉REDOFILE

这三种文件组成了DB在线文件

这里涉及到DB的物理结构和逻辑结构,我们在后面的课中会学习。

Oracle物理结构

接下来学习ORACLE的物理结构,这里只是学习一些框架的知识,详细知识将

在后面章节介绍。

PhysicalStructure

ThephysicalstructureofanOracledatabaseis

determinedbytheoperatingsystemfilesthat

providetheactualphysicalstoragefordatabase

information.

•Controlfiles

Header

•DatafilesControl

•Redologfilesfiles

Datafiles

(includes

Online

data

redolog

dictionary)

files)

ORACLe

1.10Copyright©OracleCorporation,2001.Allrightsreserved

图例5

ORACLE的物理结构指的是OS里直接能查看到的文件,可以是文件系统,可

以是裸设备。但文件里的内部逻辑数据,只有ORACLE的命令才能查阅和修改。

文件里的内部逻辑数据,只有ORACLE的命令才能查阅和修改。这句话我

们应该怎么理解?

比如一个txt文件,是不是一个OS级别的文件?

我们可以用notpad(windows系统)命令或者vi(Linux系统)命令查询编辑内

容。

Pfile是不是一样?

但是Spfile,tablespace(XXX.dbf)的数据文件呢?

Spfile大家是不能通过OS直接编辑的,spfile里的东东都是二进制的。

同样,tablespace的数据文件我们通过OS命令也是看不出任何内容的,你

用OS命令打开全是二进制乱码,没法看懂。

那tablespace里的数据怎么看?你只有登陆oracle后用select命令查看或用

insert插入。表就是种逻辑结构。

文件里的内部逻辑数据,只有ORACLE的命令才能查阅和修改。就是这个

意思。大家理解了吧?

我们看到3组文件类型,他们的文件头都有一些描述信息、状态信息、一致性

信息和控制信息。这对备份和恢复及一致性事务操作至关重要。

大家知道SCN吗?SCN就是上面信息里的一部分,属于一致性信息。

这些文件可以存储在本机磁盘(非RAC),也可以存储在磁盘柜,甚至是共享存

储系统支持(RAC),称为concurrent设备。

好,我们小结下。

ORACLE的物理结构讲的是什么概念?

就是从OS角度看到的数据库组成文件。

Oracle内存结构

那ORACLE服务中的另一块核心就是实例,而谈到实例就先要谈到内存。

也就是你要为静安区学生提供图书服务而要开一家静安书店,你必须选好地址,把

店的门面租下来,这店的门面就是内存。

我们这章先不涉及怎么租这个门面,而是要了解要开这家店至少要租下几个

门面来完成各自的只能,而每个门面各自又有什么功能呢?

好,我们看一下内存结构

MemoryStructure

Oracle'smemorystructureconsistsoftwomemory

areasknownas:

•SystemGlobalArea(SGA):Allocatedatinstance

startup,andisafundamentalcomponento

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论