参考:http://www.linuxidc.com/Linux/2015-03/115264.htm
(1)Oracle要求swap最少为3.69G
(2)apt-get install rpm libaio1 ksh libtool libstdc++5 build-essential
(3)安装jdk,我是用Ubuntu OPENJDK7
(4)配置系统环境变量:
$sudo ln -s /usr/bin/awk /bin/awk
$sudo ln -s /usr/bin/rpm /bin/rpm
$sudo ln -s /usr/bin/basename /bin/basename
# 直接链接这个目录过来,不建议使用参考文章1的中链接多个文件的方式
$sudo ln -s /usr/lib/x86_64-linux-gnu /usr/lib64
$cd /lib64
$sudo ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1
(5)建立oracle用户组及安装目录
在图形环境 用System Setting 中的 Users Account 建 oracle用户
$sudo groupadd oinstall
$sudo groupadd dba
$sudo mkdir -p /opt/oracle #目录修改为自己机器的实际目录
$sudo usermod -g oinstall -G dba -s /bin/bash oracle
$sudo passwd oracle
$sudo chown -R oracle:oinstall /opt/oracle
(6)设置系统参数
修改 /etc/sysctl.conf
修改 etc/security/limits.conf
修改"/etc/security/limits.conf",加入如下内容,其中"oracle"为用户名,可根据实际情况调整。
修改"/etc/pam.d/login",如果没有就加入如下内容:
然后执行命令:
sudo sysctl -p
(7) 图形界面或命令行的方式,用oracle帐号登陆$gedit .profile
# Oracle Settings
TMP=/tmp;
export TMP
TMPDIR=$TMP;
export TMPDIR
# 直接生效
$source .profile
到oracle官方下载oracle11g的linux64位版 共两个压缩包:
解压到某个目录如:/data/downloads/database下
有两种方式可以打开安装界面,一是直接切换到oracle用户并登录到desktop,另一种是不切换当前界面,执行如下命令:
$xhost +
$su - oracle
$export DISPLAY=:0
然后再执行下面的命令,打开安装界面,开始安装。
$cd /data/downloads/database
# 修改为自己系统对应的jre路径
$./runInstaller
安装过程不会一帆风顺,一般都会有错误弹出。我的经验是,安装过程出现错误,不要急,也先别点确认取消或跳过(保持弹出框不要关闭),仔细查看错误提示,按提示的对应log文件找到具体的错误,再处理。 我遇到的错误,在参考文章2中都得到了解决,建议弹出错误重点参考文章2。下面我简单列示。
从ftp://rpmfind.net/linux/Mandriva/official/2010.0/x86_64/media/contrib/release/libstdc++5-3.3.6-4mdv2009.0.x86_64.rpm,直接安压缩包打开提取,备份原文件,并提取到/usr/lib/x86_64-linux-gnu下覆盖掉旧文件(使用有sudo权限账户)。
$export ORACLE_HOME=/opt/oracle/product/11.2.0/dbhome_1
$sed -i 's/^\(\s*\$(MK_EMAGENT_NMECTL)\)\s*$/\1 -lnnz11/g' $ORACLE_HOME/sysman/lib/ins_emagent.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/^\(ORACLE_LINKLINE.*\$(ORACLE_LINKER)\) \(\$(PL_FLAGS)\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/rdbms/lib/env_rdbms.mk
$sed -i 's/^\(\$LD \$LD_RUNTIME\) \(\$LD_OPT\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/bin/genorasdksh
$sed -i 's/^\(\s*\)\(\$(OCRLIBS_DEFAULT)\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/srvm/lib/ins_srvm.mk