转自博客:https://www.cnblogs.com/sunshine5683/archive/2018/11/13/9953672.html

Ubuntu版本:ubuntu-16.04.3-desktop-amd64
Oracle版本:linux.x64_11gR2_database

二、安装JDK

sudo apt-get update
sudo apt-get install openjdk-8-jdk

编辑profile

cd /etc
sudo vim profile

在文件中加入以下内容

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

更新

Source /etc/profile

测试下jdk是否安装成功

java -version

三、安装依赖

sudo apt-get -y install lesstif2
sudo apt-get -y install lesstif2-dev
(这两个包是32位包,需要换源安装:
su
cd /etc/apt/sources.list.d
echo "deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse" > ia32-libs-raring.list
apt update
apt-get -y install lesstif2 lesstif2-dev
)

把源换回来

rm -rf ia32-libs-raring.list
apt update

退出root账户

exit

继续安装剩下的依赖

sudo asudo 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

或者:

sudo apt-get -y install automake autotools-dev binutils bzip2 elfutils expat gawk gcc gcc-multilib g++-multilib lib32ncurses5 lib32z1 ksh less lib32z1 libaio1 libaio-dev libc6-dev libc6-dev-i386 libc6-i386 libelf-dev libltdl-dev libxm4 libodbcinstq4-1 libodbcinstq4-1:i386 libpth-dev libpthread-stubs0-dev libstdc++5 make openssh-server rlwrap rpm sysstat unixodbc unixodbc-dev unzip x11-utils zlibc

安装这个需要点时间(这是一个吐血的历程,原本是一个一个安装,还要查看安装结果。本人将这一堆依赖处理成了一个语句,这些包亲测没问题)

四、配置环境

用下面的命令查询系统的参数

/sbin/sysctl -a | grep sem
/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
/sbin/sysctl -a | grep shmall
/sbin/sysctl -a | grep shmmax
/sbin/sysctl -a | grep shmmni

将查询出来的参数填入下面对应的地方
在/etc/sysctl.conf中追加的文件内容为:
Ubuntu 16.04安装Oracle 11gR教程

更新内核参数

cd /etc
sudo sysctl –p

添加用户的内核限制(我的用户名是zzw)

cd security/
sudo vim limits.conf

将以下内容加到文件后面

zzw soft nproc 2047
zzw hard nproc 16384
zzw soft nofile 1024
zzw hard nofile 65536
zzw soft stack 10240

首先检查/etc/pam.d/login
增加一行(有了就不用增加了):

session required pam_limits.so 

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

session required pam_limits.so

Ubuntu 16.04安装Oracle 11gR教程

创建文件夹

mkdir /home/rogear/tools
mkdir /home/rogear/tools/oracle11g

配置oracle的环境变量

sudo vim /etc/profile

将下面内容加到文件后面

export ORACLE_BASE=/home/rogear/tools/oracle11g
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export ORACLE_UNQNAME=orcl
export NLS_LANG=.AL32UTF8
export PATH=${PATH}:${ORACLE_HOME}/bin/:$ORACLE_HOME/lib64

更新参数

source /etc/profile

欺骗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/

切换root账户

su
echo 'Red Hat Linux release 5' > /etc/RedHat-release
exit

五、正式安装

前期条件准备好了,接下来正式开始安装oracle。将oracle的安装包下载到oracle11g文件夹下,包是官网下的,这里不提供下载地址
Ubuntu 16.04安装Oracle 11gR教程

解压压缩包

unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
cd database/
./runInstaller

Ubuntu 16.04安装Oracle 11gR教程
Ubuntu 16.04安装Oracle 11gR教程
Ubuntu 16.04安装Oracle 11gR教程
Ubuntu 16.04安装Oracle 11gR教程

注意前三项的安装路径选择!!!
如果提示容量不足,则删除原来错误的地址文件,重新启动!
Ubuntu 16.04安装Oracle 11gR教程
Ubuntu 16.04安装Oracle 11gR教程

上面这个说密码不符合规范,不用管,直接过
Ubuntu 16.04安装Oracle 11gR教程
Ubuntu 16.04安装Oracle 11gR教程
Ubuntu 16.04安装Oracle 11gR教程

这个地方有个东西需要跑一下,新开一个teminal找到那个东西跑一下
Ubuntu 16.04安装Oracle 11gR教程
Ubuntu 16.04安装Oracle 11gR教程
Ubuntu 16.04安装Oracle 11gR教程
Ubuntu 16.04安装Oracle 11gR教程
Ubuntu 16.04安装Oracle 11gR教程
Ubuntu 16.04安装Oracle 11gR教程
Ubuntu 16.04安装Oracle 11gR教程

新开一个teminal(ctrl+alt+t)

cd /home/rogear/tools/oracle11g/product/11.2.0/dbhome_1/sysman/lib/
gedit ins_emagent.mk

用查询功能(ctrl+f)找到下面这个东西($(SYSMANBIN)emd),然后改一下
Ubuntu 16.04安装Oracle 11gR教程
Ubuntu 16.04安装Oracle 11gR教程

保存后退出,然后点击Retry通过。
Ubuntu 16.04安装Oracle 11gR教程

