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

news2024/11/24 4:52:20

前言:因前段时间一直部署的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 启动电源

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

1.7 系统完成安装,重启;

在这里插入图片描述
在这里插入图片描述

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等;

在这里插入图片描述

防火墙配置命令,这里可不用操作,系统默认是开启,关闭也不影响;
[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

134fe0a350b1dec327409d.png)在这里插入图片描述在这里插入图片描述在这里插入图片描述

二、安装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
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述在这里插入图片描述
##执行成功(如果有很多个no 以及结尾提示其他内容 则执行失败 根据提示找原因)

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

在这里插入图片描述

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

在这里插入图片描述

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数据库安装包

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

#添加内容:

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

在这里插入图片描述

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

在这里插入图片描述

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'

在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

cd /data/u01/software/database/

执行
./runInstaller -silent -responseFile /home/oracle/response/db_install.rsp -ignorePrereq
在这里插入图片描述

安装完成

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

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

修改内容:
GDBNAME = “orcl11g.us.oracle.com” 更新为 GDBNAME = “orcl”
在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

六、连接测试 ,这里是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系统reboot重启后,是需要手动开启实例以及监听服务的,否则无法实现远程连接SQL。这里就给大家一些延伸查询排查事项,当然啦,可以开启系统启动后监听服务自启等过程

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

ORA-12541:TNS:无监听程序

在这里插入图片描述在这里插入图片描述

2、开启监听服务后,我们查看状态还是报错,会提示如提示无监听服务,这里我们就要想到实例未开启了,如下图;

The listener supports no services   ##监听器不支持任何服务

在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/648673.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何显示文件后缀名,这4个方法很简单!

Anna最近想对电脑里的文件进行分类,但有些未知类型的文件,她想查看文件的类型并进行分类,可是她不知道如何显示文件后缀名,因此向大家求助。 在计算机操作中,文件的后缀名是文件名的一部分,用于标识文件的类…

FlinkSQL写入iceberg—Windows环境下

前置条件 Flink运行版本13.1&#xff0c;iceberg依赖版本&#xff1a;1.0.0 依赖 FlinkSQL运行环境略。 注意版本匹配&#xff0c;采用不合适版本可能导致无法读写。 <!-- Flink 操作Iceberg 需要的Iceberg依赖 --><dependency><groupId>org.apache.iceb…

shell脚本变量-特殊变量

目录 特殊变量&#xff1a;$n案例需求 特殊变量&#xff1a;$#案例需求 特殊变量&#xff1a;$*、$案例需求 特殊变量&#xff1a;$&#xff1f;特殊变量&#xff1a;$$ 特殊变量&#xff1a;$n 语法 $n含义&#xff1a; 用于接收脚本文件执行时传入的参数 $0 用于获取当前脚…

机器人系统中的六大漏洞

原创 | 文 BFT机器人 在过去的几十年里&#xff0c;创新和技术导致机器人技术不断发展。 机器人系统正在迅速变得更加多产、复杂、有能力、智能化和网络化&#xff0c;并被用于越来越多的任务。 最初&#xff0c;机器人技术领域仅限于制造领域&#xff0c;但现在机器人可以与人…

KMP算法 - 确定有限状态自动机

KMP神在哪里&#xff1f; 子串匹配问题&#xff0c;拍脑袋一下子想出来的暴力解法大抵都是两重for循环&#xff0c;不断重复扫描主串&#xff0c;与子窜进行匹配&#xff0c;重复换句话讲就是冗余&#xff0c;会有很高的时间复杂度 我先前博客大作业发的模糊查找算法就是如此&…

三分钟告诉你如何和智能ai聊天

有一个名叫艾丽的年轻女孩&#xff0c;她生活在一个科技发达的未来世界。在这个世界里&#xff0c;人们与人工智能伙伴共同生活。艾丽对ai技术充满好奇&#xff0c;尤其是对ai对话聊天工具的运作方式。为了知道ai对话聊天工具怎么用&#xff0c;艾丽决定展开探索。 方案一&…

智能无线监测器的工作原理及应用优势

在现代工业生产中&#xff0c;设备状态监测对于确保生产的安全性、效率和可靠性至关重要。随着科技的不断发展&#xff0c;智能无线监测器成为工业设备状态监测的利器。本文将介绍智能无线监测器在工业领域中的应用&#xff0c;以及其带来的优势和价值。 图.设备状态监测&#…

智驾风向标|卷、乱、难,如何穿越多极分化新周期?

竞争越来越卷&#xff0c;企业越来越难&#xff0c;市场处于混乱期。对于大多数供应商来讲&#xff0c;穿越新周期的战略一定是先有规模&#xff08;市场份额&#xff09;&#xff0c;然后才是利润。 在6月8日召开的2023&#xff08;第十四届&#xff09;高工智能汽车开发者大…

8个你必须知道的Java8新特性,让你的代码变得优雅!

Java 8 是一次重大的发行版更新&#xff0c;引入了大量新特性和改进&#xff0c;以下是 Java 8 的主要特性&#xff1a; 文章目录 Java 8 是一次重大的发行版更新&#xff0c;引入了大量新特性和改进&#xff0c;以下是 Java 8 的主要特性&#xff1a;1.Lambda 表达式2.Stream …

云平台 stm32连接阿里云2023最新版本保姆级别教学只看这一篇就够了~

注册账号 阿里云平台点击直达 点击控制台 鼠标悬浮会出现下拉栏 点击物联网 再点击物联网平台 点击公共实例 新用户需要开通 开通需要五分钟的时间 点击创建产品 蓝色显眼字体 参数设置 仔细比对下图 点击查看产品详情 蓝色显眼字体 点击功能定义 点击编辑草图 实际上就是定义…

如何通过Android平台的API实现5G网络的支持 安卓系统版本和5g网络相关【一】

前面分享了两篇5G基带相关的移植修改博文。 安卓高通机型的基带移植 修改 编译的相关 增加信号 支持5G等【一】 安卓高通机型的基带移植 修改 编译的相关 增加信号 支持5G等【二】 今天的帖子聊聊安卓版本与5G网络与机型和修改之间相关的话题。众所周知&#xff0c;目前的机型…

如何获取签章定位信息

在合同系统中&#xff0c;经常需要在合同文档的特定位置放置签名/印章图片。在合同拟稿过程中&#xff0c;放置签名/印章图片只是为了获取一个精确的定位信息&#xff0c;在合同定稿阶段才根据拟稿阶段得到的位置信息&#xff0c;去插入真正的签名/印章。那么如何在合同系统中高…

基于OpenMV的疲劳驾驶检测系统的设计

一、前言 借助平台将毕业设计记录下来&#xff0c;方便以后查看以及与各位大佬朋友们交流学习。如有问题可以私信哦。 本文主要从两个方面介绍毕业设计&#xff1a;硬件&#xff0c;软件&#xff08;算法&#xff09;。以及对最后的实验结果进行分析。感兴趣的朋友们可以评论区…

创新案例|专注在线 协作平台 设计产品中国首家PLG独角兽企业蓝湖如何实现98%的头部企业渗透率

蓝湖起步于2015年&#xff0c;是一款服务于产品经理、设计师、工程师的产品设计研发在线协作工具&#xff0c; 2021年10月&#xff0c;蓝湖宣布完成C轮融资&#xff0c;融资额高达10亿人民币&#xff0c;称为中国2B市场中首家采用PLG发展的独角兽企业&#xff0c;并实现了从100…

conda虚拟环境列表错误module ‘attr‘ has no attribute ‘s‘的解决方法

列出虚拟环境列表命令&#xff1a;conda info -e 或者conda env listconda info -e 这个可以正常显示&#xff0c;conda env list却报错了&#xff0c;以前是没有问题的&#xff0c;因为这个命令我更习惯使用&#xff0c;所以这个小问题必须解决掉&#xff0c;或许其他读者可能…

undetected_chromedriver解决网页被检测

一、问题分析 selenium打开浏览器模仿人工操作是诸多爬虫工作者最万能的网页数据获取方式&#xff0c;但是在做自动化爬虫时&#xff0c;经常被检测到是selenium驱动。比如前段时间selenium打开维普高级搜索时得到的页面是空白页&#xff0c;懂车帝对selenium反爬也很厉害。 二…

【React】setState原理,SCU,不可变对象,Ref,受控组件,高阶组件,封装轮播图组件

❤️ Author&#xff1a; 老九 ☕️ 个人博客&#xff1a;老九的CSDN博客 &#x1f64f; 个人名言&#xff1a;不可控之事 乐观面对 &#x1f60d; 系列专栏&#xff1a; 文章目录 setState原理setState异步更新 SCU不可变对象RefRef获取DOMRef获取组件 非受控组件受控组件高阶…

word目录怎么自动生成,3个步骤轻松搞定!

案例&#xff1a;我在做策划案的时候&#xff0c;需要制作目录。我觉得自己手动制作目录很困难&#xff0c;通过word的可以自动生成目录&#xff0c;但是我不知道具体的操作方法。有没有小伙伴可以分享一下&#xff1f; 在制作任务书、书写论文的时候&#xff0c;经常需要添加…

vue+java+springboot企业办公人事oa办公管理系统2142g

本企业OA管理系统有管理员和用户。管理员功能有个人中心&#xff0c;用户管理&#xff0c;公告信息管理&#xff0c;客户关系管理&#xff0c;通讯录管理&#xff0c;日程安排管理&#xff0c;车辆信息管理&#xff0c;文件信息管理&#xff0c;工作日志管理&#xff0c;上班考…

0基础学习VR全景平台篇第42篇:编辑器底部菜单-分组管理

大家好&#xff0c;欢迎观看蛙色VR官方系列——后台使用课程&#xff01; 本期为大家带来蛙色VR平台&#xff0c;底部菜单—分组管理功能操作。 功能位置示意 一、本功能将用在哪里&#xff1f; 分组管理&#xff0c;指观看者可点击不同分组&#xff0c;查看不同类型全景内容…