楼主: coolyl

[精华] 各个平台上调整最大SGA区的方法,欢迎大家补充!

[复制链接]
论坛徽章:
16
2010数据库技术大会纪念徽章
日期:2010-05-13 10:04:27ITPUB技术丛书作者
日期:2010-09-26 15:24:562011新春纪念徽章
日期:2011-01-25 15:41:01管理团队成员
日期:2011-05-07 01:45:082012新春纪念徽章
日期:2012-02-13 15:11:18马自达
日期:2014-01-27 11:47:11
21#
 楼主| 发表于 2003-5-25 13:17 | 只看该作者
最初由 seay 发布
[B]

那对于64BIT的solaris呢?

斑竹好哦 [/B]


64bit的可以直接支持大的sga的,这个没问题的

使用道具 举报

回复
论坛徽章:
16
2010数据库技术大会纪念徽章
日期:2010-05-13 10:04:27ITPUB技术丛书作者
日期:2010-09-26 15:24:562011新春纪念徽章
日期:2011-01-25 15:41:01管理团队成员
日期:2011-05-07 01:45:082012新春纪念徽章
日期:2012-02-13 15:11:18马自达
日期:2014-01-27 11:47:11
22#
 楼主| 发表于 2003-5-25 14:12 | 只看该作者
32BIT的solaris(sparc)如何调整SGA (补充)
五.对于7.3.2.X版本
1.关闭当前的所有数据库
2.cd $ORACLE_HOME/rdbms/lib
3.修改ksms.s文件
   将sgabeg=0xe0000000改成sgabeg=0x80000000
4.备份env_rdbms.mk文件
   cp env.rdbms.mk env_rdbms.mk.ksms
            5.修改env_rdbms.mk文件
           修改 $(ORACLE_HOME)/bin/genksms > $(KSMSS)  
            为 $(ORACLE_HOME)/bin/genksms > $(KSMSS).sga  
        6.生成ksms.o对象
           make –f ins_rdbms.mk ksms.o
        7.重新链接
           make –f ins_rdbms.mk ioracle
8.如果使用的是sun4u老版本的solaris结构,则在第3步中将new_location的值减少一个0。
       例如:0x80000000改成0x8000000

六.对于7.3.3或7.3.4版本
1.关闭当前的所有数据库
2.cd $ORACLE_HOME/rdbms/lib
3.修改ksms.s文件
   将sgabeg=0xe0000000改成sgabeg=0x80000000
4.备份env_rdbms.mk文件
   cp env.rdbms.mk env_rdbms.mk.ksms
            5.修改env_rdbms.mk文件
           修改 $(ORACLE_HOME)/bin/genksms > $(KSMSS)  
            为 $(ORACLE_HOME)/bin/genksms > $(KSMSS).sga  
        6.生成ksms.o对象
           make –f ins_rdbms.mk ksms.o
        7.修改ins_rdbms.mk文件
               将 –rm –f ksms.s ksms.o
               改为 –rm –f ksms.o
        8.重新链接
           make –f  ins_rdbms.mk ioracle
9.如果使用的是sun4u老版本的solaris结构,则在第3步中将new_location的值减少一个0。
       例如:0x80000000改成0x8000000
七.对于7.2.3或者更低的版本
1.关闭当前的所有数据库
2.cd $ORACLE_HOME/rdbms/lib
3.修改ksms.s文件
   将sgabeg=0xe0000000改成sgabeg=0x80000000
4.编辑oracle.mk文件,注释掉以下两行:
           ksms.s: $(ORACLE_HOME)/bin/genksms  
                 $(ORACLE_HOME)/bin/genksms > ksms.s  
            5.重新链接
               make –f oracle.mk ioracle
            6.生成ksms.o对象
           make –f oracle.mk ksms.o
7.如果使用的是sun4u老版本的solaris结构,则在第3步中将new_location的值减少一个0。
       例如:0x80000000改成0x8000000

使用道具 举报

