Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)

前言:因前段时间一直部署的windows环境的oracle,这次记录下linux下的部署方式,当然还有更多的其他部署,大家可根据自身环境及学习来了解。一般静默安装主要还是要提前准备源包,还有很多依赖包,另外就是配置及创建实例,启动监听即可。

环境:下载地址都给你们超链好了
1、Linux系统镜像包:
1.1 CentOS-7.9-x86_64-DVD-2009.iso

2、Oracle软件源包:
2.1 linux.x64_11gR2_database_1of2.zip
2.2 linux.x64_11gR2_database_2of2.zip

3、Sqlplus工具源包:
3.1 rlwrap-0.42.tar.gz

总体我们分以下五个步骤来进行安装:
一、安装linux操作系统
二、安装yum依赖包
三、上传镜像及源包并解压
四、更新修改配置文件
五、创建实例以及开启监听服务
六、连接测试,KO!

一、安装Linux CentOS 7操作系统:

VMware开干,因这台后续我会做其他应用业务测试,所以配置如下:
16核CPU、32G内存、300G硬盘、镜像包:CentOS-7.9-x86_64-DVD-2009.iso
1.1 启动电源

Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第1张图片

1.2 通过方向键选择:Install CentOS 7 回车安装中;

Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第2张图片

Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第3张图片

1.3 选择语言,默认英文也是建议项,但我们是静默安装其实都无所谓,如是桌面安装orcale会出现乱码现象也就是要注意字符集而已,点击继续;

Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第4张图片

1.4 选择安装位置,这里测试环境我选择自动分区,点击左上角完成按钮;

Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第5张图片
Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第6张图片

1.5 可提前配置网络和主机名以及配置静态IP地址,当然这一步可以省略,在系统安装完成后再用命令来修改主机名和IP即可;
测试参数:
主机名:orcl1
IP:192.168.10.235/24

Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第7张图片Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第8张图片
Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第9张图片

1.6 点击开始安装,并配置root用户密码自动安装系统;

Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第10张图片Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第11张图片
Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第12张图片

1.7 系统完成安装,重启;

Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第13张图片
Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第14张图片

1.8 在这系统完成安装,但我们还是要检查下主机名以及IP地址,如果不是我们之前预设的就要进行修改更新,这里可以从以下方面来确认;
[root@orcl1 ~]# hostname   ##查看主机名
[root@orcl1 ~]# vi /etc/hostname  ##修改主机名
[root@orcl1 ~]# ip address  ##查看IP
[root@orcl1 ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens192   ##网络配置
参考网络配置
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens192
UUID=33485a7a-4008-453b-8b4e-fdb0c70e1e95
DEVICE=ens192
ONBOOT=yes   ##将no改成yes------------------------------------------------------------------------------------------
IPADDR=192.168.10.235
PREFIX=24
GATEWAY=192.168.10.1
DNS1=******
IPV6_PRIVACY=no
[root@orcl1 ~]# sudo service network restart  ##重启网络 
1.9 网络配置好后,使用Xshell连接,也可以用其他SSH工具如Putty、SecureCRT、Mobaxterm等;

Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第15张图片

防火墙配置命令,这里可不用操作,系统默认是开启,关闭也不影响;
[root@orcl1 ~]# systemctl status firewalld.service    ##查看当前防火墙是否开启 
[root@orcl1 ~]# systemctl stop firewalld.service      ##关闭防火墙
[root@orcl1 ~]# systemctl start firewalld.service     ##开启防火墙
[root@orcl1 ~]# systemctl disable firewalld.service   ##禁用防火墙
1.10 接下来安装几个系统编辑、解压缩、FTP、更新等必要的工具程序;
yum -y install vim
yum -y install unzip
yum -y install lrzsz
yum -y update

Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第16张图片Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第17张图片Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第18张图片Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第19张图片

二、安装Oracle11g r2所需要的依赖包,这里我们要提前准备以下3个源程序包,具体下载链接都在文章前言开头

1) linux.x64_11gR2_database_1of2.zip
2) linux.x64_11gR2_database_2of2.zip
3) rlwrap-0.42.tar.gz

一键安装脚本,但我们这边还是采用逐个安装吧,毕竟技术深度有限特别是排查关联包能力时间有限;

yum -y install gcc gcc-c++ make binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static glibc glibc-common glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel numactl-devel sysstat unixODBC unixODBC-devel kernelheaders pdksh pcre-devel readline rlwrap
2.1 我们这边正式开始安装:

执行:yum -y install gcc
在这里插入图片描述
执行:yum -y install gcc-c++
在这里插入图片描述
执行:yum -y install make
在这里插入图片描述
(系统已安装进行了更新)
执行:yum -y install binutils
在这里插入图片描述
执行:yum -y install compat-libstdc+±33
在这里插入图片描述
执行:yum -y install elfutils-libelf
在这里插入图片描述
执行:yum -y install elfutils-libelf-devel
在这里插入图片描述
执行:yum -y install elfutils-libelf-devel-static
在这里插入图片描述
执行:yum -y install glibc
在这里插入图片描述

系统已安装并是最新版本
安装成功
执行:yum -y install glibc-common
在这里插入图片描述

安装成功
执行:yum -y install glibc-devel
安装成功

执行:yum -y install ksh
安装成功

执行:yum -y install libaio
安装成功

执行:yum -y install libaio-devel
安装成功

执行:yum -y install libgcc
安装成功

执行:yum -y install libstdc++在这里插入图片描述
执行:yum -y install libstdc+±devel

安装成功
执行:yum -y install sysstat
安装成功

执行:yum -y install unixODBC
安装成功

执行:yum -y install unixODBC-devel
安装成功

执行:yum -y install kernel-headers

安装成功

执行:yum -y install pdksh
在这里插入图片描述
报错,pdksh是一个老包了,新的oracle都使用ksh包
改执行:yum -y install ksh
安装成功

执行:yum -y install pcre-devel

安装成功

执行:yum -y install readline*

安装成功

执行:yum -y install rlwrap
在这里插入图片描述
yum源里没有包;用我们准备好的进行上传到linux
在这里插入图片描述
Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第20张图片Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第21张图片

[root@orcl1 home]# tar -xvf rlwrap-0.42.tar.gz   ##解压缩源包

Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第22张图片

[root@orcl1 home]# cd rlwrap-0.42                    ##切入程序目录

Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第23张图片

[root@orcl1 rlwrap-0.42]# ./configure                 ##执行配置编译前准备

Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第24张图片Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第25张图片
##执行成功(如果有很多个no 以及结尾提示其他内容 则执行失败 根据提示找原因)

[root@orcl1 rlwrap-0.42]# make                        ##执行编译

Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第26张图片

[root@orcl1 rlwrap-0.42]# make install              ##执行安装

Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第27张图片

2.2 创建用户组及文件夹
创建用户组:groupadd oinstall
创建用户组:groupadd dba
创建用户并添加到用户组:useradd -g oinstall -G dba oracle
[root@orcl1 ~]#  groupadd oinstall
[root@orcl1 ~]#  groupadd dba
[root@orcl1 ~]#  useradd -g oinstall -G dba oracle   ##用户也可以自定义如test,useradd -g oinstall -G dba test
[root@orcl1 ~]#  passwd oracle
2.3 创建安装目录及权限
[root@orcl1 ~]# mkdir -p /data/u01/app/oracle/product/11.2.0/dbhome_1
[root@orcl1 ~]# mkdir /data/u01/app/oracle/{oradata,inventory,fast_recovery_area}
[root@orcl1 ~]# chown -R oracle:oinstall /data/u01/app/oracle
[root@orcl1 ~]# chmod -R 775 /data/u01/app/oracle 

三、静默安装Oracle11GR2数据库上传数据库安装包并解压

3.1 上传Oracle11G数据库安装包

Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第28张图片Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第29张图片
Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第30张图片

3.2 创建一个目录存放安装包;
[root@orcl1 home]# mkdir -p /data/u01/software  ##把安装包转移到/data/u01/software
[root@orcl1 home]# mv linux.x64_11gR2_database_1of2.zip /data/u01/software/
[root@orcl1 home]# mv linux.x64_11gR2_database_2of2.zip /data/u01/software/
[root@orcl1 home]# cd /data/u01/software
[root@orcl1 software]# unzip linux.x64_11gR2_database_1of2.zip     ##解压
[root@orcl1 software]# unzip linux.x64_11gR2_database_2of2.zip     ##解压

在这里插入图片描述
在这里插入图片描述
四、修改配置文件

4.1 修改内核文件,vim进入后按 "i"进入编辑模式,找到合适的位置,按 esc 键退出编辑模式;输入 “:wq”退出并保存;
vim /etc/sysctl.conf

#添加内容:

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1073741824
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

Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第31张图片

执行:sysctl -p使配置文件生效;

Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第32张图片

4.2 修改用户限制
vim /etc/security/limits.conf

#添加内容:

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

Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第33张图片

4.3 修改/etc/pam.d/login文件
vim /etc/pam.d/login

#添加内容:

session required /lib64/security/pam_limits.so
session required pam_limits.so

Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第34张图片

4.4 修改/etc/profile文件
vim /etc/profile

#添加内容:

if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi

Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第35张图片

4.5 设置oracle 用户环境变量,先切换到oracle用户,再编辑;
su - oracle
vim .bash_profile

#添加内容:

