文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络程序开发Oracle32bit oracle 扩展SGA原理
精品推荐
特别推荐
·ORACLE应用中常见的傻瓜问题1000问 (二)
·自动清除statspack所产生的snapshot旧记录
·MPlayer常见问题解答
·常用数据库比较
·ODBC API常用函数诠释
·提高ORACLE数据库的查询统计速度
·细化解析:Oracle使用的hints调整机制
·解析Oracle/Oracle Forms 的多用途代码
·从Oracle的FORM中调用REPORT的实用技巧
·Oracle SQL精妙SQL语句讲解
热点TOP10
·自动清除statspack所产生的snapshot旧记录
·ORACLE常用傻瓜问题1000问
·Oracle DBMS_REPAIR包修复损坏数据块
·DBMS_REPAIR包修复损坏数据块
·ORACLE应用中常见的傻瓜问题1000问 (二)
·VMware下RedHat安装Oracle 9i RAC全攻略
·Oracle客户端文件打包
·MPlayer常见问题解答
·Oracle SQL精妙SQL语句讲解
·Linux V2.2.X(i386体系结构)进程管理分析

32bit oracle 扩展SGA原理

日期:2008年6月13日 作者: 查看:[大字体 中字体 小字体]


    32bit oracle由于位数限制,使得oracle进程只能访问4g(2的32次方)以下的虚拟内存地址,在很多时候这是一个很让人头疼的问题,因为空着许多内存而不能使用,而默认情况下SGA不能超过1.7g。比如我们的linux下有8g内存,却有部分空着不能用干着急。 这个时候我们就要考虑怎样扩展oracle的SGA。那么首先,如何识别32bit的oracle呢?我们可以通过如下查询得到

    sys@OCN> select * from v$version;

    BANNER
    ----------------------------------------------------------------
    Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
    PL/SQL Release 9.2.0.4.0 - Production
    CORE 9.2.0.3.0 Production
    TNS for Linux: Version 9.2.0.4.0 - Production
    NLSRTL Version 9.2.0.4.0 - Production

    如果是64bit oracle,在查询结果中一定会显示 64bit 字样,没有出现,则一定是32bit oracle .当然,在os上通过file oracle 也能看到

    [oracle@ocn2 bin]$ cd $ORACLE_HOME/bin
    [oracle@ocn2 bin]$ file oracle
    oracle: setuid setgid ELF 32-bit LSB executable, Intel 80386, version 1, dynamically linked (uses shared libs), not stripped
    [oracle@ocn2 bin]$

    在某些os上,比如AIX上,64bit oracle 会正常显示信息,32bit则不正常显示。

    在确认了32bit oracle之后,我们要明白,通常情况下我们的OS进程只能访问4g以下的空间,redhat linux AS 2.1 或者AS3.0版本例外,他们可以提供VLM(Very large memory)功能支持,使得通过转换可以使用36bit来标志内存地址,那么就是2的36次方理论上最大可支持64g内存访问。在oracle中,则是通过将内存当作文件来访问的,虚拟一个 /dev/shm 的文件系统,这个文件系统是完全由内存组成的,这样将突破4g的限制。那回过来我们看看,既然进程可以访问4g以下内存为何通常SGA又是1.7g呢。

    在OS中,规定了一个进程在应用程序中,能访问的虚拟内存空间为0--3g,而3g--4g这段虚拟地址空间是保留给kernel使用的。要注意我们这里强调的是虚拟地址空间,并没有说物理地址空间,也就是说,假设有8g的内存,这0--3g的虚拟地址空间可能出现在8g内存的3g--8g部分内存段,并不是说是物理内存的0--3g段。而在这0--3g的虚拟地址中,oracle又是如何来使用的呢,这是固定好了地址的。

    +++++++++++++++ 4g
    + -------------------------+
    +------------------------- +
    +------------------------- +
    +++++++++++++++ 3g: kernel
    + ------------------------- +
    + ------------------------- +
    +------------------------- +
    +++++++++++++++ 2g: process stack
    + -------------------------+
    +------------------------- +
    +++++++++++++++ 1.25g: SGA起点
    +++++++++++++++ 1g: oracle 共享库装载起点
    + -------------------------+
    + -------------------------+

[1] [2] [3] [4] [5] [6] [7] 下一页 




上一篇:Oracle9i 性能调整与优化(2)

下一篇:Oracle 10g RAC与SLES9

相关文章:
·QQ密码本地破解的原理和方法
·XP系统登陆原理及其验证机制概述
·Excel密码保护的解除方法与解除原理
·暴力破解知识原理与相关破解经验技巧
·暴力破解知识原理和破解经验技巧
·关系数据库的结构与一般原理探讨
·ORACLE常用傻瓜问题1000问
·mdf,mds为扩展名的文件用什么打开?
·宽带拨号连接密码恢复原理
·Oracle DBMS_REPAIR包修复损坏数据块
相关软件:

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.vipcn.net
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.net All Rights Reserved. 鄂ICP备05000083号Powered by:viphot