新开teminal,输入下面4个命令

sudo sed -i 's/^\(TNSLSNR_LINKLINE.*\$(TNSLSNR_OFILES)\) \(\$(LINKTTLIBS)\)/\1 -Wl,--no-as-needed \2/g' /home/zzw/tools/oracle11g/product/11.2.0/dbhome_1/network/lib/env_network.mk
 
sudo sed -i 's/^\(ORACLE_LINKLINE.*\$(ORACLE_LINKER)\) \(\$(PL_FLAGS)\)/\1 -Wl,--no-as-needed \2/g' /home/zzw/tools/oracle11g/product/11.2.0/dbhome_1/rdbms/lib/env_rdbms.mk
 
sudo sed -i 's/^\(\$LD \$LD_RUNTIME\) \(\$LD_OPT\)/\1 -Wl,--no-as-needed \2/g' /home/zzw/tools/oracle11g/product/11.2.0/dbhome_1/bin/genorasdksh
 
sudo sed -i 's/^\(\s*\)\(\$(OCRLIBS_DEFAULT)\)/\1 -Wl,--no-as-needed \2/g' /home/zzw/tools/oracle11g/product/11.2.0/dbhome_1/srvm/lib/ins_srvm.mk

Ubuntu 16.04安装Oracle 11gR教程
Ubuntu 16.04安装Oracle 11gR教程
Ubuntu 16.04安装Oracle 11gR教程
Ubuntu 16.04安装Oracle 11gR教程
Ubuntu 16.04安装Oracle 11gR教程
Ubuntu 16.04安装Oracle 11gR教程
Ubuntu 16.04安装Oracle 11gR教程

到这里oracle就安装完了,接下来就可以测试了

六、测试

启动oracle
检查参数

echo $ORACLE_BASE
echo $ORACLE_HOME
echo $PATH

如果不对的话需要设置下
Ubuntu 16.04安装Oracle 11gR教程

启动监听

lsnrctl start

Ubuntu 16.04安装Oracle 11gR教程

启动服务

sqlplus /nolog
conn / as sysdba
startup

Ubuntu 16.04安装Oracle 11gR教程

做个小测试
Ubuntu 16.04安装Oracle 11gR教程

到这里说明oracle可以用了

关闭oracle
shutdown
(不带参数的shutdown很长时间都没反应,我用的shutdown immediate,还可以用其它参数,如下: shutdown normal:不允许新的连接、等��会话结束、等待事务结束、做一个检查点并关闭数据文件。启动时不需要实例恢复。  shutdown transactional:不允许新的连接、不等待会话结束、等待事务结束、做一个检查点并关闭数据文件。启动时不需要实例恢复。  shutdown immediate:不允许新的连接、不等待会话结束、不等待事务结束、做一个检查点并关闭数据文件。没有结束的事务是自动rollback的。启动时不需要实例恢复。  shutdown abort:不允许新的连接、不等待会话结束、不等待事务结束、不做检查点且没有关闭数据文件。启动时自动进行实例恢复。  
quit退出
Ubuntu 16.04安装Oracle 11gR教程

关闭监听
Ubuntu 16.04安装Oracle 11gR教程

七、外部连接数据库

先按照上面的方法启动oracle
查看虚拟机的ip地址
ifconfig
Ubuntu 16.04安装Oracle 11gR教程

在宿主机用cmd测试能否ping通
Ubuntu 16.04安装Oracle 11gR教程

用plsql连接
Ubuntu 16.04安装Oracle 11gR教程

报错:
Ubuntu 16.04安装Oracle 11gR教程

到ORACLE_HOME 下去修改listener.ora和tnsnames.ora
Ubuntu 16.04安装Oracle 11gR教程

(先做好备份)
将localhost改为虚拟机的ip地址

vim listener.ora

Ubuntu 16.04安装Oracle 11gR教程
Ubuntu 16.04安装Oracle 11gR教程

vim tnsnames.ora
Ubuntu 16.04安装Oracle 11gR教程
Ubuntu 16.04安装Oracle 11gR教程

重启oracle服务和监听
Ubuntu 16.04安装Oracle 11gR教程

启动监听
Ubuntu 16.04安装Oracle 11gR教程

启动服务
Ubuntu 16.04安装Oracle 11gR教程

给scott解锁
Ubuntu 16.04安装Oracle 11gR教程
Ubuntu 16.04安装Oracle 11gR教程

进入该scott秘密啊的界面
Ubuntu 16.04安装Oracle 11gR教程

建议还是用tiger作为密码,不然以后自己忘了就有点傻了
Ubuntu 16.04安装Oracle 11gR教程

system账户我也是解锁和重新设置密码以后才登陆成功的
Ubuntu 16.04安装Oracle 11gR教程
Ubuntu 16.04安装Oracle 11gR教程

相关文章:

  • 2022-01-18
  • 2021-11-21
  • 2021-11-03
  • 2021-09-24
  • 2021-12-08
  • 2021-08-04
  • 2021-07-12
猜你喜欢
  • 2022-12-23
  • 2021-05-12
  • 2022-01-02
  • 2022-01-02
  • 2021-06-01
  • 2021-08-07
相关资源
相似解决方案