redhat64位安装Oracle10g问题

 伤脑筋   2014-06-22 06:55   2163 人阅读  0 条评论

64位linux oracle10gr2 64位 安装一些问题,多数情况下,就是少包

首先讲讲问题解决的总体思路:安装时出现的错误,通常都是由于缺少某个库文件或者环境中没有将指定正确的库路径;所以,安装该库文件相应的rpm包或者修改环境变量指定正确的库路径即可。
 
安装前,先使用以下命令,确认需要安装的包是否都存在,可以省去后续的众多莫名其妙的错误。
rpm -q --qf '%{name}-%{version}-%{release} (%{arch})\n' \
binutils compat-db control-center gcc gcc-c++ glibc glibc-common gnome-libs \
libstdc++ libstdc++-devel make pdksh sysstat xscreensaver libaio
要注意,如果安装的是64位的oracle,这几个包是i386和x86-64的版本都需要的:glibc-2.3.4-2.41,libstdc++-,libstdc++-devel,libaio
 
具体的排查步骤如下:
1. 界面上报错的时候,可以查看相应的$oracle_base/orainventory/logs目录下的installactions+安装时间戳.log日志,通常这里都会显示具体的报错信息;可以通过相应的报错信息来查找解决办法;
2. 如果日志中报告说某文件缺失时,可以找找类似环境下已经正常安装起oracle的服务器,看看这个文件是否存在,然后执行 rpm -qf '文件绝对路径/文件名'查看缺少的文件在哪个rpm包中,如果的确没装,则从光盘中找到相应的rpm,装上即可。当然,如果rpm包还有依赖的包需要装,也需要按顺序装好。
3. 退出安装进程,重新启动安装。这步很关键,一些重要的lib库如果在安装程序启动的时候没有被安装程序加载的话,后续即使补装好也没办法正常load,还是会报错。
 
