超详细centos7安装Oracle11g(图文结合)

超详细centos7安装Oracle11g(图文结合)

前言

找了一堆资料跟着照做,总是踩坑,总结一篇我自己的安装流程,图文结合版的,测试可安装成功。


1.建立oracle用户和用户组

在Linux中创建名为oinstall的用户组

groupadd oinstall

创建dba用户组

groupadd dba

创建oper用户组

groupadd oper

为dba和oper用户组创建oracle用户
-g 主用户组
-G 附加组

useradd -g oinstall -G dba,oper oracle

将oracle用户的密码设置为123456(密码自己定)

echo "123456"|passwd oracle –stdin

建立oracle用户和用户组的截图在这里插入图片描述

2.为Oracle的安装创建相关目录

提示:安装位置放下面:
创建安装oracle的安装目录

mkdir -p /home/app/oracle/product/11.2.0/db_1

改变属主和属组

chown -R oracle:oinstall /home/app

为文件夹授权

chmod -R 775 /home/app

在这里插入图片描述
提示:安装包放下面:

创建目录

mkdir -p /usr/oracle    

更改属主和属组

chown -R oracle:oinstall /usr/oracle  

更改目录权限

 chmod -R 755 /usr/oracle/

3.优化OS内核参数

 vi /etc/sysctl.conf

添加以下内容

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
#kernel.shmmax 参数设置为物理内存的一半
kernel.shmmax = 1200000000
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576

保存并退出后,需要使使参数生效

sysctl –p

4.限制oracle用户的shell权限

为了优化性能,需要添加oracle用户的限制参数

vi /etc/security/limits.conf 

在文件末尾添加下面四行

#设置进程数软限制
oracle soft nproc 2047
#设置进程数硬限制
oracle hard nproc 16384
#设置文件数软限制
oracle soft nofile 1024
#设置文件数硬限制
oracle hard nofile 65536

进程会话限制可以采用pam_limits认证模块来实现,通过修改登录程序login的PAM设置以启用该认证

vim /etc/pam.d/login 

在文件最后添加下面一行

session required pam_limits.so

一般都是64位系统,64位系统需要设置为/lib64/security/pam_limits.so 否则重启服务器后就会出现命令行无法登录,但是通过桌面方式能登录的情况

session required /lib64/security/pam_limits.so

查位数的方法

getconf LONG_BIT

使参数生效

source /etc/profile

5.为Oracle用户添加Oracle环境变量

登录Oracle用户

su – oracle

修改.bash_profile文件

vi .bash_profile

添加以下内容

ORACLE_BASE=/home/app/oracle #这个地方根据自己的目录来,看仔细
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
PATH=$PATH:$ORACLE_HOME/bin
ORACLE_SID=orcl
#NLS_LANG="SIMPLIFIED CHINESE_CHINA.UTF8"
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH
#防止Oracle安装界面乱码,先把语言环境改为英文
export LANG=en_US
if [ $USER = "oracle" ]; then
   if [ $SHELL = "/bin/ksh" ]; then
       ulimit -p 16384
       ulimit -n 65536
   else
       ulimit -u 16384 -n 65536
   fi
fi

退出后需要刷新环境变量

source .bash_profile

6.配置hostname

安装oracle时,一定要保证主机名出现在/etc/hosts中

vi /etc/hosts

添加如下内容

127.0.0.1   centos50 #这个主机名自己定

在这里插入图片描述

测试hostname

ping -c 3 centos50

在这里插入图片描述

/etc/sysconfig/network中的hostname要与/etc/hosts中的一致

vi /etc/sysconfig/network

添加如下内容

HOSTNAME=centos50

在这里插入图片描述

7.openjdk

去oracle官网下载Linux版的jdk8,然后到下载的目录执行

tar -zxvf jdk-8u201-linux-x64.tar.gz
cp -r jdk1.8.0_201 /usr/java/

打开文件配置系统变量

vi  /etc/profile

加入以下内容

export JAVA_HOME=/usr/java/jdk1.8.0_201
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin

生效

source /etc/profile

查看是否配置成功

java –version

在这里插入图片描述

8.安装依赖

提示:要联网安装的
安装oracle需要的依赖(软件)

yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*.i686 elfutils-libelf-devel gcc gcc-c++ glibc*.i686 glibc glibc-devel glibc-devel*.i686 ksh libgcc*.i686 libgcc libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.i686 libaio libaio*.i686 libaio-devel libaio-devel*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686 libXp

8.检查依赖是否安装完成

rpm -q binutils compat-libcap1 compat-libstdc++  gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel

