« Oracle10gR2中一些新特性 | Blog首页 | GreenBrowser开源 »
Oracle9i安装make错误解决一例
作者:eygle | 【转载请注出处】|【云和恩墨 领先的zData数据库一体机 | zCloud PaaS云管平台 | SQM SQL审核平台 | ZDBM 数据库备份一体机】
链接:https://www.eygle.com/archives/2005/08/oracle9imakeiio.html
今天一个朋友装Oracle的时候出现错误,请求帮忙诊断。链接:https://www.eygle.com/archives/2005/08/oracle9imakeiio.html
检查了一下发现错误主要是:
ld: fatal: file /dev/zero: mmap anon failed: Resource temporarily unavailable
以下是一个解决的过程供参考:
1.登陆主机
检查make日志,从中可以得到具体的错误信息。
SunOS 5.8 login: oracle9 Password: Last login: Wed Aug 3 14:11:50 from 172.16.34.231 Sun Microsystems Inc. SunOS 5.8 Generic Patch October 2001 /opt/oracle9/>ls Apache dbs jar lib oci otrace slax tg4ingr BC4J demo javavm lib32 ocommon oui soap tg4sybs JRE dm jdbc local.cshrc ocs4j owm sqlj tg4tera assistants doc jdk local.login oem_webstage plsql sqlplus ultrasearch bin ds jlib local.profile olap precomp srvm wwg classes hs jre md oraInventory rdbms syndication xdk ctx install jsp mgw oracore relnotes sysman cwmlite inventory ldap network ord root.sh tg4ifmx /opt/oracle9/>which make /usr/local/bin/make /opt/oracle9/>which gcc /usr/local/bin/gcc /opt/oracle9/>cd install /opt/oracle9/install>ls make.log shiphome.build utl /opt/oracle9/install>vi make.log "make.log" 477 行,87097 字符 /bin/chmod 751 /opt/oracle9/bin/isqlplus /usr/ccs/bin/make -f ins_rdbms.mk ioracle ORACLE_HOME=/opt/oracle9 - Linking Oracle rm -f /opt/oracle9/rdbms/lib/oracle /usr/ccs/bin/ld -o /opt/oracle9/rdbms/lib/oracle -L/opt/oracle9/rdbms/lib/ -L/opt/oracle9/lib/ -dy /opt/oracle9/lib/WS6U2/lib/v9/crti.o /opt/oracle9/lib/WS6U2/lib/v9/crt1.o /opt/oracle9/rdbms/lib/opimai.o /opt/oracle9/rdbms/lib/ssoraed.o /opt/oracle9/rdbms/lib/ ttcsoi.o /opt/oracle9/lib/nautab.o /opt/oracle9/lib/naeet.o /opt/oracle9/lib/naect.o /opt/oracle9/lib/naedhs.o /opt/oracle9/rdbms/lib/config.o -lserver9 -lodm9 -lskgxp9 -lskgxn9 -lclient9 -lvsn9 -lwtcserver9 -lcommon9 -lgeneric9 /opt/oracle9/rdbms/lib/defopt. o -lknlopt `if /usr/ccs/bin/ar tv /opt/oracle9/rdbms/lib/libknlopt.a | grep xsyeolap.o > /dev/null 2>&1 ; then echo "-loraolap9" ; fi` `if /usr/ccs/bin/ar tv /opt/oracle9/rdbms/lib/libknlopt.a | grep dmwdm.o > /dev/null 2>&1; then echo "-ldm9"; fi` -lslax9 -lpls9 -lplp9 -lserver9 -lclient9 -lvsn9 -lwtcserver9 -lcommon9 -lgeneric9 -lknlopt -lslax9 -lpls9 -lplp9 -ljox9 -lserver9 -locijdbcst9 -lwwg9 `cat /opt/oracle9/lib/ldflags` -lnsslb9 -lncrypt9 -lnsgr9 -lnzjs9 -ln9 -lnl9 -lnro9 `cat /opt/oracle9/lib/ldflags`-lnsslb9 -lncrypt9 -lnsgr9 -lnzjs9 -ln9 -lnl9 -lmm -lnls9 -lcore9 -lnls9 -lcore9 -lnls9 -lxml9 -lcore9 -lunls9 -lnls9 `cat /opt/oracle9/lib/ldflags` -lnsslb9 -lncrypt9 -lnsgr9 -lnzjs9 -ln9 -lnl9 -lnro9 `cat /opt/oracle9/lib/ldflags` -lnsslb9 -lncrypt9 -lnsgr9 -lnzjs9 -ln9 -lnl9 -ltrace9 -lnls9 -lcore9 -lnls9 -lcore9 -lnls9 -lxml9 -lcore9 -lunls9 -lnls9 `if /usr/ccs/bin/ar tv /opt/oracle9/rdbms/lib/libknlopt.a | grep "kxmnsd.o" > /dev/null 2>&1 ; then echo " " ; else echo "-lordsdo9"; fi` -lctxc9 -lctx9 -lzx9 -lg ................ ld: 致命的: 文件/dev/zero: 不能打开mmap文件: 资源暂时不可用*** Error code 1 make: Fatal error: Command failed for target `/opt/oracle9/rdbms/lib/oracle' ~ ~ ~ ~ ~ :q /opt/oracle9/install>which ld /usr/ccs/bin/ld |
我们发现,主要信息为:
ld: 致命的: 文件/dev/zero: 不能打开mmap文件: 资源暂时不可用
2.寻找解决办法
只要找到问题,通常解决起来就容易的多了。
到Metalink或Google搜索,都会发现此类错误多数是由于内存或Swap区不足引起的。
检查系统Swap区:
/opt/oracle9/rdbms/lib>df -k 文件系统 千字节 用了 可用 容量 挂接在 /dev/dsk/c0t0d0s0 2055463 425139 1568661 22% / /dev/dsk/c0t0d0s6 13108204 6130169 6846953 48% /usr /proc 0 0 0 0% /proc fd 0 0 0 0% /dev/fd mnttab 0 0 0 0% /etc/mnttab /dev/dsk/c0t0d0s5 3045503 227250 2757343 8% /var swap 81656 16 81640 1% /var/run /dev/dsk/c0t0d0s3 13108204 9764721 3212401 76% /home /dev/dsk/c0t0d0s4 6097950 4544543 1492428 76% /opt swap 594984 513344 81640 87% /tmp |
发现空闲空间只有80M左右,删除部分文件后重新编译:
/opt/oracle9/rdbms/lib>/usr/ccs/bin/make -f ins_rdbms.mk ioracle ORACLE_HOME=/opt/oracle9 - Linking Oracle rm -f /opt/oracle9/rdbms/lib/oracle /usr/ccs/bin/ld -o /opt/oracle9/rdbms/lib/oracle -L/opt/oracle9/rdbms/lib/ -L/opt/oracle9/lib/ .... mv -f /opt/oracle9/bin/oracle /opt/oracle9/bin/oracleO mv /opt/oracle9/rdbms/lib/oracle /opt/oracle9/bin/oracle chmod 6751 /opt/oracle9/bin/oracle /opt/oracle9/rdbms/lib> |
编译成功通过。
历史上的今天...
>> 2018-08-03文章:
>> 2012-08-03文章:
>> 2011-08-03文章:
>> 2010-08-03文章:
>> 2009-08-03文章:
>> 2007-08-03文章:
>> 2006-08-03文章:
By eygle on 2005-08-03 18:56 | Comments (1) | FAQ | 364 |
在Oracle的安装指南中,一般都说明了temp要有多大,可以通过设置TEMP和TMP_DIR环境变量来改temp的路径,我在安装时经常设这两个变量,到Oracle所在的一个子目录,就不用担心这个了.