我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

安装oracle11g

过往教程

VMware安装Ubuntu20

配置安装前环境

提前下载需要用到的包

前面教程已有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 

安装依赖包

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

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

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

在这里插入图片描述

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

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

gcc -vg++ -v

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

更新源文件

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

/etc/apt/sources.list源文件的内容替换成以下源,用xftp打开文件直接改方便点

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

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

sudo apt-get update

等待更新完成

在这里插入图片描述

继续安装依赖包

然后继续安装以下依赖包

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

sudo apt-get -y install autoconfsudo apt-get -y install sshsudo apt-get -y install wgetsudo apt-get -y install mansudo apt-get -y install curlsudo apt-get -y install ftpsudo apt-get -y install telnetsudo apt-get -y install net-toolssudo apt-get -y install stracesudo apt-get -y install psmiscsudo apt-get -y install treesudo apt-get -y install makesudo apt-get -y install cmakesudo apt-get -y install *x11*sudo apt-get -y install *vnc*sudo apt-get -y install tigervnc-standalone-serversudo apt-get -y install tigervnc-commonsudo apt-get -y install libaio1sudo apt-get -y install libaio-devsudo apt-get -y install gcc-4.8sudo apt-get -y install g++-4.8sudo apt-get -y install cpp-4.8sudo apt-get -y install libstdc++5sudo apt-get -y install ibc6-devsudo apt-get -y install sysstatsudo apt-get -y install xauthsudo apt-get -y install binutilssudo apt-get -y install readline*sudo apt-get -y install rlwrap

安装低版本libaio,必须

dpkg -l | grep libaiosudo dpkg -P libaio-devsudo dpkg -P libaio1

下面3个包(multiarch-support_2.28-10+deb10u1_amd64.deblibaio1_0.3.110-3_amd64.deblibaio-dev_0.3.110-3_amd64.deb),通过xftp上传,然后进入所在目录运行安装命令

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

gccg++降级

先用gcc -vg++ -v查出当前版本,然后修改对应版本运行以下命令,

sudo mv /usr/bin/gcc /usr/bin/gcc-9.4.0sudo mv /usr/bin/g++ /usr/bin/g++-9.4.0sudo mv /usr/bin/cpp /usr/bin/cpp-9.4.0sudo ln -sf /usr/bin/g++-4.8 /usr/bin/g++sudo ln -sf /usr/bin/gcc-4.8 /usr/bin/gccsudo ln -sf /usr/bin/cpp-4.8 /usr/bin/cppsudo chmod 755 /usr/bin/g++sudo chmod 755 /usr/bin/gccsudo chmod 755 /usr/bin/cppgcc -vg++ -vdpkg -l | grep libstdc

当再次运行查看gcc版本命令时发现,版本为4.8.5时成功

添加路径

sudo mkdir  /usr/lib64

添加软链接