在这里插入图片描述
注意注意:此处有坑!!!
单独执行

yum install compat-libstdc++*

在这里插入图片描述

显示已经安装过了,无须做任何处理,一些教程说可以直接忽略,不影响接下去的安装。但是!!!我这台设备不行!!!后面安装的时候直接报错了!!!
找到这个包, compat-libstdc+±33-3.2.3-72.el7.x86_64.rpm,直接命令安装

rpm -ivh compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm

在这里插入图片描述

再检查一次,都有了

在这里插入图片描述
如果遇到有其他依赖包没有安装上的,可以(https://pkgs.org/)进行查找
在这里插入图片描述
搜索到软件后,找到binary package,这是已编译好的包,也可以选择源码包Source Package。

复制这个地址,然后输入命令,就开始安装了。如果有报错的请自行百度。

rpm -ivh http://mirror.centos.org/centos/8/PowerTools/x86_64/os/Packages/elfutils-libelf-devel-static-0.182-3.el8.x86_64.rpm(这个地址记得改成搜到的地址)

在这里插入图片描述

9.关闭防火墙

查看防火墙状态

firewall-cmd --state

停止firewall

systemctl stop firewalld.service

禁止firewall开机启动

systemctl disable firewalld.service

注意:我是自己的设备,可以整个关掉。建议只开放服务器的1521端口,具体自行查找,教程很多
以上操作做完之后,记得重启服务器

10.开始安装Oracle

1.先下载安装包,地址:https://www.oracle.com/cn/database/enterprise-edition/downloads/oracle-db11g-linux.html
上传到之前建的目录/usr/oracle
2.重启完服务器用oracle这个用户登录服务器(在前面已经创建了一个名为oracle的用户密码为123456)
3.进入到安装包的目录

cd /usr/oracle

4.解压安装包

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

解压完会有个database目录
5. 进入到解压目录

cd /usr/oracle/database

6.运行安装命令

./runInstaller

遇到问题
在这里插入图片描述
安装xmanager(可以远端X窗口系统上作进行图形化操作的工具)
直接用Oracle用户登录
执行命令处输入:/usr/bin/xterm -ls -display $DISPLAY
在这里插入图片描述

在这里插入图片描述
遇到报错
在这里插入图片描述
解决

yum install xterm

成功登录之后,再进行上面的5、6两个步骤,即可成功打开图形界面
取消勾选,不获取有关 Oracle 安全问题的更新信息
在这里插入图片描述
弹出提示窗口,确认不提供电子邮件,选择Yes
在这里插入图片描述
根据自己需求选择即可,然后点击Next
(1) 创建和配置数据库 (2)仅安装数据库软件 (3)升级现有数据库
在这里插入图片描述
如果要在笔记本电脑或桌面上安装 Oracle 数据库,请选择第一个选项【桌面类】,否则选择第二个选项
在这里插入图片描述
(1)单实例数据库安装
(2)Real Application Clusters数据库安装
在这里插入图片描述
(1)典型安装
(2)高级安装
在这里插入图片描述
默认已添加了English在左侧语言列表中找到简体SimplifiedChinese,
并添加到右侧,然后点击Next
在这里插入图片描述
(1)企业版
(2)标准版
(3)标准版1
在这里插入图片描述
使用默认安装目录的路径,或者根据情况更改,然后点击Next
在这里插入图片描述
使用默认安装目录的路径,或者根据情况更改,然后点击Next

在这里插入图片描述
(1)一般用途/事务处理:为一般用途或高事务处理量应用而设计的启动数据库。
(2)数据仓库:为数据仓库应用程序而优化的启动数据库
在这里插入图片描述
指定Oracel全局数据库名和服务标识符为:orcl (这里随便自己定),然后点击Next
在这里插入图片描述
在内存页中勾选启用自动内存管理,在字符集页中选择使用Unicode,然
后点击Next
在这里插入图片描述
在这里插入图片描述
不使用集中云控制管理,直接点击Next
在这里插入图片描述
使用默认选择的然后Next
在这里插入图片描述
选择默认路径即可,然后点击Next
在这里插入图片描述
对所有账户使用相同口令Database123456(这个密码很麻烦,总说不符合要求,网上查了一下,这个格式的可以),也可以为不同用户设置不同密码,然后点击Next
在这里插入图片描述
设置数据库管理员组dba,数据库操作组oinstall,然后点击Next
在这里插入图片描述
在oracle安装到Prerequisite Checks这一步的时候,有好多个提示,一一解决
1.提示swap size检查失败
在这里插入图片描述
在这里插入图片描述
oracle在安装过程中进行检查系统环境的时候,关于swap(交换分区)的大小预期为15.45G,而系统实际上只有7.81G。
因此我们需要增加系统swap才符合oracle的要求。
先看下自己服务器的交换内存

free -h

在这里插入图片描述
在root目录下创建swap文件(每块1M,总共30720块,共计:30720M)
(这个目录可以改的,哪里空间多就创建在哪里)
耐心等待,看服务器,服务器好的速度快,差的速度慢

dd if=/dev/zero of=/root/swapfile bs=1M count=30720

在这里插入图片描述
查看swapfile文件的大小

ll /root –h

在这里插入图片描述
构建+激活swap
构建swap格式到swapfile

 mkswap /root/swapfile

在这里插入图片描述
激活swap

swapon /root/swapfile

在这里插入图片描述
查看一下swap的大小

 free -h

在这里插入图片描述
永久生效上述操作仅仅在本次开机有效,重启失效,我们需要保存一下配置

vi /etc/fstab

新增一行

/root/swapfile swap swap defaults 0 0

在这里插入图片描述
2.OS Kernel Parameter:semmni(按照以下步骤,没有解决)
点击Fix&Check Again,根据他的提示

 cd /tmp/CVU_11.2.0.1.0_oracle/
 ls
  ./runfixup.sh 

可是没有解决(这个不管,不影响)
3.安装包问题
如果后台查过都有,那就直接点忽略
在这里插入图片描述
查看安装概要,若无问题,则可点击Finish结束配置,开始进行安装

在这里插入图片描述
进度条到68%报错
Error in invoking target ‘install’ of makefile ‘/home/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk’. See ‘/home/app/oraInventory/logs/installActions2022-04-21_02-44-09AM.log’ for details
在这里插入图片描述
参考很多方法都没有成功,后面想到之前一直报缺少依赖包compat_libstdc++
下载安装glibc-static-2.17-292.el7.x86_64.rpm
转回去安装好该rpm包,再用rpm -qa | grep rpm包名指令检查是否有rpm包安装疏漏
检查完毕之后重新安装Oracle
在这里插入图片描述
继续报错Error in invoking target
在这里插入图片描述
修改
/home/oracle/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk文件,将

$(MK_EMAGENT_NMECTL)
修改成
$(MK_EMAGENT_NMECTL) -lnnz11
提示:最好先备份一下原文件,万一改错,还有挽救的余地
保存后点击 Retry 即可

一直等待。。。。
在这里插入图片描述
点OK后,执行这两个脚本(用root账号),然后点OK


在这里插入图片描述
执行之后点OK
在这里插入图片描述

11.开机自启

vi /etc/oratab

在最后修改如下内容

orcl:/home/app/oracle/product/11.2.0/db_1:Y
#按自己实际安装的改

在这里插入图片描述
chmod +x /etc/rc.d/rc.local
vi /etc/rc.d/rc.local
添加
su oracle -lc "/home/app/oracle/product/11.2.0/db_1/bin/lsnrctl start "
su oracle -lc /home/app/oracle/product/11.2.0/db_1/bin/dbstart
在这里插入图片描述
验证一下:
Reboot
Ps -ef |grep ora


总结

安装是个坑,祝大家一次性安装成功


文章标签:

原文连接:https://blog.csdn.net/qq_40998391/article/details/124384524

相关推荐

爬虫部署 Gerapy 安装(centos 8)演示

CentOS7 离线安装 Zabbix5.0

centos7基础操作

Linux学习(2)——虚拟机和CentOS安装(图文详解超详细)

Linxu学习:Windows上通过Vm实现Linux模拟

OpenGauss数据库在 CentOS 上的实践,配置篇

【docker专栏2】CentOS操作系统安装DockerCE

CentOS7安装MySQL8.0版本详细步骤

openGauss数据库在CentOS上的安装实践

Linux 基础篇(CentOS)

实践分享:如何安全快速地从 Centos迁移到openEuler

Linux项目实战——五子棋(单机人人对战版)

【看表情包学Linux】环境安装 | 安装XShell | 基本的账号管理

10分钟实现dotnet程序在linux下的自动部署

入手云服务器后,你需要做这些事【基于CentOS】

一种让运行在CentOS下的.NET CORE的Web项目简单方便易部署的自动更新方案

nginx(二)服务器中配置超时时间的方法

centos7 离线升级/在线升级操作系统内核

CentOS部署Apache服务

Linux重定向+管道命令+环境变量PATH