免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6788 | 回复: 9
打印 上一主题 下一主题

(已解決了) 我也是 DBD::ORACLE 安裝不成功! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-09-04 12:14 |只看该作者 |倒序浏览
本帖最后由 royleong 于 2011-09-10 07:51 编辑

[root@10.1.1.30 DBD-Oracle-1.30]# perl Makefile.PL
Using DBI 1.616 (for perl 5.008008 on i386-linux-thread-multi) installed in /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/DBI/

Configuring DBD::Oracle for perl 5.008008 on linux (i386-linux-thread-multi)

Remember to actually *READ* the README file! Especially if you have any problems.

Installing on a linux, Ver#2.6
Using Oracle in /u01/app/oracle/10g
DEFINE _SQLPLUS_RELEASE = "1002000400" (CHAR)
Oracle version 10.2.0.4 (10.2)
Found /u01/app/oracle/10g/rdbms/demo/demo_rdbms32.mk
Using /u01/app/oracle/10g/rdbms/demo/demo_rdbms32.mk
Your LD_LIBRARY_PATH env var is set to '/u01/app/oracle/10g/lib:/lib:/usr/lib'
Reading /u01/app/oracle/10g/rdbms/demo/demo_rdbms32.mk
Reading /u01/app/oracle/10g/rdbms/lib/env_rdbms.mk
cat: /u01/app/oracle/10g/lib32/sysliblist: 沒有此一檔案或目錄                     <===== 問題在這

我實際路徑只有 lib , 而没有 lib32,,,,,,,,,,,,不知為何它要找 lib 32,       並且我都把 lib COPY 多一個叫 lib 32 了,,,還是不行

求解:

[root@10.1.1.30 DBD-Oracle-1.30]# make all
Skip blib/lib/DBD/Oracle.pm (unchanged)
Skip blib/lib/oraperl.ph (unchanged)
Skip blib/arch/auto/DBD/Oracle/dbdimp.h (unchanged)
Skip blib/arch/auto/DBD/Oracle/ocitrace.h (unchanged)
Skip blib/lib/Oraperl.pm (unchanged)
Skip blib/arch/auto/DBD/Oracle/Oracle.h (unchanged)
Skip blib/lib/DBD/Oracle/Object.pm (unchanged)
Skip blib/arch/auto/DBD/Oracle/mk.pm (unchanged)
Skip blib/lib/DBD/Oracle/GetInfo.pm (unchanged)
gcc -c  -I/u01/app/oracle/10g/rdbms/public -I/u01/app/oracle/10g/rdbms/demo -I/u01/app/oracle/10g/rdbms/public -I/u01/app/oracle/10g/plsql/public -I/u01/app/oracle/10g/network/public -I/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/DBI -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables   -DVERSION=\"1.30\" -DXS_VERSION=\"1.30\" -fPIC "-I/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE"  -Wall -Wno-comment -DUTF8_SUPPORT -DORA_OCI_VERSION=\"10.2.0.4\" -DORA_OCI_102 Oracle.c
gcc -c  -I/u01/app/oracle/10g/rdbms/public -I/u01/app/oracle/10g/rdbms/demo -I/u01/app/oracle/10g/rdbms/public -I/u01/app/oracle/10g/plsql/public -I/u01/app/oracle/10g/network/public -I/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/DBI -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables   -DVERSION=\"1.30\" -DXS_VERSION=\"1.30\" -fPIC "-I/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE"  -Wall -Wno-comment -DUTF8_SUPPORT -DORA_OCI_VERSION=\"10.2.0.4\" -DORA_OCI_102 dbdimp.c
gcc -c  -I/u01/app/oracle/10g/rdbms/public -I/u01/app/oracle/10g/rdbms/demo -I/u01/app/oracle/10g/rdbms/public -I/u01/app/oracle/10g/plsql/public -I/u01/app/oracle/10g/network/public -I/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/DBI -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables   -DVERSION=\"1.30\" -DXS_VERSION=\"1.30\" -fPIC "-I/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE"  -Wall -Wno-comment -DUTF8_SUPPORT -DORA_OCI_VERSION=\"10.2.0.4\" -DORA_OCI_102 oci8.c
oci8.c: In function 「describe_obj_by_tdo」:
oci8.c:3083: 警告:由於資料類型範圍限制,比較結果永遠為假
oci8.c:4672:2: 警告:檔案未以空白列結束
Running Mkbootstrap for DBD::Oracle ()
chmod 644 Oracle.bs
rm -f blib/arch/auto/DBD/Oracle/Oracle.so
gcc  -shared -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -L/usr/local/lib Oracle.o dbdimp.o oci8.o /u01/app/oracle/10g/rdbms/lib32/defopt.o  -o blib/arch/auto/DBD/Oracle/Oracle.so         \
           -ldl -lm     \
         
