- 1、本文档共25页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
构架及分布式-Read
Oracle Open World 2000 目 标 文件,内存结构,进程 了解分布式数据库概念 分布式环境中容易出现的问题及其解决 9I的系统结构 三个主要组件 : 文件 研究组成数据库和实例的5个文件 SGA内存结构 研究SGA,PGA和UGA之间的关系,包括JAVA池,共享池,大池部分 物理进程和线程 研究数据库运行过程中三种进程:服务器进程,后台进程和从属进程 服务器 数据库 物理操作系统文件的结合。(静态) 实例 一系列Oracle进程以及这些进程所涉及的SGA结构(动态) 数据库和实例关系 一个数据库可以被多个实例打开 架构概述 文件 参数文件 数据库初始化文件(spfile), spfile管理 listener.ora,tnsnames.ora 数据文件 DBWR进行写操作 控制文件 镜像的重要性 联机日志文件,归档日志 写密集型,写操作由LGWR完成 启动过程中依次打开文件顺序 spfile-controlfile-on-line redo logfiledbfiles 内存结构 内存结构种类 SGA系统全局区(System Global Area) --大共享内存段,本质上所有的oracle进程都在一点或者另一点访问 PGA进程全局区(Process global Area) --私有内存段,单一进程或者线程的访问 UGA用户全局区(User Global Area) --与会话相关的数据。注意MTS下的区别 PGA和UGA 8i或9i(WORKAREA_SIZE_POLICY不为auto) PGA,UGA主要是以下两个参数控制: sort_area_size-写临时段前分配给排序操作的内存,在PGA中 sort_area_retained_size-排序完成后保留的内存段,在UGA中 WORKAREA_SIZE_POLICY=auto 由PGA_AGGREGATE_TARGET决定 PGA/UGA的监控 V$sesstat 当前会话的监控V$mystat select a.name,b.value From v$statname a,v$mystat b Where a.statistic#=b.statistic# And a.name like ‘%ga%’; PGA参数的正确权衡 DB 高速缓存 作用 文件系统Buffer问题 通常情况下DB buffer的大小 如何判断其大小适当 命中率的问题 保留池 循环池 共享池-1 作用 存储使用过的sql代码 通常情况下的共享池大小 不宜动辄好几百兆。过大的共享池会使得系统需要花费很长的时间来定位一个sql,同时表现为闩锁占用时间过长,系统上下文切换增多。 ORA-04031的问题 现有的共享池空闲区不足以放下一个大包而抛出ORA-04031的信息。 解决: 1.必要的patchset 2. Share pool 中对象频繁老化 3.由于老化Vsgastat中内存空闲较多。 4.大对象没有在share pool 中没有做keep。 5.没有使用绑定变量。(这个是普遍原因) 6.没有cursor_sharing=force 7.过多的分析 或者会话缓存游标没有用(session_cached_cursors) 8.应用中过多的使用匿名块 9.保留池没有使用 共享池-2 SQL老化的问题 不停的被新sql排挤出共享池的过程。 解决办法:绑定变量 共享池越大是否性能越高 不是,cpu管理开销增大,latch占用时间变长 绑定变量的作用 增加重用,防止老化 Cursor_sharing的影响 8174之后的版本中使用force Log buffer 作用 计算依据 和checkpoint的影响 每3秒钟 有人提交 1/3满或者满1M的Log buffer内容时 注意:由于以上原因,动辄数十兆的redo log buffer的分配是对内存的浪费。从增大该参数中能获益的可能性极小。 大池 大池的推出的原因 系统需要使用大块内存,用完即可,无需缓存住其内容。如果不存在,则这部分内存将从共享池中获取,变相的实现对共享池的保护 以下操作是将使用大池: MTS-在SGA中分配UGA区 平行操作-平行进程间的消息缓存区 RMAN-为备份操作分配大片的IO缓存 大池与共享池
文档评论(0)