0


Ubuntu 安装 Oracle11g 系列(3) 最全教程 亲测有效

安装oracle11g

过往教程

1、VMware安装Ubuntu20

2、配置安装前环境

提前下载需要用到的包

前面教程已有ubuntu镜像和JDK下载地址,这里就只给出本次教程会用到的

1、安装以及中需要用到的一些依赖包

csdn资源

https://download.csdn.net/download/m0_59139771/87670418

百度网盘

链接:https://pan.baidu.com/s/1ol0BGJ6sBHYlLQ4RUrskBw?pwd=yyds 
提取码:yyds 
2、oracle11g(一共两个包)
链接:https://pan.baidu.com/s/1T0aLC-ibbbhro3uof4x2iA?pwd=yyds 
提取码:yyds 
链接:https://pan.baidu.com/s/1KN0zBr1JNbM41-dt8MPidw?pwd=yyds 
提取码:yyds 

安装依赖包

1、建议当前源地址是前面跟着步骤换成国内源后进行,例如阿里源

第一组依赖包(有的包版本原因,可能不会安装成功,忽略继续下一步)

多行粘贴运行可能会不全,最好一行一行运行安装,或者粘贴到撰写窗口中选择逐行发送

在这里插入图片描述

sudoapt-getinstall automake -y
sudoapt-getinstall autotools-dev -y
sudoapt-getinstall binutils -y
sudoapt-getinstallbzip2 -y
sudoapt-getinstall elfutils -y
sudoapt-getinstall expat -y
sudoapt-getinstallgawk -y
sudoapt-getinstall gcc -y
sudoapt-getinstall gcc-multilib -y
sudoapt-getinstall g++-multilib -y
sudoapt-getinstall ia32-libs -y
sudoapt-getinstall ksh -y
sudoapt-getinstallless -y
sudoapt-getinstall lesstif2 -y
sudoapt-getinstall lesstif2-dev -y
sudoapt-getinstall lib32z1 -y
sudoapt-getinstall libaio1 -y
sudoapt-getinstall libaio-dev -y
sudoapt-getinstall libc6-dev -y
sudoapt-getinstall libc6-dev-i386 -y
sudoapt-getinstall libc6-i386 -y
sudoapt-getinstall libelf-dev -y
sudoapt-getinstall libltdl-dev -y
sudoapt-getinstall libmotif4 -y
sudoapt-getinstall libodbcinstq4-1 libodbcinstq4-1:i386 -y
sudoapt-getinstall libpth-dev -y
sudoapt-getinstall libpthread-stubs0 -y
sudoapt-getinstall libpthread-stubs0-dev -y
sudoapt-getinstall libstdc++5 -y
sudoapt-getinstall lsb-cxx -y
sudoapt-getinstallmake -y
sudoapt-getinstall openssh-server -y
sudoapt-getinstall pdksh -y
sudoapt-getinstall rlwrap -y
sudoapt-getinstallrpm -y
sudoapt-getinstall sysstat -y
sudoapt-getinstall unixodbc -y
sudoapt-getinstall unixodbc-dev -y
sudoapt-getinstallunzip -y
sudoapt-getinstall x11-utils -y
sudoapt-getinstall zlibc -y

2、都安装完成后,使用以下命令检查一下主要的依赖是否安装成功

gcc -v
g++ -v

如果都是

gcc version 9.4.0

(20.04版本的),说明这一步成功,在后面另外一篇文章会专门附上在这一步成功和失败的所有依赖包,以供参考

更新源文件

1、源地址文件记得备份备份备份!!!

/etc/apt/sources.list

源文件的内容替换成以下源,用

xftp

打开文件直接改方便点

vim /etc/apt/sources.list
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted
deb http://mirrors.aliyun.com/ubuntu/ bionic universe
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates universe
deb http://mirrors.aliyun.com/ubuntu/ bionic multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted
deb http://mirrors.aliyun.com/ubuntu/ bionic-security universe
deb http://mirrors.aliyun.com/ubuntu/ bionic-security multiverse

