- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Oracle数据库体系结构详解要点
?Oracle体系结构就是围绕这张图展开的,要想深入了解oracle,就必须把这张图搞明白。
如图:
?
一、基本组成:
Oracle server:
???一般情况下是一个instance和一个database组成
?? 1个instance只能对应一个数据库。??? 特殊:1个数据库可以有多个instance(rac)
??????? 一台服务器上同时可装多套版本的数据库软件,每个数据库软件可建多个数据库,但是每个数据库只对应一个instance,也可以理解成每个数据库只有一个SID 。
?????????利用DBCA建出的每个库都是相对独立的,在同一服务器上如果创建多库必须将环境变量的参数文件做区分,并且在对实例切换时需如下操作:
?????????????????????????????????????????????????????????????????????????connect?? 用户名/密码@实例的服务名
?
?
Oracle Instance:
是由内存(SGA)和后台进程(backupground Process)组成
通过instance来访问database
一个实例只能打开一个数据库
?
Oracle database:
数据文件(Data files):
????数据文件永远存储数据库的数据,包括数据字典、用户数据(表、索引、簇)、undo数据等
重做日志(Redo log):
“先记后写”
重做日志用于记录数据库的变化,当进行例程恢复或介质恢复时需要使用重做日志
执行DDL或DML操作时,事物变化会被写到重做日志缓冲区,而在特定的时刻LGWR会将重做日志缓冲区中的内容写入重做日志。
控制文件(Control file)
控制文件用于记录和维护数据库的物理结构,并且每个Oracle数据库至少要包含一个控制文件。
归档日志(Archive log):
是非活动(Inactive)重做日志的备份。
口令文件(Password file):
用于验证特权用户(具有SYSDBA、SYSOPER权限的特殊数据库用户)
参数文件(Parameter file):
用于定义启动实例所需要的初始化参数,包括文本参数文件(pfile)和服务器参数文件(spfile)
?
User and Server process :
在执行sql语句时产生的进程,每一个连接,oracle server创建一个session,产生一个server process,在client发起一个connection时就产生了一个user process。
?
?
体系结构可以分为,database结构和instance结构
如下结构:
?
?
?二、instance结构详解
??
1、? 内存结构
?
主要包括sga(system global area)和pga(program global area)
?
Pga是当程序起来时,给server process用(不包含在instance里面,这里不做重点讨论)
?
SGA(System Global Area)由一组内存结构组成,它是由所有用户进程共享的一块内存区域。启动例程时,Oracle自动分配SGA,关闭例程时,oracle自动释放SGA所占用的内存空间。
?
SGA动态尺寸总计不能超过初始化参数SGA_MAX_SIZE的值。
如果sga_target超过了sga_max_size的大小,在Instance重新启动后,sga_max_size会调整成和sga_target一样大小的值。
Oracle将自动为其添加容量,以帮助其优化操作,直到内存使用达到SGA_TARGET所表明的上限。
?
share pool:
Share Pool)用于存放最近执行的SQL语句和数据字典信息。
共享池主要有库高速缓存(Library Cache)和数据字典高速缓存(Dictionary cache)两部分组成
1)库高速缓存(Library Cache)
库高速缓存用于存放最近执行的sql语句信息,包括sql语句文本,解析代码值及执行计划。
?假设执行一条sql语句
???? -select ename,job from emp where empno=7788;
???????????如果最近(还没有被lru淘汰)执行过这条语句,他就会直接从cache里面读结果;如果没有执行过,就需要读数据文件,这个过程就比较复杂,效率差距很大。
/yujin2010good/article/details/7235864
?
这里还有两个概念:
物理i/o和逻辑i/o---------1:1000
物理i/o:从数据缓冲区找不到所需要的数据,就要从硬盘里面读取。
逻辑i/o:从数据缓冲区能找到所需要
您可能关注的文档
最近下载
- 16D303-2常用风机控制电路图.docx VIP
- BP3167XJ_EN_DS_Rev_1.2 规格书 晶丰明源LED电源.pdf VIP
- 高中物理学史总结归纳-高中物理学史总结.pdf VIP
- 广东省珠海市香洲区2022-2023学年三年级下学期期末数学试卷.docx VIP
- 史上最全日常生活类英语词汇大全.pdf VIP
- SAP-WM上下架与库位调拨用户操作手册.pdf VIP
- 2025年浙江省宁波市镇海区中考英语模拟试卷(含解析) .pdf VIP
- 《新能源汽车电机驱动与控制技术》课程考试复习题库资料(含答案).pdf VIP
- 电气工程分包单价表.docx VIP
- 2024-2025学年三年级英语下册期末试卷(PEP版)(含答案,含听力原文,无音频).pdf VIP
文档评论(0)