sudo ln -sf /bin/bash /bin/shsudo ln -s  /etc /etc/rc.dsudo ln -sf /usr/lib/x86_64-linux-gnu /usr/lib64sudo ln -sf /usr/lib/x86_64-linux-gnu/libc_nonshared.a /usr/lib64/sudo ln -sf /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib64/sudo ln -sf /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /lib64/sudo ln -sf /lib/x86_64-linux-gnu/libgcc_s.so.1  /lib64/sudo ln -sf /usr/lib/x86_64-linux-gnu/*.o /usr/lib64/

进入xfpt上传到的目录,拷贝libpthread_nonshared.a/usr/lib64/

sudo cp libpthread_nonshared.a /usr/lib64/sudo chmod 775 /usr/lib64/libpthread_nonshared.a

设置英文环境

sudo sh -c 'echo "export LANG=en_US.UTF-8" >> /root/.profile'sudo cat /root/.profile

配置用户和组

sudo /usr/sbin/groupadd -g 60001 oinstallsudo /usr/sbin/groupadd -g 60002 dbasudo /usr/sbin/groupadd -g 60003 opersudo useradd -d /home/oracle -m -s /bin/bash -g oinstall -G dba,oper oraclesudo passwd oracle

oracle用户添加sudo免密权限

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

解压oracle11g

oracle11g的两个包通过xftp上传到想要安装到的文件夹

然后解压

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

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

在这里插入图片描述

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

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 

然后根据上面命令中得到的参数值在/etc/sysctl.conf中增加对应数据,可以打开两个终端,这样方便填写

sudo vim /etc/sysctl.conf

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 = 1048576fs.file-max = 6815744kernel.sem = 250 32000 100 128net.ipv4.ip_local_port_range = 9000 65500net.core.rmem_default = 262144net.core.rmem_max = 4194304net.core.wmem_default = 262144net.core.wmem_max = 1048586kernel.panic_on_oops = 1kernel.shmmax = 5033164800     kernel.shmall = 2097152kernel.shmmni = 4096vm.nr_hugepages = 2000

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

sudo sysctl -p

添加对当前用户的内核限制在 /etc/security/limits.conf 文件中增加以下数据(XXX为你当前用户名)

vim /etc/security/limits.conf
XXX  soft nproc 2047XXX  hard nproc 16384 XXX  soft nofile 1024 XXX  hard nofile 65536 XXX  soft stack 10240下面这块直接用oracle soft nproc 16384oracle hard nproc 16384oracle soft nofile 16384oracle hard nofile 65536oracle soft stack 10240oracle hard stack 32768#oracle hard memlock 6000000#oracle soft memlock 6000000

运行命令检查vim /etc/pam.d/login,增加以下行(一般在78行,有了就不用增加了)

session required pam_limits.so

运行命令检查vim /etc/pam.d/su,没有以下行就自己加上(一般在52行)

session required pam_limits.so

关闭透明大页和NUMA功能

sudo sed -ie 's/quiet/quiet transparent_hugepage=never numa=off/g' /etc/default/grubcat /etc/default/grubsudo grub-mkconfig -o /etc/grub2.cfg

关闭防火墙

sudo ufw disable

配置.bashrc

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

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

打开.profile文件,为文件中添加以下行

cd ~vim .profile
export ORACLE_BASE=/home/oracle/app/oracleexport ORACLE_HOME=${ORACLE_BASE}/product/11.2.0/dbhome_1export ORACLE_SID=orclexport ORACLE_UNQNAME=orclexport NLS_LANG="Simplified Chinese ZHS16GBK"export PATH=${PATH}:${ORACLE_HOME}/bin/:$ORACLE_HOME/lib64;export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${ORACLE_HOME}/lib

首先检查一下oracle的环境变量是否是你设定的

echo $ORACLE_BASE echo $ORACLE_HOME echo $PATH

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

source ~/.profile

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

启动oracle安装程序开始安装

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

su rootxhost +export LANG=en_US.UTF-8env|grep ORACLEexport CV_ASSUME_DISTID=RHEL7.6su oracle

进入你刚刚解压缩database的那个路径位置

cd /usr/local/oracle/database

设置英语

export LANG=US

启动安装程序

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

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

开始安装

取消勾选,下一步

在这里插入图片描述

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

在这里插入图片描述

选择Server Class,继续下一步

在这里插入图片描述

选择单实例安装,下一步

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

一般默认,下一步

在这里插入图片描述

下一步

在这里插入图片描述

指定数据库标识,全局数据库名和oracle数据标识尽量一样

在这里插入图片描述

四个选项,建议配置如下

点击Character sets

在这里插入图片描述

选择Simplified Chinese ZHS16GBK

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

默认

在这里插入图片描述

默认选择,下一步

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

选择组,默认

在这里插入图片描述

先决条件检查,这一步会检查出很多问题,可以跳过,也可以找这些rpm包来安装
其实我们看的时候会发现,这些rpm包都是安装了的,但是版本不对,是因为64位和32位的问题

在这里插入图片描述

开始安装

在这里插入图片描述

等待安装

在这里插入图片描述

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.mk190行,在$(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-neededsudo sed -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-neededsudo sed -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-neededsudo sed -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-neededsudo sed -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-neededsudo sed -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-neededsudo sed -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-neededsudo sed -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

完成关闭

在这里插入图片描述

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

来源地址:https://blog.csdn.net/m0_59139771/article/details/130093731

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Linux系统安装MySQL8.0版本详细教程【亲测有效】

首先官网下载安装包:https://downloads.mysql.com/archives/community/ 一、上传到安装服务器 二、解压 tar -xvf mysql-8.0.31-linux-glibc2.12-x86_64
2023-08-16

最新Navicat 16  Mac版安装永久激活教程(亲测有效)

这篇文章主要介绍了最新Navicat 16  Mac版安装永久激活教程(亲测有效),本文通过图文并茂的形式给大家介绍的非常详细,对Navicat 16 永久激活教程感兴趣的朋友一起看看吧
2022-11-13

编程热搜

目录