oracle ubuntu 安装,ubuntu中安装oracle 11g

首先,将系统更新到最新

sudo apt-get update

sudo apt-get dist-upgrade

安装依赖包

sudo apt-get install alien binutils build-essential cpp-4.4 debhelper g++-4.4 gawk gcc-4.4 gcc-4.4-base gettext html2text ia32-libs intltool-debian ksh lesstif2 lib32bz2-dev lib32z1-dev libaio-dev libaio1 libbeecrypt7 libc6 libc6-dev libc6-dev-i386 libdb4.8 libelf-dev libelf1 libltdl-dev libltdl7 libmotif4 libodbcinstq4-1 libodbcinstq4-1:i386 libqt4-core libqt4-gui libsqlite3-0 libstdc++5 libstdc++6 libstdc++6-4.4-dev lsb lsb-core lsb-cxx lsb-desktop lsb-graphics lsb-qt4 make odbcinst pax po-debconf rpm rpm-common sysstat unixodbc unixodbc-dev unzip

创建用户

sudo groupadd oinstall

sudo groupadd dba

sudo useradd -g oinstall -G dba oracle

给oracle用户设置登录密码

passwd oracle

内核参数

执行:

sudo nano /etc/sysctl.d/60-oracle.conf

把以下内容粘帖进去:

# Oracle 11g XE kernel parameters

fs.file-max=6815744

net.ipv4.ip_local_port_range=9000 65000

kernel.sem=250 32000 100 128

kernel.shmmax=4163487744

net.core.rmem_default=262144

net.core.rmem_max=4194304

net.core.wmem_default=262144

net.core.wmem_max=1048576

fs.aio-max-nr=1048576

加载内核参数:

sudo service procps start

执行以下语句看看内核参数是否修改成功

sudo sysctl -q fs.file-max

如果返回结果是fs.file-max = 6815744就说明修改成功了。

swap空间保证2g

添加对oracle用户的内核限制

在 /etc/security/limits.conf 文件中增加以下数据

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

oracle soft stack 10240

oracle用户认证参数

查看/etc/pam.d/login,增加以下行(有了就不用增加了)

session required pam_limits.so

同样检查/etc/pam.d/su,没有以下行就自己加上

session required pam_limits.so

新建安装目录

mkdir -p /u01/app/

chown -R oracle:oinstall /u01/app/

chmod -R 775 /u01/app/

登录oracle用户,修改 /home/oracle/.bashrc 文件添加

export ORACLE_BASE=/u01/app/oracle

export ORACLE_SID=orcl

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1

欺骗oracle的安装程序

sudo mkdir /usr/lib64

sudo ln -s /etc /etc/rc.d

sudo ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 /lib64/

sudo ln -s /usr/bin/awk /bin/awk

sudo ln -s /usr/bin/basename /bin/basename

sudo ln -s /usr/bin/rpm /bin/rpm

sudo ln -s /usr/lib/x86_64-linux-gnu/libc_nonshared.a /usr/lib64/

sudo ln -s /usr/lib/x86_64-linux-gnu/libpthread_nonshared.a /usr/lib64/

sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /lib64/

sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib64/

echo 'Red Hat Linux release 5' > /etc/redhat-release

运行安装程序

cd /XXX/XXX/XXX

./runInstaller

Troubleshooting

错误1

在执行'链接二进制文件'时如果遇到错误请在不关闭安装程序的情况下打开一个新终端,输入以下命令

sed -i 's/^\(\s*\$(MK_EMAGENT_NMECTL)\)\s*$/\1 -lnnz11/g' $ORACLE_HOME/sysman/lib/ins_emagent.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

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

然后再选择retry一般就可以过去了。

错误2

报错 : /lib64/libstdc++.so.5: undefined reference to memcpy@GLIBC_2.14

这是因为ubuntu 13.04带的libstdc++5.0 和oracle所要不兼容所致

从这里 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,然后重试就可以了

参考资料

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值