回复
论坛徽章:
4
授权会员
日期:2005-10-30 17:05:33会员2006贡献徽章
日期:2006-04-17 13:46:34慢羊羊
日期:2015-03-04 14:19:442015年新春福章
日期:2015-03-06 11:57:31
23#
发表于 2003-5-25 14:27 | 只看该作者
coolyl:

    到底是32bit 的unix 还是32bit 的Oracle 的SGA受到限制?比如受到1.7G限制?

   我记得好像两种说法都有,请确认一下。thx !

使用道具 举报

回复
论坛徽章:
16
2010数据库技术大会纪念徽章
日期:2010-05-13 10:04:27ITPUB技术丛书作者
日期:2010-09-26 15:24:562011新春纪念徽章
日期:2011-01-25 15:41:01管理团队成员
日期:2011-05-07 01:45:082012新春纪念徽章
日期:2012-02-13 15:11:18马自达
日期:2014-01-27 11:47:11
24#
 楼主| 发表于 2003-5-25 14:32 | 只看该作者
最初由 jxc_hn 发布
[B]coolyl:

    到底是32bit 的unix 还是32bit 的Oracle 的SGA受到限制?比如受到1.7G限制?

   我记得好像两种说法都有,请确认一下。thx ! [/B]


32bit的oracle无论跑在32bit或者64bit的平台都有sga的限制的,而对于32bit的平台只能跑32bit的oracle啊,所以sga必然会受到限制的。

使用道具 举报

回复
论坛徽章:
4
授权会员
日期:2005-10-30 17:05:33会员2006贡献徽章
日期:2006-04-17 13:46:34慢羊羊
日期:2015-03-04 14:19:442015年新春福章
日期:2015-03-06 11:57:31
25#
发表于 2003-5-25 21:23 | 只看该作者
在sun的系统上,sga区要大于256M。
sgabeg = 0xe0000000 | 256Mb SGA
sgabeg = 0xd0000000 | 512Mb SGA
sgabeg = 0xc0000000 | 768Mb SGA
sgabeg = 0xb0000000 | 1Gb SGA
sgabeg = 0xa0000000 | 1.25Gb SGA
sgabeg = 0x90000000 | 1.5Gb SGA
sgabeg = 0x80000000 | 1.75Gb SGA
sgabeg = 0x77000000 | just less than 2Gb SGA
sgabeg = 0x70000000 | 2Gb SGA
sgabeg = 0x60000000 | 2.25Gb SGA
sgabeg = 0x50000000 | 2.5Gb SGA
sgabeg = 0x40000000 | 2.75Gb SGA
sgabeg = 0x30000000 | 3Gb SGA
sgabeg = 0x20000000 | 3.25Gb SGA
sgabeg = 0x10000000 | 3.5Gb SGA
sgabeg = 0x01000000 | 16Mb less than 3.75Gb SGA

我用的也是sun的机器,请问上面的是什么命令的输出?

使用道具 举报

回复
论坛徽章:
16
2010数据库技术大会纪念徽章
日期:2010-05-13 10:04:27ITPUB技术丛书作者
日期:2010-09-26 15:24:562011新春纪念徽章
日期:2011-01-25 15:41:01管理团队成员
日期:2011-05-07 01:45:082012新春纪念徽章
日期:2012-02-13 15:11:18马自达
日期:2014-01-27 11:47:11
26#
 楼主| 发表于 2003-5-25 22:08 | 只看该作者
这个不是什么命令的输入,这个是sun的os的规定啊,我只是照抄下来了而已

使用道具 举报

回复
论坛徽章:
16
2010数据库技术大会纪念徽章
日期:2010-05-13 10:04:27ITPUB技术丛书作者
日期:2010-09-26 15:24:562011新春纪念徽章
日期:2011-01-25 15:41:01管理团队成员
日期:2011-05-07 01:45:082012新春纪念徽章
日期:2012-02-13 15:11:18马自达
日期:2014-01-27 11:47:11
27#
 楼主| 发表于 2003-5-26 08:58 | 只看该作者
