昨天按照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扩展相关推荐

  1. oracle对sga统计信息不对,关于oracle sga设置的总结,很经典--转

    关于oracle sga设置的总结,很经典--转 说明: 本总结不针对特例,仅对服务器只存在OS + ORACLE 为例,如果存在其他应用请酌情考虑.写这个也是因为近来这种重复性的问题发生的太多所导致 ...

  2. ORACLE SGA问题分析

    ORACLE SGA问题分析 select sum(value)/1024/1024 from v$sga;  --查看SGA总大小 select current_size from v$bu ...

  3. 修改oracle SGA,以提高oracle性能

    修改oracle SGA,以提高oracle性能   在正常情况下,查询非常慢. 1.检查SGA大小,以DBA身份连接到oracle数据库,输入show sga. 2.如果SGA过小,请修改其大小 修 ...

  4. oracle sga pga mysql_oracle实例内存(SGA和PGA)调整-xin

    一.名词解释 (1)SGA:System Global Area是Oracle Instance的基本组成部分,在实例启动时分配;系统全局域SGA主要由三部分构成:共享池.数据缓冲区.日志缓冲区. ( ...

  5. oracle sga设置 256G,Oracle SGA大小的解决方法的调整

    以下的文章主要介绍的是调整Oracle SGA大小的解决方法,如果你是调整Oracle SGA大小的解决方法方面的新手,你就可以通过以下的文章对调整Oracle SGA大小的解决方法如何正确使用的详细 ...

  6. oracle+sga+pga用途,Oracle9i 动态SGA,PGA特性探索

    Oracle9i 动态SGA,PGA特性探索 更新时间:2009年03月03日 23:23:54   作者: 虽然Oracle9i中的内存管理仍然需要很多的手工操作,不过大部分的Oracle管理员可以 ...

  7. oracle - - 注释符,Oracle数据库扩展语言PL/SQL之注释、分隔符和标识符

    点击蓝字关注我吧 [本文详细介绍了Oracle数据库扩展语言PL/SQL的注释.分隔符和标识符,欢迎读者朋友们阅读.转发和收藏!] 1 基本概念 1.1 注释 注释不会被数据库编译,只是给开发人提供一 ...

  8. oracle rebalance参数,【案例】Oracle ASM扩展新LAN加入asm diskgroup asm rebalance 原理

    天萃荷净 Oracle研究中心案例分析:运维DBA反映Oracle数据库的ASM空间不足,需要扩展.通过划新的LAN加入asm diskgroup并分析asm rebalance 原理. 本站文章除注 ...

  9. oracle 保留池,ORACLE SGA之shared pool

    1.shared pool的内存块组成 shared pool中主要的内存区域:free.library cache.row cache 为了确保共享池中共享数据的访问性能,共享池的每次内存分配都必须 ...

最新文章

  1. R语言笔记7:认识循环函数、lapply和sapply
  2. Java注解是如何工作的?
  3. BUGKU 密码题:这不是摩斯密码
  4. MySQL 中 MyISAM 中的查询为什么比 InnoDB 快?
  5. 印前处理的“发动机”——RIP
  6. java输入正确的信息_判断用户输入的信息是否正确
  7. 【算法笔记】B1015 德才论
  8. mysql管理密码修改及管理权限设定(zz)
  9. 使用NVIDIA端到端深度学习平台进行缺陷自动检测
  10. keras学习率下降策略
  11. asp.net中使用Page.Validate()和Page.IsValid进行服务器端验证
  12. 使用JS 实现 分享到 新浪微博 QQ 空间
  13. 北京h5游戏制作平台有哪些,h5游戏公司实例评测
  14. 奈奎斯特定理与香农定理
  15. 阿里服务器配置随笔记 centos 服务器 Linux 部分命令合集
  16. 【开源案例】基于机智云物联网平台的懒人版智能花盆
  17. 特斯拉DTC运营解读
  18. sublime插件 —— 一键美化HTML/CSS/JS代码
  19. games101 1-2
  20. 知识3.0的how-to:培训课程

热门文章

  1. RN Weex 的比较
  2. 一文读懂MACD技术指标
  3. 许家滔:微信后台存储架构
  4. CPU性能测试基准(EEMBC-CoreMark)
  5. pytest—pytest.mark.parametrize的使用
  6. Oracle数据库的可视化界面
  7. 11-散列1 电话聊天狂人 (25 分) (C语言)
  8. python爬虫 ,爬点汉服妹子做福利
  9. 24位嘉宾3大分论坛!粤港澳大湾区今年首场边缘计算大会全嘉宾公布!
  10. iOS逆向之“修改微信运动步数”