2、替换完后执行一下命令进行更新:

sudoapt-get update

3、等待更新完成

在这里插入图片描述

继续安装依赖包

1、然后继续安装以下依赖包

这里下面的依赖,需要先将上面的依赖安装完成后,再进行换源,再继续进行安装(主要是

g++

的安装在上面有它需要的依赖包)

sudoapt-get -y install autoconf
sudoapt-get -y installsshsudoapt-get -y installwgetsudoapt-get -y installmansudoapt-get -y installcurlsudoapt-get -y installftpsudoapt-get -y install telnet
sudoapt-get -y install net-tools
sudoapt-get -y installstracesudoapt-get -y install psmisc
sudoapt-get -y install tree
sudoapt-get -y installmakesudoapt-get -y install cmake
sudoapt-get -y install *x11*
sudoapt-get -y install *vnc*
sudoapt-get -y install tigervnc-standalone-server
sudoapt-get -y install tigervnc-common
sudoapt-get -y install libaio1
sudoapt-get -y install libaio-dev
sudoapt-get -y install gcc-4.8
sudoapt-get -y install g++-4.8
sudoapt-get -y install cpp-4.8
sudoapt-get -y install libstdc++5
sudoapt-get -y install ibc6-dev
sudoapt-get -y install sysstat
sudoapt-get -y install xauth
sudoapt-get -y install binutils
sudoapt-get -y install readline*
sudoapt-get -y install rlwrap

2、安装低版本

libaio

,必须

dpkg -l |grep libaio
sudo dpkg -P libaio-dev
sudo dpkg -P libaio1

3、下面3个包(

multiarch-support_2.28-10+deb10u1_amd64.deb

libaio1_0.3.110-3_amd64.deb

libaio-dev_0.3.110-3_amd64.deb

),通过

xftp

上传,然后进入所在目录运行安装命令

sudo dpkg -i multiarch-support_2.28-10+deb10u1_amd64.deb
sudo dpkg -i libaio1_0.3.110-3_amd64.deb
sudo dpkg -i libaio-dev_0.3.110-3_amd64.deb

4、

gcc

g++

降级

先用

gcc -v

g++ -v

查出当前版本,然后修改对应版本运行以下命令,

sudomv /usr/bin/gcc /usr/bin/gcc-9.4.0
sudomv /usr/bin/g++ /usr/bin/g++-9.4.0
sudomv /usr/bin/cpp /usr/bin/cpp-9.4.0

sudoln -sf /usr/bin/g++-4.8 /usr/bin/g++
sudoln -sf /usr/bin/gcc-4.8 /usr/bin/gcc
sudoln -sf /usr/bin/cpp-4.8 /usr/bin/cpp

sudochmod755 /usr/bin/g++
sudochmod755 /usr/bin/gcc
sudochmod755 /usr/bin/cpp

gcc -v
g++ -v
dpkg -l |grep libstdc

当再次运行查看

gcc

版本命令时发现,版本为

4.8.5

时成功

5、添加路径

sudomkdir  /usr/lib64

6、添加软链接

