知识大全 突破oracle for win2K的2G内存限制

Posted

篇首语:我希望在颠沛流离之后,还能够重新遇见温暖的你,那时候,你刚好成熟,而我,刚好学会温柔。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 突破oracle for win2K的2G内存限制相关的知识,希望对你有一定的参考价值。

突破oracle for win2K的2G内存限制  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  突破oracle for win K的 G内存限制         众所周知 在 位的操作系统如win K上 操作系统能管理的内存为 GB(power( ) = G) oracle使用的总内存有 G限制 目前大多数信息系统都能为数据库服务器配上 G物理内存甚至更多 但无论你为系统配置多大的物理内存 正常情况下都不能使oracle使用超过 G的内存(包含SGA PGA等) 从而造成系统资源浪费 那么 有没有什么办法能使运行在windows系统上的oracle使用超过 G的内存呢?windows 提供了一种叫 GT( G Tuning)的技术 使得oracle使用超过 G(不超过 G)的内存成为可能 而为了让应用程序使用更大的内存 还有一种PSE 的技术 可以让oracle使用超过 G的内存 这里 只对我们使用 GT特性让oracle使用超过 G的内存进行讨论   一 使用 GT特性的基本要求      尽管可以在不超过 G物理内存的系统上使用 GT特性 但oracle并不推荐这种做法 因为这将会严重降低系统性能 以我的经验来讲 如果系统未安装 G物理内存 最好也不要使用这种方法来让oracle使用更多的内存 此外 在需要你的oracle使用超过 G的内存时 数据库服务器最好不要再运行其他的服务 以减小系统的压力 让oracle工作得更好      另外 据MS的文档 GT只能用于 Advanced Server Datacenter版本上 Server 版以及 Professional 版不能使用 GT特性(实际上是不是也没有必要?)     二 为什么 GT能让应用程序使用超过 G的内存      在正常情况下 windows系统对内存的分配是这样的 在内存地址 x 到 x FFFFFFF之间的空间 交给应用程序使用 操作系统内核及其支持则使用内存地址 x 到 xFFFFFFFF之间的空间 在使用 GT之后 操作系统将内核及其支持程序使用的内存地址空间压缩到 xC 到 xFFFFFFFF之间 从而为应用程序 让 出来 G的空间 但是 仅仅 让 出来了这 G的空间还是不够的 还需要指定哪一个应用程序来使用这 多出来的 G空间 以及如何分配份额等 后面将结合具体的参数设置来讨论 为便于讨论 我们将正常情况下应用程序可以使用的 G内存(即地址在 x 到 x FFFFFFF 之间的内存)称作普通内存 而将windows 让 出来的 G内存(地址在 x 到 xBFFFFFFF之间)称作间接内存     三 oracle使用超过 G内存 不超过 G内存的具体设置步骤      首先应卸载实例 关闭oracle服务      打开操作系统 G开关      修改boot ini文件 在启动windows项中添加 / G 参数 修改过后的boot ini文件应该类似以下内容     [boot loader]     timeout=     default=multi( )disk( )rdisk( )partition( )    [operating systems]     multi( )disk( )rdisk( )partition( )= Microsoft Windows Advanced Server / G /fastdetect     注意在启动win K AdvServer的一栏里 多了一个 / G 参数 这个参数的作用 就是让windows启动时 将自己的内核及支持程序装载到内存地址 xC 到 xFFFFFFFF 之间 给应用程序留出 G的空间来      修改oralce 的 init ora 文件      ) 确定oracle的缓冲区及共享池大小 假设作如下定义      db_block_size =      db_block_buffers = # 缓冲区大小为 G      share_pool_size = # 使用 M共享池      ) 添加下列各项内容      use_indirect_data_buffers = true      # 告诉oracle可以使用间接内存(即可以使用windows让出来的 G内存作为数据缓冲区)      pre_page_sga = true      # 把oracle SGA锁定到内存中 不产生页面交换文件( i的参数可能是lock_sga = true)      # 对于一个有 G物理内存的系统来讲 可能这一个参数并不是必须的      修改注册表 定义oracle的DBbuffer使用常规内存大小      在注册表 _Local_Machine中添加一个二进制值 名称为AWE_WINDOW_MEMORY 值的单位为字节 大小为你需要让oracle使用普通内存作为缓存的大小(不是windows让出来的 G 而是内存地址在 x 到 x FFFFFFF 之间的内存大小) 假如设为 即 M大小 那么oracle的数据缓冲区将占用 M的普通内存 其余部分( G M = M)则使用间接内存      重新启动操作系统 启动数据库 OK 你现在的 oracle 可以使用 G + M内存了     四 几个补充讨论      windows系统 让 出来的 G间接内存 只能用于数据缓冲区      在 GT特性测试中发现 间接内存只能用于数据缓冲区 而不能用于共享池 也不能分配给用户作为PGA 或许有其他的参数可以定义 但我查到的文献中没有任何一篇讲间接内存可以用于哪些地方 而在我们的测试中发现按上面的修改后 间接内存只能用于数据缓冲区 此结论只作为一个经验 不是定论 请各位大侠补充修正      注册表中 AWE_WINDOW_MEMORY 参数大小的定义      这个参数定义缓冲池使用普通内存的大小 不能太小 在数据块大小为 K 缓冲池为 G(即使用 个块作缓冲池)大小的情况下 此参数定义为 M时 oracle不能启动 定义为 M时正常启动 根据我阅读文献后对这个情况的理解 数据缓冲区的每一个块的块头信息都将存放于普通内存中 不能存放于间接内存中 如果此参数定义过小 导致缓冲区块头信息都不能存放 则可导致数据库启动失败 那么 是不是同样大小的缓冲区 数据库块越大 则这个参数就可以定义得越小 因而可以占用更少的普通内存呢?有待验证      在具体的应用中 如何定义此参数 应综合考虑最大并发连接数(专用服务器模式下) 用户重用的堆栈大小 排序区 共享池 大池等内存参数的设置情况 尽可能的将数据缓冲区放到间接内存中 充分利用系统的资源      间接内存的性能      据oracle的文献讲 间接内存的性能(我想主要是指速度和效率吧?)不如直接内存 绝不推荐在未安装有 G物理内存的系统上使用 GT特性 我不知道如何比较间接内存与直接内存的速度和效率 因而未作测试 姑且信之      一点小结 期望能对大家有所启发 还请各位大侠补充指正     以上内容的测试环境     IBM X + G内存 + RAID 阵列     Windows Advaced Server SP + oracle 专用服务器模式 cha138/Article/program/Oracle/201311/17283