接下来看看几个比较典型的问题:
1. 首先是make -f $oracle_home/ctx/lib/ins_ctx.mk install错误
make -f $oracle_home/ctx/lib/ins_ctx.mk install
日志信息如下:
info: gcc -o ctxload -l/oracle/product/10.2.0/ctx/lib/ -l/oracle/product/10.2.0/lib/ -l/oracle/product/10.2.0/lib/stubs/ /oracle/product/10.2.0/ctx/lib/sdrz.o -lctxs10 -lctx10 -lctxs10 -lzx10 -lgx10 -lctx10 -lzx10 -lgx10 /oracle/product/10.2.0/rdbms/lib/defopt.o -lclntsh `cat /oracle/product/10.2.0/lib/ldflags` -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 -lnro10 `cat /oracle/product/10.2.0/lib/ldflags` -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 -lclient10 -lnnetd10 -lvsn
info: 10 -lcommon10 -lgeneric10 -lmm -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lxml10 -lcore10 -lunls10 -lsnls10 -lnls10 -lcore10 -lnls10 `cat /oracle/product/10.2.0/lib/ldflags` -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 -lnro10 `cat /oracle/product/10.2.0/lib/ldflags` -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 -lclient10 -lnnetd10 -lvsn10 -lcommon10 -lgeneric10 -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lxml10 -l
info: core10 -lunls10 -lsnls10 -lnls10 -lcore10 -lnls10 -lclient10 -lnnetd10 -lvsn10 -lcommon10 -lgeneric10 -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lxml10 -lcore10 -lunls10 -lsnls10 -lnls10 -lcore10 -lnls10 `cat /oracle/product/10.2.0/lib/sysliblist` -wl,-rpath,/oracle/product/10.2.0/lib -lm `cat /oracle/product/10.2.0/lib/sysliblist` -ldl -lm -l/oracle/product/10.2.0/lib
info: mv -f /oracle/product/10.2.0/bin/ctxload /oracle/product/10.2.0/bin/ctxloado
info: mv ctxload /oracle/product/10.2.0/bin/ctxload
info: chmod 751 /oracle/product/10.2.0/bin/ctxload
info: gcc -o ctxlc -l/oracle/product/10.2.0/ctx/lib/ -l/oracle/product/10.2.0/lib/ -l/oracle/product/10.2.0/lib/stubs/ /oracle/product/10.2.0/ctx/lib/sdrllc.o -lctxs10 -lctx10 -lctxs10 -lzx10 -lgx10 -lctx10 -lzx10 -lgx10 /oracle/product/10.2.0/rdbms/lib/defopt.o -lclntsh `cat /oracle/product/10.2.0/lib/ldflags` -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 -lnro10 `cat /oracle/product/10.2.0/lib/ldflags` -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 -lclient10 -lnnetd10 -lvsn
info: 10 -lcommon10 -lgeneric10 -lmm -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lxml10 -lcore10 -lunls10 -lsnls10 -lnls10 -lcore10 -lnls10 `cat /oracle/product/10.2.0/lib/ldflags` -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 -lnro10 `cat /oracle/product/10.2.0/lib/ldflags` -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 -lclient10 -lnnetd10 -lvsn10 -lcommon10 -lgeneric10 -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lxml10 -l
info: core10 -lunls10 -lsnls10 -lnls10 -lcore10 -lnls10 -lclient10 -lnnetd10 -lvsn10 -lcommon10 -lgeneric10 -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lxml10 -lcore10 -lunls10 -lsnls10 -lnls10 -lcore10 -lnls10 `cat /oracle/product/10.2.0/lib/sysliblist` -wl,-rpath,/oracle/product/10.2.0/lib -lm `cat /oracle/product/10.2.0/lib/sysliblist` -ldl -lm -l/oracle/product/10.2.0/lib
info: mv -f /oracle/product/10.2.0/bin/ctxlc /oracle/product/10.2.0/bin/ctxlco
info: mv ctxlc /oracle/product/10.2.0/bin/ctxlc
info: chmod 751 /oracle/product/10.2.0/bin/ctxlc
info: gcc -m32 -o ctxhx -l/oracle/product/10.2.0/ctx//lib32/ -l/oracle/product/10.2.0/lib32/ -l/oracle/product/10.2.0/lib32/stubs/ /oracle/product/10.2.0/ctx/lib/ctxhx.o -l/oracle/product/10.2.0/ctx/lib/ -ldl -lm -lctxhx -wl,-rpath,/oracle/product/10.2.0/ctx/lib -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lxml10 -lcore10 -lunls10 -lsnls10 -lnls10 -lcore10 -lnls10 `cat /oracle/product/10.2.0/lib/sysliblist`
info: /usr/bin/ld: crt1.o: no such file: no such file or directory
info: collect2: ld returned 1 exit status
info: make:
info: *** [ctxhx] error 1
info:
info: end output from spawned process.
info: ----------------------------------
info: exception thrown from action: make
exception name: makefileexception
exception string: error in invoking target 'install' of makefile '/oracle/product/10.2.0/ctx/lib/ins_ctx.mk'. see '/oracle/orainventory/logs/installactions2010-02-03_02-16-38pm.log' for details.
exception severity: 1
info: the output of this make operation is also available at: '/oracle/product/10.2.0/install/make.log'
我们可以看到日志中报告说“info: /usr/bin/ld: crt1.o: no such file: no such file or directory ”,缺少crt1.o这个文件。
很简单,首先查自己安装环境下,这个文件在哪个目录下。 find / -name 'crt1.o' ,一查,原来只有/usr/lib64下有,说明是少了某个32位的i386的包;再找其他环境上的oracle服务器查一下,发现还有/usr/lib目录下也有;那么在那台服务器上执行 rpm -qf /usr/lib/crt1.o,就知道在glibc-devel-2.3.4-2.41包中带这个文件,那么你去光盘上找到这个文件,装上就好了。
如果某个包已经装了x86-64的版本了,在执行rpm -ivh 的时候,可能会报告说该包已经安装,这个时候要加上-f的参数,强行安装。
所以最好是安装前先确认一下前文要求的那些开发包是否都装好了,再进行安装,就能够避免出现这些问题了。
解决方法:rpm -ivh glibc-devel-2.3.4-2.41.i386.rpm
2. 还有一个问题,是在安装好数据库后,准备使用sqlplus执行的时候出现的报错:
oraclescdx: error while loading shared libraries: libaio.so.1: cannot open shared object file: no such file or directory
error:
ora-12547: tns:lost contact
这个就是因为libaio.so.1 库文件不存在的缘故,检查一下libaio的包,看看漏装了哪个版本,是32位的还是64位的漏掉了,相应的装上即可。
所以最后建议,在安装redhat的时候,数据库服务器上,像那些www、db、mail等服务都可以不装的,但是一定要选上所有的开发包都装,就不容易出现这些报错了;
 
btw,listener启动很慢的时候,在/etc/hosts文件里配上主机名就可以解决了。。。

3.


