|
|
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就不起作用了。 |
|