打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Lubuntu 12.10 桌面版安装Oracle 11g
在网上找到在 LUbuntu 12.10 桌面版上成功安装 Oracle11g 的相关资料。记录之。
1、 安装依赖项
sudo apt-get install gcc make binutils libc6 libc6-dev lesstif2 rpm libmotif3  libstdc++5  libaio1 libaio-dev
2、 创 建 ORACLE 用 户
sudo addgroup oinstall
sudo addgroup dba
sudo addgroup nobody
sudo usermod -g nobody nobody
sudo useradd -g oinstall -G dba -m -d /home/oracle -s /bin/bash oracle
sudo passwd oracle
3、 创 建 ORACLE 安装目 录
sudo mkdir  /opt/oracle
sudo mkdir /opt/oraInventory
sudo chown -R oracle:oinstall /opt/oracle
sudo chown -R oracle:oinstall /opt/oraInventory
4、修改/etc/sysctl.conf,修改linux 内核参数
sudo gedit /etc/sysctl.conf  在文件最后添加
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
运行一下命令更新内核参数
sudo sysctl -p
5、添加对oracle用户的内核限制,
sudo gedit /etc/security/limits.conf 在文件最后添加:
oracle soft nproc 2047
oracle hard nproc 16383
oracle soft nofile 1023
oracle hard nofile 65535
6、
检查/etc/pam.d/login,增加以下行(实际已有了不用增加)
session required pam_limits.so
检查/etc/pam.d/su,增加以下行(实际已有了不用增加)
session required pam_limits.so
7、因为Oracle 默认Linux 系统是Red Hat ,模仿Red Hat
创建文件的链接,使Ubuntu 的目录结构与Red Hat 一致
sudo ln -s /usr/bin/awk /bin/awk
sudo ln -s /usr/bin/rpm /bin/rpm
sudo ln -s /usr/bin/basename /bin/basename
sudo ln -s /usr/lib/x86_64-linux-gnu /usr/lib64
sudo mkdir /etc/rc.d
sudo ln -s /etc/rc0.d /etc/rc.d/rc0.d
sudo ln -s /etc/rc1.d /etc/rc.d/rc1.d
sudo ln -s /etc/rc2.d /etc/rc.d/rc2.d
sudo ln -s /etc/rc3.d /etc/rc.d/rc3.d
sudo ln -s /etc/rc4.d /etc/rc.d/rc4.d
sudo ln -s /etc/rc5.d /etc/rc.d/rc5.d
sudo ln -s /etc/rc6.d /etc/rc.d/rc6.d
sudo ln -s /etc/init.d /etc/rc.d/init.d
编辑/etc/RedHat-release。
su
echo 'Red Hat Linux release 5' > /etc/redhat-release
8. Oracle用户变量
以oracle 用 户 登 录 , 进 入主目 录 ,配置 .bashrc 文件
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=testora
export ORACLE_OWNER=oracle
export ORACLE_TERM=xterm
export ORACLE_UNQNAME=testora
export ORACLE_HOSTNAME=localhost
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export LANG=en_US
9、 开 始 安装
默认情况下安装界面是乱码的,export LANG=en_US使用英文界面安装
./runInstaller
10.链接错误处理,link进度到84%报错处理
10.1 Error in invoking target 'agent nmhs' of makefile '/opt/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk'
在日志中详细错误为
/usr/bin/ld: /opt/oracle/product/11.2.0/db_1/sysman/lib//libnmectl.a(nmectlt.o): undefined reference to symbol 'B_DestroyKeyObject'
以及:
Error in invoking target 'all_no_orcl' of makefile '/opt/oracle/product/11.2.0/db_1/rdbms/lib/ins_rdbms.mk'.
INFO: pt/oracle/product/11.2.0/db_1/lib/libcommon11.a(kdxd4.o): In function `kdxd4bu':
kdxd4.c:(text.hot+0x2467): undefined reference to `lnxren'
collect2: error: ld returned 1 exit status
/opt/oracle/product/11.2.0/db_1/bin/genorasdksh: Failed to link liborasdk.so.11.1
make: *** [liborasdksh] Error 1
处理方法,参考[2]:
sed -i 's/^\(\s*\$(MK_EMAGENT_NMECTL)\)\s*$/\1 -lnnz11/g' $ORACLE_HOME/sysman/lib/ins_emagent.mk
###或者打开 ins_emagent.mk文件, 找到 $(MK_EMAGENT_NMECTL) 改成 $(MK_EMAGENT_NMECTL) -lnnz11
类似编译选项错误,这里一并处处理
sed -i 's/^\(\$LD \$LD_RUNTIME\) \(\$LD_OPT\)/\1 -Wl,--no-as-needed \2/g'  $ORACLE_HOME/bin/genorasdksh    #注意正则式中有空格
sed -i 's/^\(ORACLE_LINKLINE.*\$(ORACLE_LINKER)\) \(\$(PL_FLAGS)\)/\1 -Wl,--no-as-needed \2/g'  $ORACLE_HOME/rdbms/lib/env_rdbms.mk
sed -i 's/^\(\s*\)\(\$(OCRLIBS_DEFAULT)\)/\1  -Wl,--no-as-needed \2/g' $ORACLE_HOME/srvm/lib/ins_srvm.mk
sed -i 's/^\(TNSLSNR_LINKLINE.*\$(TNSLSNR_OFILES)\) \(\$(LINKTTLIBS)\)/\1 -Wl, --no-as-needed \2/g'  $ORACLE_HOME/network/lib/env_network.mk
sed -i 's/^\(TNSLSNR_LINKLINE.*\$(TNSLSNR_OFILES)\) \(\$(LINKTTLIBS)\)/\1 -Wl,--no-as-needed \2/g'  $ORACLE_HOME/network/lib/env_network.mk
###补充:其后才发现:Wl,与--no-as-needed之间应没有空格,这里正确的话根本不会出现下面10.3的error: unrecognized command line option '--no-as-needed'。就一个空格费了我好多时间在这上面。
10.2. INFO: gcc: error: /lib64/libgcc_s.so.1: No such file or directory
处理方法:
sudo ln  -s /opt/oracle/product/11.2.0/db_1/lib/stubs/libgcc_s.so.1 /lib64/libgcc_s.so.1
10.3.Error in invoking target 'install' of makefile '/opt/Oracle/product/11.2.0/db_1/network/lib/ins_net_server.mk'.
日志中详细出错信息:
INFO: - Linking tnslsnr
INFO: rm -f tnslsnr
INFO: gcc -o tnslsnr -m64 -L/opt/oracle/product/11.2.0/db_1/network/lib/ -L/opt/oracle/product/11.2.0/db_1/lib/ -L/opt/oracle/product/11.2.0/db_1/lib/stubs/ /opt/oracle/product/11.2.0/db_1/network/lib/s0nsgl.o /opt/oracle/product/11.2.0/db_1/network/lib/snsglp.o -Wl, --no-as-needed -lclntsh `cat /opt/oracle/product/11.2.0/db_1/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat /opt/oracle/product/11.2.0/db_1/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnnz11 -lzt11 -lztkg11 -l
INFO: ztkg11 -lclient11 -lnnetd11 -lvsn11 -lcommon11 -lgeneric11 -lmm -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 `cat /opt/oracle/product/11.2.0/db_1/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat /opt/oracle/product/11.2.0/db_1/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lclient11 -lnnetd11 -lvsn11 -lcommon11 -lgeneric11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -l
INFO: nls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 -lclient11 -lnnetd11 -lvsn11 -lcommon11 -lgeneric11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 `cat /opt/oracle/product/11.2.0/db_1/lib/sysliblist` -Wl,-rpath,/opt/oracle/product/11.2.0/db_1/lib -lm `cat /opt/oracle/product/11.2.0/db_1/lib/sysliblist` -ldl -lm -L/opt/oracle/product/11.2.0/db_1/lib -lons -lnl11 -ln11 -lnlsnr11 -lnlsnrc11 -lnsgr11 -l
INFO: nms -lncm11 -lnmsp -lpeer -lnro11 -ln11 -lnl11 -lnlsnr11 -lnlsnrc11 -lnms -lncm11 -lnmsp -ln11 -lm
INFO: gcc: error: unrecognized command line option '--no-as-needed'
INFO: make: *** [tnslsnr] Error 1
或:
INFO: - Linking tnslsnr
rm -f tnslsnr
INFO: gcc -o tnslsnr -m64 -L/opt/oracle/product/11.2.0/db_1/network/lib/ -L/opt/oracle/product/11.2.0/db_1/lib/ -L/opt/oracle/product/11.2.0/db_1/lib/stubs/ /opt/oracle/product/11.2.0/db_1/network/lib/s0nsgl.o /opt/oracle/product/11.2.0/db_1/network/lib/snsglp.o -lclntsh `cat /opt/oracle/product/11.2.0/db_1/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat /opt/oracle/product/11.2.0/db_1/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnnz11 -lzt11 -lztkg11 -lztkg11 -lclient11 -l
INFO: nnetd11 -lvsn11 -lcommon11 -lgeneric11 -lmm -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 `cat /opt/oracle/product/11.2.0/db_1/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat /opt/oracle/product/11.2.0/db_1/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lclient11 -lnnetd11 -lvsn11 -lcommon11 -lgeneric11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore
INFO: 11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 -lclient11 -lnnetd11 -lvsn11 -lcommon11 -lgeneric11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 `cat /opt/oracle/product/11.2.0/db_1/lib/sysliblist` -Wl,-rpath,/opt/oracle/product/11.2.0/db_1/lib -lm `cat /opt/oracle/product/11.2.0/db_1/lib/sysliblist` -ldl -lm -L/opt/oracle/product/11.2.0/db_1/lib -lons -lnl11 -ln11 -lnlsnr11 -lnlsnrc11 -lnsgr11 -lnms -lncm11 -lnmsp -
INFO: lpeer -lnro11 -ln11 -lnl11 -lnlsnr11 -lnlsnrc11 -lnms -lncm11 -lnmsp -ln11 -lm
INFO: /opt/oracle/product/11.2.0/db_1/network/lib//libnlsnr11.a(nsglsn.o): In function `nsglonsterm':
nsglsn.c:(.text+0xc29): undefined reference to `ons_subscriber_close'
nsglsn.c:(.text+0xc3b): undefined reference to `ons_shutdown_nowait'
/opt/oracle/product/11.2.0/db_1/network/lib//libnlsnr11.a(nsglsn.o): In function `nsglma':
nsglsn.c:(.text+0x1ffb): undefined reference to `ons_subscriber_receive'
nsglsn.c:(.text+0x251d): undefined reference to `ons_notification_body'
nsglsn.c:(.text+0x2a4b): undefined refere
INFO: nce to `ons_subscriber_relinquish'
nsglsn.c:(.text+0x2a62): undefined reference to `ons_subscriber_receive'
/opt/oracle/product/11.2.0/db_1/network/lib//libnlsnr11.a(nsglsn.o): In function `nsglonsinit':
nsglsn.c:(.text+0x2d43c): undefined reference to `ons_init'
nsglsn.c:(.text+0x2d457): undefined reference to `ons_subscriber_create_async'
nsglsn.c:(.text+0x2d473): undefined reference to `ons_subscriber_status'
nsglsn.c:(.text+0x2dc94): undefined reference to `ons_shutdown_nowait'
nsglsn.c:(.text+0x2e1d8):
INFO: undefined reference to `ons_init_woraclehome'
/opt/oracle/product/11.2.0/db_1/network/lib//libnlsnr11.a(nsgcs.o): In function `nsgcsss':
nsgcs.c:(.text+0x58c): undefined reference to `ons_subscriber_status'
collect2: error: ld returned 1 exit status
INFO: make: *** [tnslsnr] Error 1
--****************
处理方法:
1.手工编译上面出错的gcc命令,修改了编译选项如下
gcc -o tnslsnr -m64 -L/opt/Oracle/product/11.2.0/db_1/network/lib/ -L/opt/oracle/product/11.2.0/db_1/lib/ -L/opt/oracle/product/11.2.0/db_1/lib/stubs/  /opt/oracle/product/11.2.0/db_1/network/lib/s0nsgl.o /opt/oracle/product/11.2.0/db_1/network/lib/snsglp.o -lclntsh  `cat /opt/oracle/product/11.2.0/db_1/lib/ldflags`    -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat /opt/oracle/product/11.2.0/db_1/lib/ldflags`  -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnnz11 -lzt11 -lztkg11 -lztkg11 -lclient11 -lnnetd11  -lvsn11 -lcommon11 -lgeneric11 -lmm -lsnls11 -lnls11  -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 `cat /opt/oracle/product/11.2.0/db_1/lib/ldflags`    -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat /opt/oracle/product/11.2.0/db_1/lib/ldflags`    -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lclient11 -lnnetd11  -lvsn11 -lcommon11 -lgeneric11  -lsnls11 -lnls11  -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 -lclient11 -lnnetd11  -lvsn11 -lcommon11 -lgeneric11 -lsnls11 -lnls11  -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11  `cat /opt/oracle/product/11.2.0/db_1/lib/sysliblist` -Wl,-rpath,/opt/oracle/product/11.2.0/db_1/lib,-rpath,/opt/oracle/product/11.2.0/db_1/network/lib/ -lm    `cat /opt/oracle/product/11.2.0/db_1/lib/sysliblist` -ldl -lm  -L/opt/oracle/product/11.2.0/db_1/lib -lnl11  -ln11 -lnlsnr11 -lnlsnrc11 -lnsgr11 -lnms -lncm11 -lnmsp -lpeer -lnro11 -ln11  -lnl11 -lnlsnr11 -lnlsnrc11 -lnms -lncm11 -lnmsp -ln11    -lm -leons
如果上面通过,会以所在目录生成tnslsnr可执行文件,以后拷到$ORACLE_HOME/bin/
2.修改ins_net_server.mk文件,注释掉tnslsnr的生成以及itnslsnr: tnslsnr改为itnslsnr:
gedit /opt/oracle/product/11.2.0/db_1/network/lib/ins_net_server.mk
#tnslsnr: $(S0NSGL) $(SNSGLP) $(NSGLPNP)
#      $(SILENT)$(ECHO) " - Linking $(TNSLSNR)"
#      $(RMF) $@
#      $(TNSLSNR_LINKLINE)
#itnslsnr: tnslsnr
itnslsnr:
重试继续后[3]中说又有错误INFO: /database/app/oracle/product/11.2.0/dbhome_1/lib//libocrutl11.so: undefined reference to `lfifcp'
但实际我未出现。
附:常用工具
dbca
netca,netmgr
lsnrctl
sqlplus
emctl start|stop dbconsole
重新配置dbconsole的步骤
emca -repos drop
emca -repos create
emca -config dbcontrol db
emctl start dbconsole
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
ubuntu 10.10 安装 oracle 11G
ubuntu7.10 按装tomcat 6.0 详解
Ubuntu 14.04安装Oracle11g 64位
Ubuntu 12.04(32位)安装Oracle 11g(32位)全过程以及几乎所有问题的解决办法
Ubuntu 14.04 LTS 64位安装Oracle 11g
Ubuntu 16.04配置java环境
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服