终于到了正文了,好久没有写了,这段时间比较忙,非常惭愧!
提起Oracle的体系结构,离不开下面这张图:
大家知道,在Oracle的服务器环境中,Oracle服务器由两个部分组成,分别是:Oracle的实例和Oracle的database,呵呵,实例和database,这两个词感觉简单,但是又感觉那么的抽象,我们需要先把这两个词搞定.
先说database吧,一直以来我们都知道Database就是数据库的意思,数据库又是什么呢?就是为了某种目的而特定组合到一起的数据集合,这个解释太不好理解了,这么说吧,数据库是存放数据的,那么数据在什么地方存储呢,在硬盘的文件上,呵呵,对了,Database就是实实在在的物理存在,说白了就是组成Oracle的数据库文件,大体上来说,这些文件有:控制文件,数据文件,redoLog日志文件,除了这些之外,还有:归档日志文件,口令文件,初始化参数文件等等。这些文件可以在数据库的数据目录的SID目录下找到,比如你的数据库数据文件位置D:\oracle\oradata,SID是xaccp那么你的数据库文件就可以在D:\oracle\oradata\xaccp下找到(默认是这个,当然当你在建立表空间时可以在其他地方放置数据文件)。因此可以说:Oracle的database是由那么一些硬盘上的文件组成的。
接下来我们说说实例,刚刚接触Oracle时,这个实例是不容易理解的,想想在Java中,我们定义一个对象,然后再实例化该对象,这里的实例化,就是把对象建立在内存中,也就是说申请一块内存来运行程序
,这里有2个名称我们不陌生,内存以及程序,好了,在Oracle中,实例就是指运行Oracle需要的内存以及运行在Oracle中的后台进程。官方一点的话说:Oracle实例由Oracle的内存结构以及后台进程组成
。
Oracle的内存结构由那些内存组成呢?又都有那些后台进程呢?我们又遇到了一些新的问题,下面我们慢慢的解释。
先说说内存结构吧,内存结构主要由SGA(系统全局区),以及PGA组成,我们主要说说SGA中的主要内容:
可以通过命令看看SGA内容:
SQL> show sga
Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
SQL>
共享池:
共享池是对SQL、PL/SQL程序进行语法分析、编译、执行的内存区域。
共享池由库缓存和数据字典缓存组成。库缓存中放的是什么呢?用户每次对服务器进行sql操作时,Oracle都要对sql语句进行语法坚持以及对sql语句进行编译,Oracle会把编译后的sql语句放在库缓存中,以供将来快速使用,数据字典缓存就是存放Oracle的数据字典(表现形式是数据字典视图)以及动态性能表(以V$开头的系统表,记录数据库的实时信息。)
共享池的大小直接影响数据库的性能。
数据缓冲区:
用于存储从磁盘数据文件中读入的数据,所有用户共享。
服务器进程将读入的数据保存在数据缓冲区中,当后续的请求需要这些数据时可以在内存中找到,不需要再从磁盘读取,提高了读取速度。
数据缓冲区的大小对数据库的读取速度有直接的影响。
日志缓冲区:
日志记录数据库的所有修改信息,日志信息首先产生于日志缓冲区。
当日志缓冲区的日志数据达到一定数量时,由后台进程将日志数据写入日志文件中。
相对来说,日志缓冲区对数据库的性能影响较小。
其他的缓存大家google一下吧。
后台进程是干啥的?其实用户对服务器的操作就是服务器进程对数据库的操作,其实操作的是内存,比如一个insert语句,当数据进入数据缓冲区后,就说明数据库插入成功,至于什么时候与数据文件交互,是后台进程的事情,后台进程还要对系统管理,系统监控,数据同步,5日志读写等等。
可以通过命令来查看已经启动的后台进程:
select * from
v$bgprocess where paddr<>'00' --paddr如果不等于00,就说明该进程已经启动
关于具体的后台进程,我们后面在讨论吧,老婆催我休息了,最后总结一下,接下来的介绍都是围绕这个体系结构进行的。
分享到:
相关推荐
Oracle系列培训教程:数据库体系结构
Oracle 9i&10g编程艺术:深入数据库体系结构.pdf
英文版Oracle Database 9i/10g/11g编程艺术:深入数据库体系结构(第2版)
oracle体系结构图oracle体系结构图oracle体系结构图oracle体系结构图oracle体系结构图oracle体系结构图oracle体系结构图oracle体系结构图oracle体系结构图oracle体系结构图
Oracle 9i&10g编程艺术:深入数据库体系结构.pdf
Oracle数据库体系结构( 中文详细版)
高清淅的一本 ORACLE数据库教程的书籍,阅读此书,你将了解到Oracle数据库应用设计的一些重要概念。如果你确实领会了这些思想,相信你肯定也会对所面对的难题“换角度思考”。 IBM的Watson曾经说过:“自始以来,...
深入理解Oracle数据库体系结构,大师之作,推荐阅读。
无论你是程序员还是dba,要创建和管理稳定、高质量的oracle系统,归根结底都需要理解oracle数据库的体系结构。 本书是讲述oracle数据库毋庸置疑的权威指南,凝聚了世界顶尖的oracle专家thomas kyte数十年的宝贵...
Oracle 12c数据库体系结构图文详解手册
oracle体系结构思维导图
Oracle9i&10g编程艺术:深入数据库体系结构.pdf
Oracle11g体系结构图,oracle结构清清楚楚
我会深入地分析Oracle数据库体系结构,包括文件、内存结构以及构成Oracle数据库(database)和实例(instance)的底层进程。然后讨论一些重要的数据库主题,如锁定、并发控制、事务、redo和undo,还会解释为什么了解...
详细描述了Oracle的体系结构,包括 物理结构 逻辑结构 等
书中深入分析了Oracle数据库体系结构,包括文件、内存结构以及构成Oracle数据库和实例的底层进程,利用具体示例讨论了一些重要的数据库主题,同时分析了数据库中的物理结构,如表、索引和数据类型,并介绍采用哪些...
Oracle 数据库体系结构 1 8 数据库结构 1 9 Oracle 内存结构 1 10 进程结构 1 12 Oracle 实例管理 1 13 服务器进程和数据库缓冲区高速缓存 1 14 物理数据库结构 1 15 表...
涵盖了所有重要的Oracle体系结构特性,包括文件、内存结构和进程、锁和闩、事务、并发和多版本、表和索引、数据类型、分区和并行,以及数据加载和卸载,并利用具体的例子来全面介绍每个特性,不仅讨论了各个特性是...
Oracle 数据库体系结构 ORACLE数据库体系结构决定了oracle如何使用网络、磁盘和内存。包括实例(instance),文件(file)和进程(process不包括后台进程)三部分。 实例:每一个运行的ORACLE数据库与一个ORACLE...
系统地讲解Oracle体系结构,有助于初学者整体了解和把握Oracle服务器。