gcc: /u01/app/oracle/10g/rdbms/lib32/defopt.o:沒有此一檔案或目錄   <===== 問題2
make: *** [blib/arch/auto/DBD/Oracle/Oracle.so] Error 1
[root@10.1.1.30 DBD-Oracle-1.30]#


[root@oracle DBD-Oracle-1.24]# more  /root/.bash_profile

export ORACLE_SID=orcl
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/10g
export PATH=$ORACLE_HOME/binHOME/binPATH
export ORACLE_USERID=nagios/redhat@orcl           <===== 這個2個應該可有可無吧
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8   <===== 這個2個應該可有可無吧
export LD_LIBRARY_PATH=$ORACLE_HOME/lib32


我之前在公司的測試機可以裝成功,,,,現在在家裡的 VM裡裝不成功,,,,弄了2天了,,很郁悶


強行安裝後:
[oracle@oracle ~]$ /usr/local/nagios/libexec/check_oracle_health -H

是没問題, 能看東西的,,,,,證明安裝成功


[oracle@oracle ~]$ /usr/local/nagios/libexec/check_oracle_health --connect orcl --username nagios --password redhat --mode connected-users
CRITICAL - cannot connect to orcl. install_driver(Oracle) failed: Can't load '/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/DBD/Oracle/Oracle.so' for module DBD::Oracle: /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/DBD/Oracle/Oracle.so: undefined symbol: upioep at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/DynaLoader.pm line 230.
at (eval 13) line 3
Compilation failed in require at (eval 13) line 3.
Perhaps a required shared library or dll isn't installed where expected
at /usr/local/nagios/libexec/check_oracle_health line 4712

但到這裡就執行不了啦

我連 Oracle Client.rpm 都裝了, 都不行

之前看到人家說:
看到......line 230.   是selinux 問題,,我selinux 都是disable的

求解:

论坛徽章:
0
2 [报告]
发表于 2011-09-04 19:57 |只看该作者
都没人解答嗎

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
3 [报告]
发表于 2011-09-05 08:47 |只看该作者
报错误怎么连系统环境都不说?
看你的配置是redhat?版本?
DBD::Oracle以前安装程序做的不好,但最近5,6年安装程序做的非常智能,几乎没有识别错误的时候。
所以,如果有问题,那就检查其他原因吧。
我的环境配置是这样的:
  1. ORACLE_BASE=/u01/app/oracle
  2. ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
  3. ORACLE_SID=orcl
  4. LD_LIBRARY_PATH=$ORACLE_HOME/lib
  5. PATH=$PATH:$ORACLE_HOME/bin
复制代码

论坛徽章:
0
4 [报告]
发表于 2011-09-05 16:01 |只看该作者
我是用 RHEL 5.5 32BIT


报错误怎么连系统环境都不说? 我現在是連裝這個包都成問題, 怎麼連喔 ?, 還是你說我環境變量,,,,我上面有貼出來喔!

小弟公司 RHEL 5.2 64 bit 安裝没問題公司第2台測試機今天早上裝都没問題, 所以不知問題發生在那

以下為公司測試機的環境變量

# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMP
ORACLE_BASE=/u01/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0;export ORACLE_HOME
ORACLE_SID=MPACC;export ORACLE_SID
ORACLE_TERM=xterm;export ORACLE_TERM
PATH=$PATHORACLE_HOME/bin;export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JREORACLE_HOME/jlib$ORACLE_HOME/rdbms/jlib;

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
5 [报告]
发表于 2011-09-06 14:10 |只看该作者
你第一个帖子里的环境变量设置和你测试机上的不一样。
仔细看LD_LIBRARY_PATH的设置

