- 1、本文档共34页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Oracle RAC体系结构-共享存储子系统 Oracle RAC必须采用共享存储来部署。除了实例相关的文件,OCR(管理集群信息和RAC数据库配置信息)、VotingDisk(仲裁相关)、数据文件都需要保存再共享存储中。 Oracle RAC支持多种共享存储媒体来部署:IP-SAN、FC-SAN、NFS。 Oracle RAC推荐采用ASM作为存储管理方式。 深信服HCI上通过共享盘来给Oracle RAC提供共享存储,类似iSCSI共享存储映射的Raw设备。 Oracle培训交流 目录 Oracle结构: oracle体系结构 oracle实例内存结构 oracle实例进程结构 oracle 存储结构 oracle RAC Oracle测试常见问题排查: oracle测试过程问题查看 oracle测试过程中tpm下降明显 oracle测试过程中tps抖动较大 Oracle体系架构 一个Oracle数据库包含两个部分:实例和数据库 实例:一个非固定的、基于内存的基本进程与内存结构。 数据库:固定的、基于磁盘的数据文件、控制文件、日志文件、参数文件和归档日志文件等。 * Oracle实例内存结构 oracle实例内存结构主要包含SGA、PGA两个部分: SGA:实例启动时分配,包含该实例的数据和控制信息。主要由三部分构成:共享池、数据缓冲区、日志缓冲区等。Oracle中最重要的内存区。 PGA:为每个连接到Oracle database的用户进程保留的内存。 SGA-共享池 共享池用于缓存最近被执行的SQL语句和最近被使用的数据定义。 共享SQL区:存放用户SQL命令的区域。 数据字典缓冲区:存放数据库运行的动态信息。 * SGA-数据缓冲区(数据库高速缓冲区) oracle数据缓冲区,用于缓存从数据文件中检索出来的数据块。 空闲缓存块:预分配块,没有任何数据,等待后台进程或服务器进程向其中写入数据。 命中缓存块:保存那些正在使用的数据,通常保存select获取的数据。 脏缓存块:保存已经被修改但是还没有被写入数据库文件的数据。数据固化到数据文件后转为为空闲缓存块。 SGA-日志缓冲区(重做日志缓冲区) 日志缓冲区:Oracle在执行任何DML和DDL操作改变数据之前,都会将恢复所需要的信息,先写入重做日志缓冲区,然后再写入 数据库高速缓冲区。。 DML:SELECT、INSERT、UPDATE、DELETE等。 DDL:CREATE、ALTER、DROP、TRUNCATE等。 SGA-大型池(Large Pool) 大型池:数据库管理员配置的可选内存区域,用于分配大量的内存,处理比共享池更大的内存。需要处理的操作有: 数据库备份与恢复。 执行并行化的数据库操作。 具有大量排序的sql等。 SGA-JAVA池和流池 JAVA池:为Java命令的语法分析提供服务,只有当应用程序需要在数据库中运行Java存储过程时,才需要Java池(用不到JAVA命令无需配置)。。 流池:供oracle流使用,从重做日志提取更改的进程以及应用更改的进程将用到内存:此内存就是流池。最常用于数据泵导数据的场景。 Oracle实例进程结构 数据块写进程,负责将Oracle数据库缓冲区的脏缓冲写到数据文件内,保证缓冲区能有空余缓冲供用户使用。 DBWn根据LRU算法找出相应的脏缓存写入数据文件,Oracle的DBWn最大进程数为20。 当dirty list达到一定数量(阀值25%)Server Proceess会通知DBWn写赃数据 当扫描LRU list达到一定数量还未找到free buffer 时,停止有哪些信誉好的足球投注网站free buffer,直接通知DBWn写脏数据。 checkpoint通知写数据。 Oracle实例进程-DBWn Oracle实例进程-LGWR 用户进程每次修改内存数据块时,都会在日志缓冲区(log buffer)中构造一个相应的重做条目(redo entry),该重做条目描述了被修改的数据块在修改之前和修改之后的值。而LGWR进程则负责将这些重做条目写入联机日志文件。LGWR写入联机日志文件文件触发条件: DBWn启动时发现脏块对应redo条目未固化,则触发LGWR LGWR每3秒会被触发一次 redo条目数量达到整个日志缓冲区1/3时触发LGWR 重做条目的数量达到1MB时,触发LGWR。 用户提交commit时,触发LGWR Oracle实例进程-CKPT 检查点使DBWR将自上一个检查点之后的全部已修改的数据块写入数据文件
文档评论(0)