首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

在ubuntu 11 32bit环境上安装oracle 11g

2012-09-15 
在ubuntu 11 32bit环境下安装oracle 11g上周在自己的ubuntu环境里安装好了oracle 11g, 特此把安装过程纪录

在ubuntu 11 32bit环境下安装oracle 11g

上周在自己的ubuntu环境里安装好了oracle 11g, 特此把安装过程纪录下来,留作备忘录。


事前准备:

    系统更新sudo
    sudo apt-get update  sudo apt-get upgrade 
    ?安装系统所需要的packagesudo
    sudo su -apt-get install build-essentialapt-get install libaio1apt-get install libaio-devapt-get install unixODBCapt-get install unixODBC-devapt-get install pdkshapt-get install expatapt-get install sysstatapt-get install libelf-devapt-get install elfutilsapt-get install lsb-cxxapt-get install ksh apt-get install libmotif3 apt-get install alien apt-get install libtool apt-get install lsb-rpm
    ?为避免linking ctx/lib/ins_ctx.mk的编译错误,下载libstdc++5_3.3.6-25ubuntu1_i386.deb,并进行安装。?为避免编译中link错误,执行下面命令
    sudo ln -s /usr/bin/awk /bin/awk sudo ln -s /usr/bin/rpm /bin/rpm sudo ln -s /usr/bin/basename /bin/basenamesudo ln -s /usr/lib/i386-linux-gnu/libc_nonshared.a /usr/libsudo ln -s /usr/lib/i386-linux-gnu/libpthread_nonshared.a /usr/libsudo ln -s /usr/lib/i386-linux-gnu/libstdc++.so.5 /usr/libsudo ln -s /usr/lib/i386-linux-gnu/libstdc++.so.6 /usr/libsudo ln -s /lib/i386-linux-gnu/libgcc_s.so.1 /lib
    ????修改系统参数
    sudo su -#backupcp /etc/sysctl.conf /etc/sysctl.originalvi /etc/sysctl.conf, 添加以下内容    # Oracle 11gR2 entries    fs.aio-max-nr=1048576    fs.file-max=6815744    kernel.shmall=2097152    kernel.shmmni=4096    kernel.sem=250 32000 100 128    net.ipv4.ip_local_port_range=9000 65500    net.core.rmem_default=262144    net.core.rmem_max=4194304    net.core.wmem_default=262144    net.core.wmem_max=1048586    kernel.shmmax=2147483648Note: kernel.shmmax = max possible value, e.g. size of physical memory in bytes#启动新的系统参数 Load new kernel parameterssysctl -p
    ?
    ?创建用户和组
    sudo groupadd oinstallsudo groupadd dbasudo groupadd nobodysudo usermod -g nobody nobodysudo useradd -g oinstall -G dba -d /home/oracle -s /bin/bash oraclesudo password oraclemkdir /home/oraclechown -R oracle:dba /home/oracle
    ?修改/etc/security/limits.conf,添加以下内容
    oracle soft nproc 2047oracle hard nproc 16384oracle soft nofile 1024oracle hard nofile 65536

    创建oracle安装目录
    mkdir -p /u01/app/oraclechown -R oracle:oinstall /u01/app/oraclechmod -R 775 /u01/app/oraclemkdir -p /u01/app/oraInventorychown -R oracle:oinstall /u01/app/oraInventorychmod -R 775 /u01/app/oraInventory
    ?

开始正式安装:

?

    以上边创建的oracle 用户login执行以下命令开始安装
    export LANG=C#在安装目录下./runInstaller
    ?安装过程中,可能会遇到以下的编译错误
    Error in invoking target 'agent nmhs' of makefile'/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk.'See'/u01/app/oraInventory/logs/installActions2012-03-11_06-59-43PM.log'for details.或者还有Error in invoking target 'all_no_orcl' of makefile'/u01/app/oracle/product/11.2.0/db_1/rdbms/lib/ins_rdbms.mk.'See'/u01/app/oraInventory/logs/installActions2012-03-11_06-59-43PM.log'for details.
    ?为解决上述编译错误,修改如下文件,然后再执行编译
    sysman/lib/ins_emagent.mk:变更前:LDFLAGS=-Wl -o $@...变更后:LDFLAGS=-Wl,--copy-dt-needed-entries -o $@... bin/genorasdksh:变更前:$LD SLD_RUNTIME -Wl $D_OPT $LD_OUT ...变更后:$LD SLD_RUNTIME -Wl,--no-as-needed $D_OPT $LD_OUT ...srvm/lib/ins_srvm.mk:变更前:GETCRSHOME_LINKLINE=$(LINK) $(LDPATHFLAG)$(RDBMSLIB) $(CDEBUG) $(OPT) $(GETCRSHOME_OBJ1) -Wl变更后:GETCRSHOME_LINKLINE=$(LINK) $(LDPATHFLAG)$(RDBMSLIB) $(CDEBUG) $(OPT) $(GETCRSHOME_OBJ1) -Wl,--no-as-needednetwork/lib/env_network.mk:变更前:TNSLSNR_LINKLINE=$(LINK) $(TNSLSNR_OFILES) -Wl $(LINKTTLIBS) ...变更后:TNSLSNR_LINKLINE=$(LINK) $(TNSLSNR_OFILES) -Wl,--no-as-needed $(LINKTTLIBS) ...rdbms/lib/env_rdms.mk:变更前:ORACLE_LINKER=$(ADE_DEL_FILE_CMD) $(PURECMDS) gcc -Wl $(OLAPPRELINKOPTS) $(LDFLAGS) $(COMPSOBJS)变更后:ORACLE_LINKER=$(ADE_DEL_FILE_CMD) $(PURECMDS) gcc -Wl, --no-as-needed $(OLAPPRELINKOPTS) $(LDFLAGS) $(COMPSOBJS)
    ?
    按照安装程序的提示,以root权限login,然后执行命令 /u01/app/oracle/product/11.2.0/db_1/root.sh创建启动程序 vi /etc/init.d/oracledb, 加入以下内容
    #!/bin/bash export ORACLE_BASE=/u01/app/oracleexport ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1export ORACLE_OWNR=oracleexport PATH=$PATH:$ORACLE_HOME/bin if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]thenecho "Oracle startup: cannot start"exit 1fi case "$1" instart)# Oracle listener and instance startupecho -n "Starting Oracle: "su $ORACLE_OWNR -c "$ORACLE_HOME/bin/lsnrctl start"su $ORACLE_OWNR -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"touch /var/lock/oracleecho "OK";;stop)# Oracle listener and instance shutdownecho -n "Shutdown Oracle: "su $ORACLE_OWNR -c "$ORACLE_HOME/bin/lsnrctl stop"su $ORACLE_OWNR -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME"rm -f /var/lock/oracleecho "OK";;reload|restart)$0 stop$0 start;;*)echo "Usage: `basename $0` start|stop|restart|reload"exit 1esac exit 0
    ?

参考资料

?

    http://www.pythian.com/news/13291/installing-oracle-11gr2-enterprise-edition-on-ubuntu-10-04-lucid-lynx/https://forums.oracle.com/forums/thread.jspa?threadID=1115155https://forums.oracle.com/forums/thread.jspa?threadID=2336240http://blog.arkzoyd.com/2011/11/oracle-database-11g-and-ubuntu-1110.html

热点排行