ubuntu16 安装oracle,基于Ubuntu16.04 LTS安装Oracle11g

不说废话了,直接说,希望让我这样的没怎么接触过Oracle的小伙伴迅速配置成功。

一、安装前提

ubuntu16.04 64位

java 1.8(环境变量设置完毕)

二、Oracle 11下载

Oracle数据库官方下载

94df9d6cab8d10c8eb04d83c460d3204.png

如上图,选择Linux x86_64对应的File 1和File 2文件下载。(可能需要登录,需要注册下oracle账户)

下载完成后,先在~目录下创建一个database文件夹:sudo mkdir /home/database。再切换到下载的oracle文件处。执行解压操作:

sudo zip linux.x64_11gR2_database_1of2.zip -d /home/database

sudo zip linux.x64_11gR2_database_2of2.zip -d /home/database

三、安装Oracle所需要的依赖包

sudo apt-get install automake

sudo apt-get install autotools-dev

sudo apt-get install binutils

sudo apt-get install bzip2

sudo apt-get install elfutils

sudo apt-get install expat

sudo apt-get install gawk

sudo apt-get install gcc

sudo apt-get install gcc-multilib

sudo apt-get install g++-multilib

sudo apt-get install ia32-libs

sudo apt-get install ksh

sudo apt-get install less

sudo apt-get install lesstif2

sudo apt-get install lesstif2-dev

sudo apt-get install lib32z1

sudo apt-get install libaio1

sudo apt-get install libaio-dev

sudo apt-get install libc6-dev

sudo apt-get install libc6-dev-i386

sudo apt-get install libc6-i386

sudo apt-get install libelf-dev

sudo apt-get install libltdl-dev

sudo apt-get install libmotif4

sudo apt-get install libodbcinstq4-1 libodbcinstq4-1:i386

sudo apt-get install libpth-dev

sudo apt-get install libpthread-stubs0

sudo apt-get install libpthread-stubs0-dev

sudo apt-get install libstdc++5

sudo apt-get install lsb-cxx

sudo apt-get install make

sudo apt-get install openssh-server

sudo apt-get install pdksh

sudo apt-get install rlwrap

sudo apt-get install rpm

sudo apt-get install sysstat

sudo apt-get install unixodbc

sudo apt-get install unixodbc-dev

sudo apt-get install unzip

sudo apt-get install x11-utils

sudo apt-get install zlibc

ps:谨慎起见,最好都执行一遍。

一个一个执行太慢了,我把这些命令放到一个shell文件里,用bash执行。

这里需要注意的是有些同学用的国内的源,可能不太行。这里推荐还是换回官方的比较稳妥。

四、检查系统变量

/sbin/sysctl -a | grep sem

/sbin/sysctl -a | grep shm

/sbin/sysctl -a | grep file-max

/sbin/sysctl -a | grep aio-max

/sbin/sysctl -a | grep ip_local_port_range

/sbin/sysctl -a | grep rmem_default

/sbin/sysctl -a | grep rmem_max

/sbin/sysctl -a | grep wmem_default

/sbin/sysctl -a | grep wmem_max

然后根据上面命令中得到的参数值在/etc/sysctl.conf中增加对应数据,比如执行/sbin/sysctl -a | grep sem:

1be01c430f8421a32f0b28d6426f630c.png

那么就在/etc/sysctl.conf里,设置:kernel.sem = 32000 1024000000 500 32000

所以,在/etc/sysctl.conf中追加的文件内容为:

a88eec66460960a8a2089545b40b3136.png

搞定后,运行代码(目的:更新内核参数):

sysctl –p

五、添加对用户的内核限制

添加对samuel用户的内核限制在 /etc/security/limits.conf 文件中增加以下数据,注:其中samuel是我的ubuntu系统的普通用户。

samuel soft nproc 2047

samuel hard nproc 16384

samuel soft nofile 1024

samuel hard nofile 65536

samuel soft stack 10240

六、为/etc/pam.d/login和/etc/pam.d/su添加文件

首先检查/etc/pam.d/login

增加一行(有了就不用增加了):

session required pam_limits.so

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

session required pam_limits.so

下图表示添加成功。

1333ce64325ae8708b1cef61e8984955.png

七、创建oracle存放的文件夹(注意:这个和第二步的/home/database不同!)

我创建的目录为

sudo mkdir -p /home/samuel/tools/oracle11g

接着,为Oracle配置环境变量:

sudo gedit ~/.profile

添加如下内容:

f6c98bfcc3625e7331ee83d15c69bef5.png

规则为:

#oracle安装目录,本步创建的文件夹

export ORACLE_BASE=/home/dong/tools/oracle11g

#网上说可以随便写

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1

#数据库的sid

export ORACLE_SID=orcl

export ORACLE_UNQNAME=orcl

#默认字符集

export NLS_LANG=.AL32UTF8

#环境变量

export PATH=${PATH}:${ORACLE_HOME}/bin/:$ORACLE_HOME/lib64;

八、欺骗Oracle的安装程序

Oracle本身并不支持ubuntu来安装,所以要进行欺骗oracle的安装程序(sudo执行):

mkdir /usr/lib64

# ln -s 创建软链接

ln -s /etc /etc/rc.d

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

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

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

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

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

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

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

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

# 这个感觉填什么都行.... red hat也是可以的

echo 'Ubuntu Linux release 16.04' > /etc/ubuntu-release

八、安装Oracle

进入/home/database文件夹,为runInstaller文件赋予可执行权限

chmod 777 runInstaller

此外,因为我没有特意创建一个oracle用户,所以还是以samuel这个用户来执行oracle。

sudo chown -R samuel:root /home/samuel/tools/oracle11g

# 官方文档是755

sudo chmod 777 -R /home/samuel/tools/oracle11g

然后就可以开始执行安装了!

bash /home/database/runInstaller

九、可能出现的问题

Q1:安装Oracle11g时,界面乱码

Linux下安装Oracle11g,安装界面乱码问题解决方法:

解决安装时显示的是”囗囗囗囗囗囗囗囗”

解决方法:

设置 export LANG=en-US

Q2:安装到68%时的错误

一、

“Error in invoking target ‘install’ of makefile ‘/home/samuel/tools/oracle11g/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk’. “

直接contiue跳过去

二、

“make file ‘/……emagent.mk’”

解决方法:

另开一个终端,键入命令行:

sed -i 's/^\(\s*\$(MK_EMAGENT_NMECTL)\)\s*$/\1 -lnnz11/g' $ORACLE_HOME/sysman/lib/ins_emagent.mk

点击安装界面的retry,就可以继续了

三、

“Error in invoking target ‘agent nmhs’ of makefile ‘/home/dong/tools/oracle11g/product/11.2.0/dbhome_1/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

然后在图形界面点击‘Retry’就能继续安装了。

最后应该就顺利完成了,按照安装程序提示最后执行两个脚本:

一、~/tools/oralnventory/orainstRoot.sh

cef5e8daa0187f0306d00aa23f1799ce.png

二、~/oracle11g/product/11.2.0/dbhome_1/root.sh

07d776cd8deffe13b6149247b8adc651.png

至此安装成功。

十、启动

sqlplus / as sysdba

如果显示sqlplus不存在,则重启一下,就行了。

参考内容

Shadow0418:ubuntu16.04安装oracle11g

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值