论坛徽章:
0
6 [报告]
发表于 2011-09-10 07:48 |只看该作者
你第一个帖子里的环境变量设置和你测试机上的不一样。
仔细看LD_LIBRARY_PATH的设置
py 发表于 2011-09-06 14:10



    當然不一樣,公司有公司的庫,是公司DBA弄的, 我自己VM有自己的安裝路徑, 2個不同人去裝肯定不一樣

經過一星期了, 本來不想弄了, 突然找到解決方法:

下面是我的環境變量
export ORACLE_HOME=/u01/app/oracle/10g
export LD_LIBRARY_PATH=$ORACLE_HOME/lib

export PATH=$ORACLE_HOME/binPATH
export ORACLE_SID=orcl

[root@10.1.1.30 DBD-Oracle-1.30]# perl Makefile.PL
Using DBI 1.616 (for perl 5.008008 on i386-linux-thread-multi) installed in /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/DBI/

Configuring DBD::Oracle for perl 5.008008 on linux (i386-linux-thread-multi)

Remember to actually *READ* the README file! Especially if you have any problems.

Installing on a linux, Ver#2.6
Using Oracle in /u01/app/oracle/10g
DEFINE _SQLPLUS_RELEASE = "1002000400" (CHAR)
Oracle version 10.2.0.4 (10.2)
Found /u01/app/oracle/10g/rdbms/demo/demo_rdbms32.mk
Using /u01/app/oracle/10g/rdbms/demo/demo_rdbms32.mk
Your LD_LIBRARY_PATH env var is set to '/u01/app/oracle/10g/lib:/lib:/usr/lib'
Reading /u01/app/oracle/10g/rdbms/demo/demo_rdbms32.mk                     <===== 2. 解決方法在這:找到 lib32 修改成 lib 就行了
Reading /u01/app/oracle/10g/rdbms/lib/env_rdbms.mk
cat: /u01/app/oracle/10g/lib32/sysliblist: 沒有此一檔案或目錄                     <===== 1. 問題在這

安裝就會成功

錯誤方法, 我之前試過把 /u01/app/oracle/10g/lib, COPY 多一個叫 /u01/app/oracle/10g/lib32 也不會成功, 唯有修改上面才會成功

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
7 [报告]
发表于 2011-09-11 20:30 |只看该作者
回复 6# royleong

我说你的LD_LIBRARY_PATH设置和你公司成功设置的环境变量不一样,就是告诉你再仔细看看你LD_LIBRARY_PATH的设置。你自己的机器上的LD_LIBRARY_PATH设置错了。应该是lib,你写成lib32了,所以编译没通过。

论坛徽章:
0
8 [报告]
发表于 2011-09-12 19:18 |只看该作者
回复  royleong

我说你的LD_LIBRARY_PATH设置和你公司成功设置的环境变量不一样,就是告诉你再仔细看看 ...
py 发表于 2011-09-11 20:30



    我都用Default的,我沒寫成 lib32 呀,是它自己說要 lib32 , 我都莫名其妙,我環境變量都只是 lib, 所以之前郁悶在這,現在知道要強行修改它才能成功安裝

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
9 [报告]
发表于 2011-09-13 07:03 |只看该作者
[root@oracle DBD-Oracle-1.24]# more  /root/.bash_profile

export ORACLE_SID=orcl
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/10g
export PATH=$ORACLE_HOME/binHOME/binPATH
export ORACLE_USERID=nagios/redhat@orcl           <===== 這個2個應該可有可無吧
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8   <===== 這個2個應該可有可無吧
export LD_LIBRARY_PATH=$ORACLE_HOME/lib32


你再看看你第一个帖子,就是这里的LD_LIBRARY_PATH设置错误导致后面出错
当前版本的DBD::Oracle在Linux下编译会非常顺利,不会遇到你说的需要修改文件的情况

论坛徽章:
0
10 [报告]
发表于 2011-09-13 18:49 |只看该作者
你再看看你第一个帖子,就是这里的LD_LIBRARY_PATH设置错误导致后面出错
当前版本的DBD::Oracle在Linu ...
py 发表于 2011-09-13 07:03



    你現在這樣講就明確了,感謝你指明!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP