oracle体系结构

初学时,感觉这个图特别复杂,但是随着深入了解,才发现如果要做一个DBA的话,这个图要研究透。
首先,什么是oracle,为什么要研究他的体系结构。
oracle其实就是一个软件,和qq其实差不多,但是,qq主要是用于聊天,而oracle是用于存储你的qq的账号密码和聊天记录什么的,这是腾讯工程师的工作,也是我们将要做的工作。那为什么要研究他的体系机构呢?那是因为,数据是很重要的,如果丢失或损坏了了,我们需要把它修好。就像修车一样,车坏了,只有了解车辆的机构才能修好。
现在做一个简要的介绍,Oracle的体系结构其实主要分为图中上下两部分,上面存在于内存,下面存在于磁盘。
上面由部分构成,一、PGA,二、实例。
PGA(process gold area):程序全局区,服务器端为单个用户分配的空间。专有模式下每个用户都会分配一个PGA。主要用于查询结果的排序以及用户的权限控制。
实例(oracle instance):实例是由内存与后台进程组成的。内存为SGA,后台进程主要包括PMON、SMON、BDWR、LGWR、CKPT。
内存。
SGA (system gold area):系统全局区,实例中的一组包含数据和控制信息的共享内存。主要包含:shared pool、buffer cache、redo log buffer等。
共享池(shared pool):SGA中共享内存结构的区域,如Library cache中的SQL区,以及数据字典中的内部信息等。
库缓冲区(library cache):用于存储共享的SQL语句,其中包含缓存的解析树和执行计划。
数据字典缓冲区(data dictionary cache):将数据字典加载到内存中,加速SQL解析。
数据缓冲区(database buffer cache):用于存放最近访问的数据块。
重做日志缓冲区(redo log buffer):记录对数据库的操作。
java池(java pool):存储java命令服务分析要求(一般接触不到)。
大池(large pool):主要用于备份恢复操作。
后台进程。
PMON(process monitor):监控进程,事务操作失败,回滚,解锁,释放空间;注册监听。
SMON(system monitor):监控系统,清理临时空间,聚合空闲空间,执行实例恢复。
DBWR(database writer):负责向数据文件里面写脏块。最多可以有20个。
LGWR(log writer):负责把redo log buffer里面的记录写进联机日志中。
CKPT(checkpoint):检查点,负责调度DBWn,把检查点写入数据文件头和控制文件。
如果是归档模式还会有
ARCH(archive):将联机在线日志进行归档。
下面的部分主要是存在于磁盘上的文件。
参数文件(server parameter file或parameter file):数据库nomount时使用。初始化数据库。分配内存。
控制文件(control file):数据库mount时使用。主要是记录DBID、数据文件的位置、检查点等信息。
数据文件(data file):数据库open时使用。数据存放的文件。文件头记录SCN号。
联机重做日志(redo log file):redo log buffer里生成的日志写入联机重做日志,有多个,写满后切换。
归档日志(archived log file):数据库在归档模式下,联机重做日志写满后进行归档,保存在磁盘中。
密码文件(password file):DBA在远程连接数据库进行启动时用到,可以创建。
oracle体系结构简要介绍完了。各部分的具体用途以后再做介绍。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29895090/viewspace-1416099/
,如需转载,请注明出处,否则将追究法律责任。