相关参考

知识大全 在ASP中利用Oracle Object for OLE访问Oracle 8

在ASP中利用OracleObjectforOLE访问Oracle8  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快

知识大全 Oracle 8.0.4 for Windows NT的安装

Oracle8.0.4forWindowsNT的安装  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 Oracle 8i R2 (8.1.6) for Windows 2000 安装图解(2)

Oracle8iR2(8.1.6)forWindows2000安装图解(2)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让

知识大全 FAQ for the Oracle Intelligent Agent 9.0.1

FAQfortheOracleIntelligentAgent9.0.1  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们

知识大全 oracle内存调优参数详解

  实例结构  oracle实例=内存结构+进程结构  oracle实例启动的过程其实就是oracle内存参数设置的值加载到内存中并启动相应的后台进程进行相关的服务过程  进程结构  oracle进程

知识大全 如何察看Oracle进程消耗的内存

如何察看Oracle进程消耗的内存  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  经常有人问到如

知识大全 Oracle内存结构:SGA的区域信息

Oracle内存结构:SGA的区域信息  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  SGA的区

知识大全 查看ORACLE数据库内存使用情况

查看ORACLE数据库内存使用情况  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  selecta

知识大全 Oracle内存参数调优技术详解

Oracle内存参数调优技术详解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  目的  希望通过

知识大全 Oracle9i的物理内存管理

Oracle9i的物理内存管理  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在Oraclei以