HP-UNIX上的大SGA支持

一.        HP上的最大SGA的大小
HP-UX 9::0.75GB
HP-UX10.0&oracle版本低于7.3.X: 1GB
HP-UX10.X以上&oracle7.3.X以上:1.75GB
HP-UX11.0(64bits)&oracle64bits:Millions of Tera
HP-UX11.0(64bits)&memory windows&32bit8.0.5以上
32位的oracle在32位或者64位的HP-UX11.0上最大的SGA大约是1.7GB,对于system-wide共享内存段的最大值也是限制在1.75GB,除非使用memory windows在oracle8.0.5以上的版本。
例如:32bit的oracle在32bit的HP-UX11.0上,oracle的一个实例使用了1.25GB的共享内存,那么剩下的实例能使用的共享内存就只有1.75GB-1.25GB=0.5GB了。
memory windows是32位或者64位的HP-UX11.0上的,它允许独立的进程去使用更多的物理内存。每个oracle的实例运行属于自己的“window”,有1G的共享内存的保留,加上0.75GB的对于系统上其他所有进程的共享。
例如:机器上有五个oracle的实例,则可以有5*1GB+0.75GB=5.75GB的共享内存使用。
二.        Memory windows一般适用的情况:
1.64bit的HP-UX并且内存大于2GB
2.多个32bit的实例且总共的SGA>1.75GB
            三.系统的需求:
                HP-UX11.0 32bit或者64bit
                Oracle8.0.5with pactch for bug785609
                Oracle8.0.6或者8.1.5
                HP-UX patches PHKL_17091和PHCO_16795
四.具体步骤:
    1.首先必须要安装memory windows并且启用它。
    2.Memory windows的数量可以通过调整HP-UX的核心参数max_mem_window来修改。
    3.启用后,会存在有/etc/services.window文件,这个文件映射oracle实例的ID至window keys,映射服务名到端口号。
    4.修改/etc/serveices.window文件,对于每一个实例,在文件的第一列上写上ORACLE_SID,第二列写上windows key。
       例如有两个实例orcl1,orcl2,/etc/services.window文件内容可能如下:
       orcl1   3
       orcl2   4
    5.Window key不能设置为0,因为0是系统保留给“global windows”的,如果设置为0,则memory window就不起作用了。

使用道具 举报

回复
论坛徽章:
0
28#
发表于 2003-5-26 10:04 | 只看该作者
总结非常好,可惜我了解得不多!先收藏

使用道具 举报

回复
论坛徽章:
4
授权会员
日期:2005-10-30 17:05:33会员2006贡献徽章
日期:2006-04-17 13:46:34慢羊羊
日期:2015-03-04 14:19:442015年新春福章
日期:2015-03-06 11:57:31
29#
发表于 2003-5-26 10:27 | 只看该作者
三. 对于8.1.X的版本
......
5.归档ksms.o文件至libserver9.a文件
ar r $ORACLE_HOME/lib/libserver9.a ksms.o
......

这里ar r 是否应为ar -r ?

还有修改完后,都需要重启吧?

使用道具 举报

回复
论坛徽章:
16
2010数据库技术大会纪念徽章
日期:2010-05-13 10:04:27ITPUB技术丛书作者
日期:2010-09-26 15:24:562011新春纪念徽章
日期:2011-01-25 15:41:01管理团队成员
日期:2011-05-07 01:45:082012新春纪念徽章
日期:2012-02-13 15:11:18马自达
日期:2014-01-27 11:47:11
30#
 楼主| 发表于 2003-5-26 10:31 | 只看该作者
最初由 jxc_hn 发布
[B]三. 对于8.1.X的版本
......
5.归档ksms.o文件至libserver9.a文件
ar r $ORACLE_HOME/lib/libserver9.a ksms.o
......

这里ar r 是否应为ar -r ?

还有修改完后,都需要重启吧? [/B]


1。不用重启机器了,要重启数据库的。
2。就是ar r

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表