RHEL4.5 for x86的ORACLE SGA扩展
昨天按照biti大师的文章,在我的生产库上降低了SGA的起点。原理我就不介绍了,这里只记录我的操作过程及结果。
调整前,先查看数据库的共享内存段信息:
# ipcs
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x00000000 425984 gdm 600 393216 2 dest
0xb66f38d0 360455 oracle 640 1679366236 19
------ Semaphore Arrays --------
key semid owner perms nsems
0x0d33616c 98304 oracle 640 201
0x0d33616d 131073 oracle 640 201
0x0d33616e 163842 oracle 640 201
0x0d33616f 196611 oracle 640 201
0x0d336170 229380 oracle 640 201
------ Message Queues --------
key msqid owner perms used-bytes messages
SGA为1679366236
再查看pmon或任意oracle进程的虚拟地址分配信息:
# ps -ef|grep pmon|grep -v grep
oracle 5120 1 0 Jun26 ? 00:00:00 ora_pmon_orcl
# cat /proc/5120/maps
0017f000-00194000 r-xp 00000000 fd:00 14812134 /lib/ld-2.3.4.so
00194000-00195000 r--p 00015000 fd:00 14812134 /lib/ld-2.3.4.so
00195000-00196000 rw-p 00016000 fd:00 14812134 /lib/ld-2.3.4.so
002ef000-002f1000 r-xp 00000000 fd:00 14812137 /lib/libdl-2.3.4.so
002f1000-002f3000 rw-p 00001000 fd:00 14812137 /lib/libdl-2.3.4.so
00772000-00784000 r-xp 00000000 fd:00 14812146 /lib/libnsl-2.3.4.so
00784000-00786000 rw-p 00011000 fd:00 14812146 /lib/libnsl-2.3.4.so
00786000-00788000 rw-p 00786000 00:00 0
08048000-0a672000 r-xp 00000000 fd:00 1394588 /opt/oracle/product/9.2.0/bin/oracle
0a672000-0af58000 rw-p 02629000 fd:00 1394588 /opt/oracle/product/9.2.0/bin/oracle
0af58000-0afca000 rw-p 0af58000 00:00 0
50000000-b0200000 rw-s 00000000 00:06 196609 /SYSV51125e54 (deleted)
b7886000-b78a7000 rw-p b7886000 00:00 0
b78a7000-b78b0000 r-xp 00000000 fd:00 14811186 /lib/libnss_files-2.3.4.so
b78b0000-b78b2000 rw-p 00008000 fd:00 14811186 /lib/libnss_files-2.3.4.so
b78b2000-b7932000 rw-p 00000000 00:0d 2046 /dev/zero
b7932000-b7a58000 rw-p b7932000 00:00 0
b7a58000-b7b7c000 r-xp 00000000 fd:00 14811143 /lib/i686/libc-2.3.4.so
b7b7c000-b7b7d000 r--p 00123000 fd:00 14811143 /lib/i686/libc-2.3.4.so
b7b7d000-b7b80000 rw-p 00124000 fd:00 14811143 /lib/i686/libc-2.3.4.so
b7b80000-b7b82000 rw-p b7b80000 00:00 0
b7b82000-b7ba3000 r-xp 00000000 fd:00 14811145 /lib/i686/libm-2.3.4.so
b7ba3000-b7ba5000 rw-p 00020000 fd:00 14811145 /lib/i686/libm-2.3.4.so
b7ba5000-b7bb3000 r-xp 00000000 fd:00 14811147 /lib/i686/libpthread-0.10.so
b7bb3000-b7bb5000 rw-p 0000d000 fd:00 14811147 /lib/i686/libpthread-0.10.so
b7bb5000-b7bf8000 rw-p b7bb5000 00:00 0
b7bf8000-b7ee0000 r-xp 00000000 fd:00 1394375 /opt/oracle/product/9.2.0/lib/libjox9.so
b7ee0000-b7ff3000 rw-p 002e7000 fd:00 1394375 /opt/oracle/product/9.2.0/lib/libjox9.so
b7ff3000-b7ff5000 rw-p b7ff3000 00:00 0
b7ff5000-b7ff6000 r-xp 00000000 fd:00 1394489 /opt/oracle/product/9.2.0/lib/libskgxn9.so
b7ff6000-b7ff8000 rw-p 00000000 fd:00 1394489 /opt/oracle/product/9.2.0/lib/libskgxn9.so
b7ff8000-b7ff9000 r-xp 00000000 fd:00 1392915 /opt/oracle/product/9.2.0/lib/libskgxp9.so
b7ff9000-b7ffa000 ---p 00001000 fd:00 1392915 /opt/oracle/product/9.2.0/lib/libskgxp9.so
b7ffa000-b7ffb000 rw-p 00001000 fd:00 1392915 /opt/oracle/product/9.2.0/lib/libskgxp9.so
b7ffb000-b7ffc000 r-xp 00000000 fd:00 1394515 /opt/oracle/product/9.2.0/lib/libodmd9.so
b7ffc000-b7ffd000 rw-p 00000000 fd:00 1394515 /opt/oracle/product/9.2.0/lib/libodmd9.so
b7ffd000-b7ffe000 r-xp 00000000 fd:00 14811212 /lib/libcwait.so
b7ffe000-b7fff000 rw-p 00000000 fd:00 14811212 /lib/libcwait.so
b7fff000-b8000000 rw-p b7fff000 00:00 0
bffed000-c0000000 rwxp bffed000 00:00 0
ffffe000-fffff000 ---p 00000000 00:00 0
50000000-b0200000 rw-s 00000000 00:06 196609 /SYSV51125e54 (deleted)
从这段信息可看出SGA的起点是1.25G(16进制50000000=10进制1342177280,1342177280/1024/1024/1024=1.25G)
开始调整,先将oracle shutdown,再执行如下命令
# cd $ORACLE_HOME/rdbms/lib
# cp ksms.s ksms.s.bak
# genksms -s 0x12000000 > ksms.s (修改共享库的装载地址的文件定义)
# make -f ins_rdbms.mk ksms.o (编译好目标文件)
# make -f ins_rdbms.mk ioracle (重新编译Oracle可执行文件)
如有问题可通过如下方法恢复原有状态:
# cp ksms.s.bak ksms.s
# make -f ins_rdbms.mk ioracle
oracle program重新编译成功后,启动oracle,并调整SGA如下:
SQL> show sga
Total System Global Area 2635668692 bytes
Fixed Size 453844 bytes
Variable Size 1056964608 bytes
Database Buffers 1577058304 bytes
Redo Buffers 1191936 bytes
再查看pmon或任意oracle进程的虚拟地址分配信息:
# ps -ef |grep pmon
oracle 4760 1 0 Jun26 ? 00:00:03 ora_pmon_game
root 18575 17322 0 11:26 pts/2 00:00:00 grep pmon
# cat /proc/4760/maps
0017f000-00194000 r-xp 00000000 fd:00 14812134 /lib/ld-2.3.4.so
00194000-00195000 r--p 00015000 fd:00 14812134 /lib/ld-2.3.4.so
00195000-00196000 rw-p 00016000 fd:00 14812134 /lib/ld-2.3.4.so
002ef000-002f1000 r-xp 00000000 fd:00 14812137 /lib/libdl-2.3.4.so
002f1000-002f3000 rw-p 00001000 fd:00 14812137 /lib/libdl-2.3.4.so
00772000-00784000 r-xp 00000000 fd:00 14812146 /lib/libnsl-2.3.4.so
00784000-00786000 rw-p 00011000 fd:00 14812146 /lib/libnsl-2.3.4.so
00786000-00788000 rw-p 00786000 00:00 0
08048000-0a672000 r-xp 00000000 fd:00 1394588 /opt/oracle/product/9.2.0/bin/oracle
0a672000-0af58000 rw-p 02629000 fd:00 1394588 /opt/oracle/product/9.2.0/bin/oracle
0af58000-0b005000 rw-p 0af58000 00:00 0
12000000-b0200000 rw-s 00000000 00:06 196609 /SYSV51125e54 (deleted)
b7866000-b78a7000 rw-p b7866000 00:00 0
b78a7000-b78b0000 r-xp 00000000 fd:00 14811186 /lib/libnss_files-2.3.4.so
b78b0000-b78b2000 rw-p 00008000 fd:00 14811186 /lib/libnss_files-2.3.4.so
b78b2000-b7932000 rw-p 00000000 00:0d 2046 /dev/zero
b7932000-b7a58000 rw-p b7932000 00:00 0
b7a58000-b7b7c000 r-xp 00000000 fd:00 14811143 /lib/i686/libc-2.3.4.so
b7b7c000-b7b7d000 r--p 00123000 fd:00 14811143 /lib/i686/libc-2.3.4.so
b7b7d000-b7b80000 rw-p 00124000 fd:00 14811143 /lib/i686/libc-2.3.4.so
b7b80000-b7b82000 rw-p b7b80000 00:00 0
b7b82000-b7ba3000 r-xp 00000000 fd:00 14811145 /lib/i686/libm-2.3.4.so
b7ba3000-b7ba5000 rw-p 00020000 fd:00 14811145 /lib/i686/libm-2.3.4.so
b7ba5000-b7bb3000 r-xp 00000000 fd:00 14811147 /lib/i686/libpthread-0.10.so
b7bb3000-b7bb5000 rw-p 0000d000 fd:00 14811147 /lib/i686/libpthread-0.10.so
b7bb5000-b7bf8000 rw-p b7bb5000 00:00 0
b7bf8000-b7ee0000 r-xp 00000000 fd:00 1394375 /opt/oracle/product/9.2.0/lib/libjox9.so
b7ee0000-b7ff3000 rw-p 002e7000 fd:00 1394375 /opt/oracle/product/9.2.0/lib/libjox9.so
b7ff3000-b7ff5000 rw-p b7ff3000 00:00 0
b7ff5000-b7ff6000 r-xp 00000000 fd:00 1394489 /opt/oracle/product/9.2.0/lib/libskgxn9.so
b7ff6000-b7ff8000 rw-p 00000000 fd:00 1394489 /opt/oracle/product/9.2.0/lib/libskgxn9.so
b7ff8000-b7ff9000 r-xp 00000000 fd:00 1392915 /opt/oracle/product/9.2.0/lib/libskgxp9.so
b7ff9000-b7ffa000 ---p 00001000 fd:00 1392915 /opt/oracle/product/9.2.0/lib/libskgxp9.so
b7ffa000-b7ffb000 rw-p 00001000 fd:00 1392915 /opt/oracle/product/9.2.0/lib/libskgxp9.so
b7ffb000-b7ffc000 r-xp 00000000 fd:00 1394515 /opt/oracle/product/9.2.0/lib/libodmd9.so
b7ffc000-b7ffd000 rw-p 00000000 fd:00 1394515 /opt/oracle/product/9.2.0/lib/libodmd9.so
b7ffd000-b7ffe000 r-xp 00000000 fd:00 14811212 /lib/libcwait.so
b7ffe000-b7fff000 rw-p 00000000 fd:00 14811212 /lib/libcwait.so
b7fff000-b8000000 rw-p b7fff000 00:00 0
bfff7000-c0000000 rwxp bfff7000 00:00 0
ffffe000-fffff000 ---p 00000000 00:00 0
12000000-b0200000 rw-s 00000000 00:06 196609 /SYSV51125e54 (deleted)
这里可看出SGA的起点已经被降到了0x12000000,SGA可分配最大至2.7G了。
调整后,共享内存段信息:
# ipcs
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x00000000 98304 gdm 600 393216 2 dest
0x51125e54 196609 oracle 640 2652897280 174
------ Semaphore Arrays --------
key semid owner perms nsems
0x4b2ca24c 622592 oracle 640 201
0x4b2ca24d 655361 oracle 640 201
0x4b2ca24e 688130 oracle 640 201
0x4b2ca24f 720899 oracle 640 201
0x4b2ca250 753668 oracle 640 201
------ Message Queues --------
key msqid owner perms used-bytes messages
SQL> show sga
Total System Global Area 2635668692 bytes
Fixed Size 453844 bytes
Variable Size 1056964608 bytes
Database Buffers 1577058304 bytes
Redo Buffers 1191936 bytes
特别提示:
以上的操作可能会造成ORACLE崩溃,建议在未上线前修改。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/17997/viewspace-366117/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/17997/viewspace-366117/
RHEL4.5 for x86的ORACLE SGA扩展相关推荐
- oracle对sga统计信息不对,关于oracle sga设置的总结,很经典--转
关于oracle sga设置的总结,很经典--转 说明: 本总结不针对特例,仅对服务器只存在OS + ORACLE 为例,如果存在其他应用请酌情考虑.写这个也是因为近来这种重复性的问题发生的太多所导致 ...
- ORACLE SGA问题分析
ORACLE SGA问题分析 select sum(value)/1024/1024 from v$sga; --查看SGA总大小 select current_size from v$bu ...
- 修改oracle SGA,以提高oracle性能
修改oracle SGA,以提高oracle性能 在正常情况下,查询非常慢. 1.检查SGA大小,以DBA身份连接到oracle数据库,输入show sga. 2.如果SGA过小,请修改其大小 修 ...
- oracle sga pga mysql_oracle实例内存(SGA和PGA)调整-xin
一.名词解释 (1)SGA:System Global Area是Oracle Instance的基本组成部分,在实例启动时分配;系统全局域SGA主要由三部分构成:共享池.数据缓冲区.日志缓冲区. ( ...
- oracle sga设置 256G,Oracle SGA大小的解决方法的调整
以下的文章主要介绍的是调整Oracle SGA大小的解决方法,如果你是调整Oracle SGA大小的解决方法方面的新手,你就可以通过以下的文章对调整Oracle SGA大小的解决方法如何正确使用的详细 ...
- oracle+sga+pga用途,Oracle9i 动态SGA,PGA特性探索
Oracle9i 动态SGA,PGA特性探索 更新时间:2009年03月03日 23:23:54 作者: 虽然Oracle9i中的内存管理仍然需要很多的手工操作,不过大部分的Oracle管理员可以 ...
- oracle - - 注释符,Oracle数据库扩展语言PL/SQL之注释、分隔符和标识符
点击蓝字关注我吧 [本文详细介绍了Oracle数据库扩展语言PL/SQL的注释.分隔符和标识符,欢迎读者朋友们阅读.转发和收藏!] 1 基本概念 1.1 注释 注释不会被数据库编译,只是给开发人提供一 ...
- oracle rebalance参数,【案例】Oracle ASM扩展新LAN加入asm diskgroup asm rebalance 原理
天萃荷净 Oracle研究中心案例分析:运维DBA反映Oracle数据库的ASM空间不足,需要扩展.通过划新的LAN加入asm diskgroup并分析asm rebalance 原理. 本站文章除注 ...
- oracle 保留池,ORACLE SGA之shared pool
1.shared pool的内存块组成 shared pool中主要的内存区域:free.library cache.row cache 为了确保共享池中共享数据的访问性能,共享池的每次内存分配都必须 ...
最新文章
- R语言笔记7:认识循环函数、lapply和sapply
- Java注解是如何工作的?
- BUGKU 密码题:这不是摩斯密码
- MySQL 中 MyISAM 中的查询为什么比 InnoDB 快?
- 印前处理的“发动机”——RIP
- java输入正确的信息_判断用户输入的信息是否正确
- 【算法笔记】B1015 德才论
- mysql管理密码修改及管理权限设定(zz)
- 使用NVIDIA端到端深度学习平台进行缺陷自动检测
- keras学习率下降策略
- asp.net中使用Page.Validate()和Page.IsValid进行服务器端验证
- 使用JS 实现 分享到 新浪微博 QQ 空间
- 北京h5游戏制作平台有哪些,h5游戏公司实例评测
- 奈奎斯特定理与香农定理
- 阿里服务器配置随笔记 centos 服务器 Linux 部分命令合集
- 【开源案例】基于机智云物联网平台的懒人版智能花盆
- 特斯拉DTC运营解读
- sublime插件 —— 一键美化HTML/CSS/JS代码
- games101 1-2
- 知识3.0的how-to:培训课程