export ORACLE_BASE=/data/u01/app/oracle
export ORACLE_HOME=/data/u01/app/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export ORACLE_UNQNAME=$ORACLE_SID
export PATH=$ORACLE_HOME/bin:$PATH
export NLS_LANG=american_america.AL32UTF8
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'

Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第36张图片

source .bash_profile ##执行,使变量马上生效;
4.6 修改静默安装响应文件,拷贝备份一份响应文件
cp -R /data/u01/software/database/response/ .
cd response/
vim db_install.rsp

##修改内容:

oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=自己的主机名
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/data/u01/app/oracle/inventory

SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/data/u01/app/oracle/product/11.2.0/dbhome_1
ORACLE_BASE=/data/u01/app/oracle
oracle.install.db.InstallEdition=EE

oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba

DECLINE_SECURITY_UPDATES=true

Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第37张图片
Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第38张图片
Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第39张图片
Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第40张图片

切换到解压的安装包目录:

cd /data/u01/software/database/

执行
./runInstaller -silent -responseFile /home/oracle/response/db_install.rsp -ignorePrereq
Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第41张图片

安装完成

五、创建一个数据库实例;

配置响应文件:
vim /home/oracle/response/dbca.rsp

修改内容:
GDBNAME = “orcl11g.us.oracle.com” 更新为 GDBNAME = “orcl”
Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第42张图片

SID = "orcl11g"   更新为   SID = "orcl"

Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第43张图片

前面的 # 要删除,对应用户设置密码;
SYSPASSWORD = "输入密码"
SYSTEMPASSWORD = "输入密码"
SYSMANPASSWORD = "输入密码"
DBSNMPPASSWORD = "输入密码"

Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第44张图片
Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第45张图片
Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第46张图片

前面的#要删除,对应用户设置目录;

Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第47张图片

DATAFILEDESTINATION =/data/u01/app/oracle/oradata
RECOVERYAREADESTINATION=/data/u01/app/oracle/fast_recovery_area

Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第48张图片

前面的 # 要删除,设置字符集(中国使用一般都要改);

在这里插入图片描述

非常重要,设置字符集:CHARACTERSET = "AL32UTF8"

Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第49张图片

调大内存,一般1.5-2倍的物理内存大小,我这是32G,如1G的话,设置TOTALMEMORY = "2048"即可;
TOTALMEMORY = "65536"    

在这里插入图片描述

:wq
检查配置
egrep -v "(^#|^$)" /home/oracle/response/dbca.rsp

Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第50张图片

##安装创建
dbca -silent -responseFile /home/oracle/response/dbca.rsp

Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第51张图片

完成
可以查看默认实例
env|grep ORACLE_UNQNAME
进入sqlplus 启动实例
shutdown  ##先shutdown
startup   ##后startup
上图提示是实例已经起来了,无需再次启动。

Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第52张图片

启动监听器:
 lsnrctl start       ##启动监听器
 lsnrctl stop       ##关闭监听器
 lsnrctl status     ##查看监听器的状态

Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第53张图片

六、连接测试 ,这里是oracle数据库,那当然首选PL/SQL Developer,当然还有其他相关软件或者安装oracle数据库或客户端的用cmd以及Navicat等软件都行,我这边使用PL/SQL为例作为项目测试演示,具体配置参考PL/SQL操作使用说明,如tnsnames配置文件如下

CentOS235 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.235)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)

Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第54张图片Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第55张图片
Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第56张图片
演示完成!

最后,其实到这边就已经完成试验目的了,但综上所述,如果我们把Linux系统reboot重启后,是需要手动开启实例以及监听服务的,否则无法实现远程连接SQL。这里就给大家一些延伸查询排查事项,当然啦,可以开启系统启动后监听服务自启等过程

1、Reboot重启系统后,远程连接报错如下,那我们首先就是查看监听状态并开启;
ORA-12541:TNS:无监听程序

Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第57张图片Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第58张图片

2、开启监听服务后,我们查看状态还是报错,会提示如提示无监听服务,这里我们就要想到实例未开启了,如下图;
The listener supports no services   ##监听器不支持任何服务

Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第59张图片
Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第60张图片

3、开启实例,并查询监听状态,此时已经实例服务已启动;
sqlplus / as sysdba    ##dba进入sql
startup                ##启动实例
lsnrctl status         ##查看监听器的状态

Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第61张图片

4、我们再远程连接oracle数据库,连接OK,欢迎点赞,交流,感谢,KO!

Linux之CentOS 7.9部署Oracle 11g r2 静默安装实测验证(无桌面模式)_第62张图片

启动监听器:
 lsnrctl start       ##启动监听器
 lsnrctl stop        ##关闭监听器
 lsnrctl status      ##查看监听器的状态

你可能感兴趣的:(IT运维,数据库,Linux,linux,centos,oracle,数据库,sql)