Home > Database > Mysql Tutorial > body text

Oracle在 32位系统上运行突破sga1.7g的方法

WBOY
Release: 2016-06-07 17:12:56
Original
1003 people have browsed it

在32bit或者64bit的平台上跑32bit的oracle的时候,SGA总是受到限制,导致大内存的机器不能完全发挥作用,最近就专门找了一些关于

在32bit或者64bit的平台上跑32bit的Oracle的时候,,SGA总是受到限制,导致大内存的机器不能完全发挥作用,最近就专门找了一些关于调整最大SGA区的文档,看了看,感觉收获蛮大的,总结了一下几个平台的,但是不全,欢迎大家探讨补全。

我先把我总结的几个平台贴出来大家讨论讨论。

在RedHat ADVANCED SERVER2.1上扩展SGA(1.7G以上)

一.        目标:
1.        在一个4G以上的内存的机器上将SGA从1.7G增至2.7G
2.        兼容8.1.7,9.0.1,9.2.0版本的数据库
3.        整个SGA都能够被提高
二.        限制:
1.        只允许在本地启动和关闭数据库
2.        如果为PGA保存的虚拟内存太少就会导致ORA-4030的错误
三.        基本步骤:
1.        查看启动oracle用户的shel的进程号PID
ps -ef或者echo $$
2.        以root用户单独开一个进程,执行:
echo 268435456 > /proc/$PID/mapped_base
       这个要对server上所有产生oracle进程的shell
3.        修改shmmax的值。用root用户执行
echo 3000000000 > /proc/sys/shmmax
4.        重新分配SGA
shutdown immediate所有的oracle实例
cd $ORACLE_HOME/lib
cp –a libserver9.a libserver9.a.org(备份liberver9.a文件)
cd $ORACLE_HOME/bin
cp –a oracle oracle.org(备份oracle文件)
cd $ORACLE_HOME/rdbms/lib
genksms –s 0x15000000 > ksms.s
make –f ins_rdbms.mk ksms.o(编译新的sga地址)
make –f ins_rdbms.mk ioracle(重新链接)
  这样改过以后就可以支持到2.65G的sga,从而可以提高db_cache_size或者db_block_buffers去提高数据库的缓冲区了。

更多Oracle相关信息见Oracle 专题页面 ?tid=12

linux

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template