网上下了个zip版的 ,但是只支持rh,suse。。。。网上尝试了一些方法,但是安装的时候出现了各种 链接问题。。。。。。
折腾了几天都没搞定,今天偶然搜到了一篇帖子,和我的情况一模一样,勉强能用吧现在,还是有个别小问题。。。。。
截取了错误信息,
转自 http://blog.csdn.net/altand/article/details/7049032
一。错误信息
3,“有关”错误
这段是我最不想写的,也是你最不想看到的,没法,错误就像椰风挡不住,一个月总有那么几个不舒服的错误。应该说你在安装时候往往只有link阶段出现错误。
一一列举:
3.1 LINK错误信息: usr/bin/ld: /opt/ora10/lib//libclient10.a(upipar.o): undefined reference to symbol 'kpuexes' /usr/bin/ld: note: 'kpuexes' is defined in DSO /opt/ora10/lib//libclntsh.so so try adding it to the linker command line /opt/ora10/lib//libclntsh.so: could not read symbols: Invalid operation
分析:这个问题开始我装了无数遍,查阅了可以说所有能找到的文档,有很多类似的描述,大多书是关于Libstdc++5缺少的问题,其实这里并没有涉及到 这个问题,后面会遇到。并且有些文档给你答案是手工链接,但是我试了一下好像没有作用,后来是csdn里linshux先生给出了准确答案
这个显然是变量定义没有找到,但是给你提示在一个库里面,由于自动添加参数不正确,所以命令报错,linshux给出答案是在.mk文件中添加一个附加的 扩展库,这个方案在一篇外文文档里面有提到,也是一位高人给出在.mk文件生成时候修改,但是由于错误不一样,显然参数也不一样,所以我没有用这个参数, 不过应该就是类似方法。上面的错误提示是在.logs文件里面的,图形界面上只是提示你调用makefile '/opt/ora10/sqlplus/lib/ins_sqlplus.mk' 的目标'install' 时出错。请参阅'/home/oracle/oraInventory/logs /installActions2011-12-06_11-03-18AM.log' 以了解详细信息。
方法:sudo gedit /opt/ora10/sqlplus/lib/env_sqlplus.mk添加一行:EXPDLIBS=-lclntsh ,然后点击“重试”按钮,就可以了
3.2 调用makefile '/opt/ora10/sysman/lib/ins_sysman.mk' 的目标'agent nmo nmb' 时出错。请参阅'/home/oracle/oraInventory/logs /installActions2011-12-06_11-03-18AM.log' 以了解详细信息。
分析:后面遇到的错误其实本质上是一个问题,主要是gcc的版本高了,oracle10g的gcc是3.4左右的版本,但是ubuntu的开发速度早就用了4.0以上版本,而且你还无法apt安装低版本,这个问题在Log里面真正的错误是信息:
gcc: 错误:unrecognized option ‘-no_cpprt’
因为gcc4.0以上版本去掉了这个参数,所以自然认不出了。
解决方法:
sudo gedit /opt/ora10/sysman/lib/env_sysman.mk
找到这一行:
NO_CPPT_OPTION=#-no_cpprt
把“=”后面注释掉,点击重试按钮,通过
3.3 调用makefile '/opt/ora10/network/lib/ins_net_server.mk' 的目标'install' 时出错。请参阅'/home/oracle/oraInventory/logs /installActions2011-12-06_11-03-18AM.log' 以了解详细信息。
分析:我在网上找到了一篇类似的文档,参见(点击打开链接),但是我手工编译还是有问题,而且在oracle10g中并不是他所提到的-lons参数问题。
还是gcc版本问题,我曾尝试过安装低版本的gcc,但是一开始编译就报错,所以放弃了,如果有人能成功降低版本环境,相信一定能解决所有错误问题,这也是为什么ubuntu 8能很自然成功安装的一个解释。
方法:目前我还没有方法,按照其.mk文件的说明,这个东西好像是数据库 链接断裂时候重新链接用的,先忽略把
大家可以参见这篇文档关于这个错误的相关原因说明(点击打开链接 )
3.4 调用makefile '/opt/ora10/rdbms/lib/ins_rdbms.mk' 的目标'all_no_orcl ihsodbc' 时出错。请参阅'/home/oracle/oraInventory/logs /installActions2011-12-06_11-07-36-AM.log' 以了解详细信息。
分析:我们看一下log文件
信息: Generating BASE ORASDK library...
信息: Creating /opt/ora10/lib/liborasdkbase.so.10.2
信息: gcc: 错误:/lib/libgcc_s.so.1:没有那个文件或目录
gcc: 错误:/usr/lib/libstdc++.so.5:没有那个文件或目录
我们看到终于是那个非常多的错误了,其实还是gcc的问题,重新下载了libgcc_s.so.1,并且重新做了stdc++5的链接,但是问题还是更多,因为只做软链接和下载一个动态库是没法解决所有问题的。
方法:目前没有再继续纠错的冲动了,已经多少遍尝试并且费了好几天时间。希望有解决的人能给点提示。
4,运行测试
最后,数据库还是能正常运行使用的。
启动命令:
启动:/opt/ora10/bin/lsnrctl start
启动sqlplus:/opt/ora10/bin/sqlplus /nolog
后续:
希望有人能解答gcc版本不兼容的问题,明显不合向下兼容原则,悲了个剧
作者 DesignLab
二.测试连接数据库
你可以使用下面sqlplus语句连接数据库
用 oracle 用户 远程登录, 然后
$ sqlplus /nolog
SQL> conn / as sysdba
Connected to an idle instance.
出现错误
启动。。。。。。。。
SQL> startup
[oracle@localhost ~]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production
Copyright (c) 1982, 2009, Oracle . All rights reserved.
SQL> conn / as sysdba
Connected.
SQL> create table testUser( id integer,name char(10));
Table created.
SQL> insert into testUser values(0,'Jack');
1 row created.
SQL> commit;
Commit complete.
SQL> select * from testUser;
ID NAME
---------- ----------
0 Jack
关闭数据库
SQL> shutdown immediate
SQL> quit
到此你的oracle已成功安装!