网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.Oracle 数据字典.
.Oracle 8i中字符集乱码问题析及其.
.Oracle Optimizer:迁移到使用基于.
.Oracle 8i 到 9i 升级.
.跟踪Oracle 9i的CPU和I/O使用代价.
.如何保持Oracle数据库的优良性能.
.用一个实例讲解如何生成autotrac.
.Oracle的口令管理.
.教你怎样在Oracle数据库中高速导.
.如何学习Oracle.
.自定义临时表实现及在Oracle Spa.
.Oracle中用SQL语句实现进制间互相.
.Oracle 10g的安装步骤和注意事项.
.用Oracle的热备份重建数据库.
.SQL Server与Oracle、DB2的性能比.
.Oracle9i中定义视图约束.
.linux下的应用开发起步--简化蚂蚁.
.ORACLE常用傻瓜问题1000问(之九).
.10g DBMS_Scheduler本地特权提升.
.定期分析数据库对象的脚本.

如何在Linux上扩展SGA超过1.7G

发表日期:2008-2-9



  今天一台Linux服务器扩展了一下内存,达到4G,开发的人自己修改了一下SGA结果数据库无法启动了.
  
  启动不了时,出的错误是这个样子的:
  [Oracle@neirong oracle]$ sqlplus "/ as sysdba"
  
  SQL*Plus: Release 9.2.0.4.0 - ProdUCtion on Fri Nov 25 15:43:26 2005
  
  Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
  
  Connected to an idle instance.
  
  SQL> startup
  ORA-27123: unable to attach to shared memory segment
  Linux Error: 22: Invalid argument
  Additional information: 1
  Additional information: 458753
  SQL> exit
  Disconnected
  
  在32位平台上,缺省的SGA最大只能扩展到1.7G,假如需要支持更大的内存,就需要降低mapped_base,重新Link Oracle软件.
  
  俺的平台为:
  [oracle@neirong bdump]$ cat /etc/redhat-release
  Red Hat Enterprise Linux AS release 3 (Taroon Update 2)
  
  简单操作如下:
  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
  
  此处先备份ksms.s文件,假如编译过程中出现错误,保证操作可以被恢复:
  
  恢复步骤大致如下:
  
  cd $ORACLE_HOME/rdbms/lib
  cp ksms.s.bak ksms.s
  genksms > ksms.s
  make -f ins_rdbms.mk ksms.o
  make -f ins_rdbms.mk ioracle
  
  以下是操作日志:
  [oracle@neirong dbs]$ cd $ORACLE_HOME/rdbms/lib
  [oracle@neirong lib]$ genksms -s 0x12000000 > ksms.s
  [oracle@neirong lib]$ make -f ins_rdbms.mk ksms.o
  
  [oracle@neirong lib]$ make -f ins_rdbms.mk ioracle
  - Linking Oracle
  rm -f /opt/oracle/product/9.2.0/rdbms/lib/oracle
  gcc -o /opt/oracle/product/9.2.0/rdbms/lib/oracle -L/opt/oracle/product/9.2.0/rdbms/lib/
  -L/opt/oracle/product/9.2.0/lib/ -L/opt/oracle/product/9.2.0/lib/stubs/
  -Wl,-E `test -f /opt/oracle/product/9.2.0/rdbms/lib/skgaioi.o && echo
  /opt/oracle/product/9.2.0/rdbms/lib/skgaioi.o` /opt/oracle/product/9.2.0/rdbms/lib/opimai.o
  /opt/oracle/product/9.2.0/rdbms/lib/ssoraed.o /opt/oracle/product/9.2.0/rdbms/lib/ttcsoi.o
  /opt/oracle/product/9.2.0/lib/nautab.o /opt/oracle/product/9.2.0/lib/naeet.o
  /opt/oracle/product/9.2.0/lib/naect.o /opt/oracle/product/9.2.0/lib/naedhs.o
  /opt/oracle/product/9.2.0/rdbms/lib/config.o -lserver9 -lodm9 -lskgXP9 -lskgxn9 -lclient9
  -lvsn9 -lwtcserver9 -lcommon9 -lgeneric9 /opt/oracle/product/9.2.0/rdbms/lib/defopt.o
  -lknlopt `if /usr/bin/ar tv /opt/oracle/product/9.2.0/rdbms/lib/libknlopt.a grep
  xsyeolap.o >
/dev/null 2>&1 ; then echo "-loraolap9" ; fi`
  -lslax9 -lpls9 -lplp9 -lserver9 -lclient9 -lvsn9 -lwtcserver9 -lcommon9 -lgeneric9
  -lknlopt -lslax9 -lpls9 -lplp9 -ljox9 -lserver9 -locijdbcst9 -lwwg9
  `cat /opt/oracle/product/9.2.0/lib/ldflags`  -lnsslb9 -lncrypt9 -lnsgr9 -lnzjs9
  -ln9 -lnl9 -lnro9 `cat /opt/oracle/product/9.2.0/lib/ldflags`  -lnsslb9 -lncrypt9
  ......
  mv -f /opt/oracle/product/9.2.0/bin/oracle /opt/oracle/product/9.2.0/bin/oracleO
  mv /opt/oracle/product/9.2.0/rdbms/lib/oracle /opt/oracle/product/9.2.0/bin/oracle
  chmod 6751 /opt/oracle/product/9.2.0/bin/oracle
  
  此后数据库可以以超过1.7G的SGA区设置启动:
  SQL> startup
  ORACLE instance started.
  
  Total System Global Area 2685476820 bytes
  Fixed Size          454612 bytes
  Variable Size      1073741824 bytes
  Database Buffers     1610612736 bytes
  Redo Buffers         667648 bytes
  Database mounted.
  Database opened.
上一篇:死联接检测(DCD)的探讨与研究 人气:520
下一篇:如何配置逻辑备用数据库 人气:997
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