sudoln -sf /bin/bash /bin/sh
sudoln -s  /etc /etc/rc.d
sudoln -sf /usr/lib/x86_64-linux-gnu /usr/lib64
sudoln -sf /usr/lib/x86_64-linux-gnu/libc_nonshared.a /usr/lib64/
sudoln -sf /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib64/
sudoln -sf /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /lib64/
sudoln -sf /lib/x86_64-linux-gnu/libgcc_s.so.1  /lib64/
sudoln -sf /usr/lib/x86_64-linux-gnu/*.o /usr/lib64/

7、进入

xfpt

上传到的目录,拷贝

libpthread_nonshared.a

/usr/lib64/
sudocp libpthread_nonshared.a /usr/lib64/
sudochmod775 /usr/lib64/libpthread_nonshared.a

8、设置英文环境

sudosh -c 'echo "export LANG=en_US.UTF-8" >> /root/.profile'sudocat /root/.profile

9、配置用户和组

sudo /usr/sbin/groupadd -g 60001 oinstall
sudo /usr/sbin/groupadd -g 60002 dba
sudo /usr/sbin/groupadd -g 60003 oper
sudouseradd -d /home/oracle -m -s /bin/bash -g oinstall -G dba,oper oracle
sudopasswd oracle

10、为

oracle

用户添加

sudo

免密权限

sudosh -c 'echo "oracle ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers'

解压oracle11g

1、将

oracle11g

的两个包通过

xftp

上传到想要安装到的文件夹

2、然后解压

unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip

解压完成后,会生成一个database的目录

在这里插入图片描述

3、检查系统变量(可不检查,直接用下面的)

sudo /sbin/sysctl -a |grep sem 
sudo /sbin/sysctl -a |grep shm 
sudo /sbin/sysctl -a |grep file-max 
sudo /sbin/sysctl -a |grep aio-max 
sudo /sbin/sysctl -a |grep ip_local_port_range 
sudo /sbin/sysctl -a |grep rmem_default 
sudo /sbin/sysctl -a |grep rmem_max 
sudo /sbin/sysctl -a |grep wmem_default 
sudo /sbin/sysctl -a |grep wmem_max 

4、然后根据上面命令中得到的参数值在

/etc/sysctl.conf

中增加对应数据,可以打开两个终端,这样方便填写

sudovim /etc/sysctl.conf

5、把

sysctl.conf

中的以下内容用查得的值填上(可不检查,直接用下面那一块的)

fs.aio-max-nr =  
fs.file-max =  
kernel.shmall = 
kernel.shmmax = 
kernel.shmmni =  
kernel.sem =  
net.ipv4.ip_local_port_range =  
net.core.rmem_default =  
net.core.rmem_max =  
net.core.wmem_default =  
net.core.wmem_max = 

下面这一块直接用

fs.aio-max-nr =1048576
fs.file-max =6815744
kernel.sem =25032000100128
net.ipv4.ip_local_port_range =900065500
net.core.rmem_default =262144
net.core.rmem_max =4194304
net.core.wmem_default =262144
net.core.wmem_max =1048586
kernel.panic_on_oops =1
kernel.shmmax =5033164800     
kernel.shmall =2097152
kernel.shmmni =4096
vm.nr_hugepages =2000

6、运行一下命令更新内核参数

sudo sysctl -p

7、添加对当前用户的内核限制在

/etc/security/limits.conf

文件中增加以下数据(

XXX

为你当前用户名)

vim /etc/security/limits.conf
XXX  soft nproc 2047
XXX  hard nproc 16384 
XXX  soft nofile 1024 
XXX  hard nofile 65536 
XXX  soft stack 10240

下面这块直接用

oracle soft nproc 16384
oracle hard nproc 16384
oracle soft nofile 16384
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768#oracle hard memlock 6000000#oracle soft memlock 6000000

8、运行命令检查

vim /etc/pam.d/login

,增加以下行(一般在78行,有了就不用增加了)

session required pam_limits.so

9、运行命令检查

vim /etc/pam.d/su

,没有以下行就自己加上(一般在52行)

session required pam_limits.so

10、关闭透明大页和

NUMA

功能

sudosed -ie 's/quiet/quiet transparent_hugepage=never numa=off/g' /etc/default/grub

cat /etc/default/grub

sudogrub-mkconfig -o /etc/grub2.cfg

11、关闭防火墙

sudo ufw disable

12、配置

.bashrc
sudosh -c 'echo "export LC_ALL=C" >> /home/oracle/.bashrc'cat /home/oracle/.bashrc

配置oracle的环境变量(可安装完成后配置)

1、打开

.profile

文件,为文件中添加以下行

cd ~
vim .profile
exportORACLE_BASE=/home/oracle/app/oracle
exportORACLE_HOME=${ORACLE_BASE}/product/11.2.0/dbhome_1
exportORACLE_SID=orcl
exportORACLE_UNQNAME=orcl
exportNLS_LANG="Simplified Chinese ZHS16GBK"exportPATH=${PATH}:${ORACLE_HOME}/bin/:$ORACLE_HOME/lib64;exportLD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${ORACLE_HOME}/lib

2、首先检查一下

oracle

的环境变量是否是你设定的

echo$ORACLE_BASEecho$ORACLE_HOMEecho$PATH

3、如果不是,重新开启一个终端,应该就可以了。或者执行以下命令

source ~/.profile

这个命令的作用是使你设的环境变量生效

启动oracle安装程序开始安装

1、回到虚拟机的系统中,打开终端

su root

xhost +

exportLANG=en_US.UTF-8

env|grep ORACLE

exportCV_ASSUME_DISTID=RHEL7.6

su oracle

2、进入你刚刚解压缩

database

的那个路径位置

cd /usr/local/oracle/database

3、设置英语

exportLANG=US

4、启动安装程序

./runInstaller -jreLoc /usr/local/java/jdk1.8.0_351

然后等待程序启动,出现界面

开始安装

1、取消勾选,下一步

在这里插入图片描述

2、为了方便,选择第一个,安装并配置

在这里插入图片描述

3、选择Server Class,继续下一步

在这里插入图片描述

4、选择单实例安装,下一步

在这里插入图片描述

5、选择高级安装,然后下一步

在这里插入图片描述

6、没有中文可选,就选英文,下一步

在这里插入图片描述

7、选择第一个企业版,下一步

在这里插入图片描述

8、检查目录是否正确,和你配置的环境变量有关,一般默认

在这里插入图片描述

9、一般默认,下一步

在这里插入图片描述

10、下一步

在这里插入图片描述

11、指定数据库标识,全局数据库名和

oracle

数据标识尽量一样

在这里插入图片描述

12、四个选项,建议配置如下

点击

Character sets

在这里插入图片描述

选择

Simplified Chinese ZHS16GBK

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

13、默认

在这里插入图片描述

14、默认选择,下一步

在这里插入图片描述

15、是否启用自动备份,测试环境就不启用了

在这里插入图片描述

16、设置密码,根据自己习惯,第二个选择为所有用户均采用一个口令

在这里插入图片描述

17、选择组,默认

在这里插入图片描述

18、先决条件检查,这一步会检查出很多问题,可以跳过,也可以找这些

rpm

包来安装
其实我们看的时候会发现,这些

rpm

包都是安装了的,但是版本不对,是因为64位和32位的问题

在这里插入图片描述

19、开始安装

在这里插入图片描述

20、等待安装

在这里插入图片描述

21、68%,大部分情况都会报错,甚至好几个错误

在这里插入图片描述

在这里插入图片描述

接下来解决68%报错

卡在68%时,解决报错

修改后,都点

retry

,只有

rdbms/lib/ins_rdbms.mk

这个文件报错点

contiue

(

retry

不行就

contiue

)

下面的报错,最好都

vim

进入文件去改

命令模式下,搜索
:/要搜索的字符串
1、第一个错误
Error in invoking target 'install' of makefile'/home/oracle/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk'. See '/home/oracle/app/oraInventory/logs/installActions2020-01-02_11-43-42AM.log' for details.

有可能是

glibc

的版本过高所致(高于

2.14

),解决办法:下载安装

glibc-static-2.17-292.el7.x86_64.rpm

若安装需要依赖时可强制安装

 --force --nodeps

,先进入使用

xftp

放到的文件夹

rpm -ivh glibc-static-2.17-292.el7.x86_64.rpm --force --nodeps

另起一个终端,修改文件

vim /home/oracle/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk
ctxhx: $(CTXHXOBJ)$(LINK_CTXHX)$(CTXHXOBJ)$(INSO_LINK)
改为:

ctxhx: $(CTXHXOBJ)
        -static $(LINK_CTXHX)$(CTXHXOBJ)$(INSO_LINK) /usr/lib64/stdc.a

在这里插入图片描述

2、第二个错误
#'agent nmhs'

,修改

ins_emagent.mk

190行,在

$(MK_EMAGENT_NMECTL)

后添加

-lnnz11
vim /home/oracle/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk

在这里插入图片描述

3、其余错误

下面的错误可

vim

进入对应文件修改,也可直接运行下面的命令进行修改

第三个--------
# 'all_no_orcl'的kfod问题,修改env_rdbms.mk的KFOD_LINKLINE变量(2913行),添加 -Wl,--no-as-neededsudosed -i "s/KFOD_LINKLINE=\$(LINK) \$(S0MAIN)/& -Wl,--no-as-needed/g" /home/oracle/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/env_rdbms.mk

第四个-----------
# 'all_no_orcl'的amdu问题,修改env_rdbms.mk的AMDU_LINKLINE变量(2922行),添加 -Wl,--no-as-neededsudosed -i "s/AMDU_LINKLINE=\$(LINK) \$(S0MAIN)/& -Wl,--no-as-needed/g" /home/oracle/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/env_rdbms.mk

第五个------------
# 'all_no_orcl'的genorasdksh问题,修改genorasdksh (289行),添加 -Wl,--no-as-neededsudosed -i "s/\$LD \$LD_RUNTIME \$LD_OPT/& -Wl,--no-as-needed/g" /home/oracle/app/oracle/product/11.2.0/dbhome_1/bin/genorasdksh

第六个------------
# 'all_no_orcl'的renamedg问题,修改env_rdbms.mk的KFNDG_LINKLINE变量(2918行),添加 -Wl,--no-as-neededsudosed -i "s/KFNDG_LINKLINE=\$(LINK) \$(S0MAIN)/& -Wl,--no-as-needed/g" /home/oracle/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/env_rdbms.mk

第七个------------
这个文件中没有找到GETCRSHOME_LINKLINE
# 'install'的ins_srvm.mk问题,修改env_srvm.mk(ins_srvm.mk)的GETCRSHOME_LINKLINE变量(1899行),添加 -Wl,--no-as-neededsudosed -i "s/GETCRSHOME_LINKLINE=\$(LINK)/& -Wl,--no-as-needed/g" /home/oracle/app/oracle/product/11.2.0/dbhome_1/srvm/lib/env_srvm.mk

第八个------------
# 'install'的ins_net_server.mk问题,修改env_network.mk的TNSLSNR_LINKLINE变量(2232行),添加 -Wl,--no-as-neededsudosed -i "s/TNSLSNR_LINKLINE=\$(LINK)/& -Wl,--no-as-needed/g" /home/oracle/app/oracle/product/11.2.0/dbhome_1/network/lib/env_network.mk

第九个-------------
# 'irman ioracle'的ins_rdbms.mk问题,修改env_rdbms.mk的ORACLE_LINKLINE变量(2759行),添加 -Wl,--no-as-neededsudosed -i "s/ORACLE_LINKLINE=\$(ORACLE_LINKER) \$(PL_FLAGS)/& -Wl,--no-as-needed/g" /home/oracle/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/env_rdbms.mk
4、卡在68%错误解决

成功闯过68%错误这关,继续等待安装

在这里插入图片描述

在这里插入图片描述

如下,说明已经安装成功

在这里插入图片描述

还要在终端中运行如下的命令

在这里插入图片描述

/home/oracle/app/oraInventory/orainstRoot.sh
/home/oracle/app/oracle/product/11.2.0/dbhome_1/root.sh

完成关闭

在这里插入图片描述

最后源地址文件记得还原回来(备份备份备份)

标签: ubuntu linux oracle

本文转载自: https://blog.csdn.net/m0_59139771/article/details/130093731
版权归原作者 万物不及遇见 所有, 如有侵权,请联系我们删除。

“Ubuntu 安装 Oracle11g 系列(3) 最全教程 亲测有效”的评论:

还没有评论