Oracle server 体系结构介绍(形象版)
我们可以把电脑裸机看做是我们的地球,把装在裸机上的操作系统看成是一个个国家,不同的国家代表了不同的操作系统,操作系统的划分可以划分为windows和unix/linux两大部分.我们可以理解为资本主义和社会主义两大部分.windows下面的不同版本就代表了不同的资本主义国家有的强大有的弱小,有的早,有的晚.unix/linux中的不同版本就代表了社会主义社会中的不同国家,而linux是否就可以理解为有国家自己特色的社会主义呢?呵呵,这个就有点撤远了,下面我们继续oracle方面的部分
上面我们说了操作系统就代表一个国家,而在这个国家中建立一个公司我们就可以看作是在操作系统上安装一个oracle,oracle在不同操作系统上的版本可以看作是在不同国家之间建立公司一样步骤是不可能相同的一样
首先我们先来了解一下公司的结构.要建立一个的公司必须建立不同的部门,就算只有一个部门,这个部门里面的人员分工也肯定不相同.建立公司的同时我们也要买一些本子记帐,一个连帐的不计的公司肯定是不可想象的.现在我们再来看看oracle server的体系结构,oracle server由例程(公司的各个部门)和数据库(公司记帐所用的本子)两部分所组成
例程是由一组内存结构(我们暂时先理解为总裁办)和后台进程(暂时理解为其他的执行部门)组成.其内存结构包括数据高速缓存,重做日志缓存区和共享池3部分,这些内存结构总称为SGA(System Global Area).后台进程主要包括SMON,PMON,DBWR,CKPT,LGWR,ARCH等.
我们把内存结构理解为SGA,也就是我们创建公司时候的总裁办,在这个总裁办中,所有最近的公司资料都暂时存放在这里,他是各个部门都要打交道的地方,建立公司是必须先有这个部门为大家分配资源.由此我们再来理解一下SGA的定义.SGA由一组内存结构组成,它是由所有用户进程共享的一块内存区域,启动例程是,oracle自动分配SGA.关闭例程时,oracle自动释放SGA所占用的内存空间.
共享池用于存放最近执行的SQL语句和数据字典的信息.主要由库高速缓存和数据字典高速缓存两个部分组成.库高速缓冲用于窜犯最近执行的SQL语句信息,包括SQL语句文本,解析代码值及其执行计划.数据字典高速缓存用于存放数据字典的信息,包括表,列的定义以及权限的定义.
现在我们把总裁办具体细分,员工A代表共享池,员工A下面有两个员工A1和A2.最近公司的员工查询了以前的那些帐都在它这里记得.员工A1主要记载的是最近谁查询的以前的数据,以及怎么快速查询的方法等.而员工A2主要记载的是他们查询的是那方面的资料(表),以前这些资料都包含那些具体的部分(列),以及谁可以查看这些资料(权限信息).员工B 和员工C
重做日志缓冲区用于记载例程的变化,执行DDL或DML语句时,服务器进程首先将事务变化记载到重做日志缓冲区,然后采会修改高速缓存,重做日志缓存区有很多重做记录(REDO RECORD)组成,并且每条重做记录记载了被修改数据块的位置以及变化后的数据
我们先就理解员工B专门负责记录最近什么时候做了什么操作,记录修改帐的位置以及修改后的数据.
而员工C 就专门负责对这些想要查询或者修改账本的信息进行排队,交换结果等等.
而大缓冲池和java池可以看做是公司比较大了的时候增加的新员工,这个员工是需要的时候才新增加的.他们具有其他的不同任务.
而这些后台进程SMON,PMON,DBWR,CKPT,LGWR,ARCH等则具有各自的任务.
几个例子:
PMON,它的作用是监视用户查询过程的执行,如果这些操作失败了就把该用户所修改的数据还原等其他操作.
DBWR,它的作用是根据员工C里的信息把需要记载下来的数据写入到账本里面去.但它也会在一些情况下才会做.在数据方面就表现在:
系统发出检查点(CheckPoint)
服务器进程不能找到空闲缓冲区。
删除或截断表。
使表空间正常脱机(ALTER TABLE … OFFIINE NORMAL)
开始表空间备份(ALTER TABLESPACE … BEGIN BACKUP)
LGWR,它的作用就是把员工B那里记录的信息记录到账本里面去.(因为原来都是记载在员工B的脑子里面的,相当于缓冲区,会随时丢掉的)
其他的就不在一一举例了!
数据库文件
数据文件:想当于公司自己整理过的账本,这些账本可以查询到当前的公司运营状况.
重做日志:想当于公司每天都做了那些操作的记录.
控制文件:就相当于记载了这些账本都在什么地方放的一样.
其他的文件也都可以找到对应的例子!
这里给出的只是我的一个思路,我觉得现在讲这些专业的都太枯燥了,如果用一种形象的方法讲出来可能更好一些.说明:上面的只是一些例子,肯定和oracle下面的定义和功能有很多不符.欢迎大家提出意见.
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/312079/viewspace-245234/ ,如需转载,请注明出处,否则将追究法律责任。