Oracle开发之五:Oracle的体系结构

本文介绍了Oracle数据库的基本结构,包括数据库(database)的概念及其组成文件,如控制文件、数据文件等。此外,还详细阐述了Oracle实例的概念,涉及内存结构(如SGA、PGA)和后台进程的作用。
摘要由CSDN通过智能技术生成

    终于到了正文了,好久没有写了,这段时间比较忙,非常惭愧!

    提起Oracle的体系结构,离不开下面这张图:

 4ab0d574a8414b3c454a5

    大家知道,在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,就说明该进程已经启动

     关于具体的后台进程,我们后面在讨论吧,老婆催我休息了,最后总结一下,接下来的介绍都是围绕这个体系结构进行的。

 4ab0d5745f51e543de103

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值