INFO: /oracle/app/product/10.2.0/db_1/lib32//libnls10.a(lmsagb.o): INFO: In function `lmsagbcmt': lmsagb.c:(.text+0xa3): undefined reference to `SltsPrRead' lmsagb.c:(.text+0x10a): undefined reference to `SltsPrUnlock' /oracle/app/product/10.2.0/db_1/lib32//libnls10.a(lmsagb.o): In function `lmsagb1': lmsagb.c:(.text+0x47e): undefined reference to `SltsPrUnlock' lmsagb.c:(.text+0x48a): undefined reference to `SltsPrWrite' /oracle/app/product/10.2.0/db_1/lib32//libnls10.a(lmsamts.o): In function `lmsamtsini': lmsamts.c:(.text+0xa5): undefined reference to `SltsPrInit' /oracle/ap INFO: p/product/10.2.0/db_1/lib32//libnls10.a(lmsamts.o): In function `lmsamtster': lmsamts.c:(.text+0x255): undefined reference to `SltsPrDestroy' /oracle/app/product/10.2.0/db_1/lib32//libnls10.a(lxldlbb.o): In function `lxldlbb': lxldlbb.c:(.text+0x37f): undefined reference to `slste2a' /oracle/app/product/10.2.0/db_1/lib32//libnls10.a(lxlfrd.o): In function `lxladjobj': lxlfrd.c:(.text+0x551): undefined reference to `slste2a' lxlfrd.c:(.text+0x147d): undefined reference to `slste2a' lxlfrd.c:(.text+0x1510): u INFO: ndefined reference to `slste2a' lxlfrd.c:(.text+0x15aa): undefined reference to `slste2a' /oracle/app/product/10.2.0/db_1/lib32//libnls10.a(lxlfrd.o):lxlfrd.c:(.text+0x1607): more undefined references to `slste2a' follow /oracle/app/product/10.2.0/db_1/lib32//libnls10.a(lxlgsz.o): In function `lxlgsz': lxlgsz.c:(.text+0x82): undefined reference to `lcvb2w' /oracle/app/product/10.2.0/db_1/lib32//libnls10.a(lxocmpst.o): In function `lxoCmpStr': lxocmpst.c:(.text+0x3a3): undefined reference to `lmebucp' /oracl INFO: e/app/product/10.2.0/db_1/lib32//libnls10.a(slms.o): In function `slmspe': slms.c:(.text+0x6c5): undefined reference to `slcgems' /oracle/app/product/10.2.0/db_1/lib32//libnls10.a(lxscdj.o): In function `lxscdja': lxscdj.c:(.text+0x1a4): undefined reference to `slmaacb' lxscdj.c:(.text+0x1bc): undefined reference to `slmaacb' /oracle/app/product/10.2.0/db_1/lib32//libnls10.a(lxscdj.o): In function `lxscdjl': lxscdj.c:(.text+0x3dc): undefined reference to `slmaacb' lxscdj.c:(.text+0x3f1): undefined reference INFO: to `slmaacb' /oracle/app/product/10.2.0/db_1/lib32//libnls10.a(lxscdt.o): In function `lxscdth': lxscdt.c:(.text+0x125): undefined reference to `slmaacb' /oracle/app/product/10.2.0/db_1/lib32//libnls10.a(lxscdt.o):lxscdt.c:(.text+0x13d): more undefined references to `slmaacb' follow /oracle/app/product/10.2.0/db_1/lib32//libnls10.a(lxecg2e.o): In function `lxecg2e': lxecg2e.c:(.text+0xb0): undefined reference to `ldxnbeg' lxecg2e.c: INFO: (.text+0xf2): undefined reference to `ldxdtd' lxecg2e.c:(.text+0x270): undefined reference to `ldxdtd' lxecg2e.c:(.text+0x2d7): undefined reference to `ldxdtd' lxecg2e.c:(.text+0x493): undefined reference to `ldxdtd' lxecg2e.c:(.text+0x681): undefined reference to `ldxdtd' lxecg2e.c:(.text+0x6b7): undefined reference to `ldxdfd' /oracle INFO: /app/product/10.2.0/db_1/lib32//libnls10.a(lxecg2i.o): In function `lxecg2i': lxecg2i.c:(.text+0xf0): undefined reference to `ldxnbeg' lxecg2i.c:(.text+0x120): undefined reference to `ldxdfd' lxecg2i.c:(.text+0x164): undefined reference to `ldxdtd' lxecg2i.c:(.text+0x204): undefined reference to `ldxnbeg' lxecg2i.c:(.text+0x231): undefined reference to `ldxdtd' lxecg2i.c:(.text+0x314): undefined reference to `ldxnbeg' lxecg2i.c:(.text+0x340): undefined reference to `ldxdfd' /oracle/app/product/10.2.0/db_1/l INFO: ib32//libnls10.a(lxecg2l.o): In function `lxecg2l': lxecg2l.c:(.text+0x13f): undefined reference to `ldxnbeg' lxecg2l.c:(.text+0x16f): undefined reference to `ldxdtd' lxecg2l.c:(.text+0x48b): undefined reference to `ldxnbeg' lxecg2l.c:(.text+0x4b7): undefined reference to `ldxdfd' /oracle/app/product/10.2.0/db_1/lib32//libunls10.a(lxu4tstc.o): In function `lxu4TstClsXMLPubidChar0': lxu4tstc.c:(.text+0x8b4): undefined reference to `lxpTstClsXMLPubidCharTbl' /oracle/app/product/10.2.0/db_1/lib32//libunls10.a( INFO: lxu4dec.o): In function `lxu4Decomposition': lxu4dec.c:(.text+0x18b): undefined reference to `lxujmd' collect2: ld returned 1 exit status INFO: make[1]: *** [/oracle/app/product/10.2.0/db_1/sysman/lib/e2eme] Error 1 INFO: make[1]: Leaving directory `/oracle/app/product/10.2.0/db_1/sysman/lib' INFO: make: *** [e2eme] Error 2 INFO: End output from spawned process. INFO: ---------------------------------- INFO: Exception thrown from action: make Exception Name: MakefileException Exception String: Error in invoking target 'agent nmo nmb' of makefile '/oracle/app/product/10.2.0/db_1/sysman/lib/ins_sysman.mk'. See '/oracle/app/oraInventory/logs/installActions2010-11-23_12-04-56PM.log' for details. Exception Severity: 1 解决办法: 确认以下包有没有安装,然后重启图形界面再次安装 libgomp-4.4.0-6.el5.x86_64.rpm kernel-headers-2.6.18-164.el5.x86_64.rpm glibc-headers-2.5-42.x86_64.rpm libstdc++-devel-4.1.2-46.el5.x86_64.rpm sysstat-7.0.2-3.el5.x86_64.rpm glibc-devel-2.5-42.x86_64.rpm libaio-devel-0.3.106-3.2.x86_64.rpm gcc-4.1.2-46.el5.x86_64.rpm gcc-c++-4.1.2-46.el5.x86_64.rpm elfutils-libelf-devel-static-0.137-3.el5.x86_64.rpm elfutils-libelf-devel-0.137-3.el5.x86_64.rpm libtermcap-devel-2.0.8-46.1.x86_64.rpm readline-devel-5.1-3.el5.x86_64.rpm unixODBC-2.2.11-7.1.x86_64.rpm unixODBC-devel-2.2.11-7.1.x86_64.rpm glibc-devel-2.5-42.i386.rpm libaio-devel-0.3.106-3.2.i386.rpm compat-db-4.2.52-5.1.x86_64.rpm compat-gcc-34-3.4.6-4.x86_64.rpm compat-gcc-34-c++-3.4.6-4.x86_64.rpm gdb-6.8-37.el5.x86_64.rpm libXp-1.0.0-8.1.el5.i386.rpm libstdc++-devel-4.1.2-46.el5.i386.rpm compat-libstdc++-296-2.96-132.7.2.i386.rpm compat-libstdc++-33-3.2.3-47.3.i386.rpm

以上是oracle安装时oracle后台编译的编译错误! 因生产环境的主机在安装linux系统时一般不会把软件包安装完整,所以在安装oracle前要检查oracle所需的软件包是否完整,以避免安装时出现不必要的麻烦!

对于一般的生产环境来说,linux主机是不会安装桌面程序的。
我们可以Xmanager 等工具将安装界面显示在工作环境下的windows主机上,具体步骤如下:
1>首先为你的windows主机安装ssh远程工具。
2>通过ssh远程工具连接到oracle服务器。
3>#export DISPLAY=windows主机ip:0
通过以上3步操作,就完成了把oracle安装界面显示到windows主机上的操作了!
接下来执行安装命令就可以了!
本文地址:https://www.clrun.com/2014/06/148.html
版权声明:本文为原创文章,版权归 伤脑筋 所有,欢迎分享本文,转载请保留出处!

 发表评论


表情

还没有留言,还不快点抢沙发?