CentOS 7.8 Oracle 19C安装部署


本文描述了在CENTOS 7.8操作系统环境上使用图形化安装部署ORACLE 19C版本单实例数据库。
注:本文中,#开头命令表示在root用户下执行,$开头命令表示在oracle用户下执行。

一、环境检查

1、操作系统检查

ORACLE 19C的部署安装对系统及内核版本有一定的要求,推荐Red Hat Enterprise Linux 7.5: 3.10.0-862.11.6.el7.x86_64 或更高的版本。
在这里插入图片描述

# cat /etc/redhat-release
# uname -r

在这里插入图片描述

2、内存检查

ORACLE公司给出ORACLE 19C 的单实例的最小安装内存是1G,推荐最小内存是2G,集群最小内存8G。
在这里插入图片描述
检查内存语句:

[root@dboracle ~]# grep MemTotal /proc/meminfo

在这里插入图片描述

3、SWAP检查

合理的设置SWAP空间能够有效的提高Oracle性能,ORACLE公司给出的SWAP的设置与RAM有这如下关系如下:
RAM 1GB~2GB,SWAP 大小为1.5RAM
RAM 2GB~16GB,SWAP 大小为与RAM大小一致
RAM 大于16GB,SWAP 大小为16GB
在这里插入图片描述
通过下面命令查看SWAP大小,如果不满足需进行调整。

[root@dboracle ~]# grep SwapTotal /proc/meminfo

在这里插入图片描述

4、共享内存检查

为了保证数据库运行稳定,要对操作系统进行共享内存的设置,设置大小一般是RAM内存的80%。
在这里插入图片描述
用df -h /dev/shm命令查看,不满足进行调整。

 [root@dboracle opt]# df -h /dev/shm

共享内存调整步骤:
a、 卸载“/dev/shm”

[root@dboracle opt]# umount /dev/shm

在这里插入图片描述
如果资源忙,用fuser -m -v /dev/shm/查看使用进程,然后kill在用进程

[root@dboracle ~]# fuser -m -v /dev/shm/
[root@dboracle ~]# kill -9 1876

在这里插入图片描述
b、调整“/dev/shm”

[root@dboracle opt]# mount -t tmpfs shmfs -o size=6g /dev/shm

在这里插入图片描述

c、修改文件“/etc/fstab”
[root@dboracle opt]# vi /etc/fstab
添加一行

tmpfs      /dev/shm      tmpfs  defaults,size=6G 0 0

在这里插入图片描述

5、磁盘空间检查

Oracle安装对磁盘空间有一定的要求,磁盘空间至少要达到Oracle的最低要求才能顺利的完成Oracle的安装,磁盘最少空间要求如下:
Oracle Grid Infrastructure 磁盘要求:6.5G
Enterprise Edition磁盘要求:7.2G
Standard Edition磁盘要求:7.2G
在这里插入图片描述
查看语句df -h

[root@dboracle opt]# df -h

在这里插入图片描述

二、YUM配置及RPM依赖包安装

1、YUM源搭建

参考
https://blog.youkuaiyun.com/mgxiaomage/article/details/122464867?spm=1001.2014.3001.5501
https://blog.youkuaiyun.com/mgxiaomage/article/details/122465183?spm=1001.2014.3001.5501
https://blog.youkuaiyun.com/mgxiaomage/article/details/122477698?spm=1001.2014.3001.5501

2、 RPM依赖包安装

ORACLE 19C 在Red Hat Enterprise Linux 7上的RPM依赖包如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
通过上面搭建的YUM进行rpm依赖包安装,如下:
先安装扩展源 yum install epel-release 再安装依赖包

yum install -y bc 
yum install -y binutils 
yum install -y compat-libcap1 
yum install -y compat-libstdc++-33 
yum install -y elfutils-libelf elfutils-libelf-devel 
yum install -y fontconfig-devel 
yum install -y glibc glibc-devel 
yum install -y ksh 
yum install -y libaio libaio-devel 
yum install -y libX11 libXau libXi libXtst libXrender libXrender-devel 
yum install -y libgcc 
yum install -y libstdc++ libstdc++-devel 
yum install -y libxcb 
yum install -y make 
yum install -y smartmontools 
yum install -y sysstat 
yum install -y unixODBC
yum install -y gcc-c++
yum install -y kmod  kmod-libs

安装后通过rpm -q是否有遗漏安装的rpm依赖包。

rpm -q \
bc \
binutils \
compat-libcap1 \
compat-libstdc++-33 \
elfutils-libelf elfutils-libelf-devel \
fontconfig-devel \
glibc glibc-devel \
ksh \
libaio libaio-devel \
libX11 libXau libXi libXtst libXrender libXrender-devel \
libgcc \
libstdc++ libstdc++-devel \
libxcb \
make \
smartmontools \
sysstat \
unixODBC \
gcc-c++ \
kmod  kmod-libs | grep "not installed"

三、创建组、用户、目录

1、创建组、用户

[root@dboracle opt]# groupadd oinstall
[root@dboracle opt]# groupadd dba
[root@dboracle opt]# groupadd oper
[root@dboracle opt]# useradd -g oinstall -G dba,oper oracle

说明:
groupadd oinstall --创建 oinstall组 安装数据库软件用
groupadd dba --创建 dba组 管理数据库软件用
groupadd oper --创建 oper组 操作数据库软件用–但是基本用不到。因为官方文档要求,所以我们最好还是给他建立上
useradd -g oinstall -G dba,oper oracle -g代表的是主组 -G代表的属组 oracle代表的是建立的用户名
这个命令的意思是我建立一个oracle用户让他的主组数据oinstall组 让他数组属于dba oper组

2、创建目录

[root@dboracle opt]# mkdir -p /u01/app/oracle
[root@dboracle opt]# mkdir -p /u01/oraInventory
[root@dboracle opt]# chown -R oracle.oinstall /u01
[root@dboracle opt]# chown -R oracle:oinstall /u01/app/oracle
[root@dboracle opt]# chmod -R 775 /u01/app/oracle
[root@dboracle ~]# mkdir -p /u01/app/oracle/product/19.0.0/db_1
[root@dboracle ~]# chown -R oracle:oinstall /u01/app/oracle/product/

较12C相比19C需要额外创建ORACLE_HOME目录,/u01/app/oracle/product/19.0.0/db_1
在这里插入图片描述

四、系统参数配置

1、关闭防火墙

systemctl status firewalld.service–检查防火墙状态

[root@dboracle ~]# systemctl status firewalld.service

systemctl stop firewalld.service–暂时关闭防火墙,下次启动时防火墙仍随系统启动而启动

[root@dboracle ~]# systemctl stop firewalld.service

systemctl disable firewalld.service–彻底永久关闭防火墙

[root@dboracle opt]# systemctl disable firewalld.service 

在这里插入图片描述

2、配置域名解析

查看主机名和IP地址

[root@dboracle yum.repos.d]# hostname
[root@dboracle yum.repos.d]# ifconfig

将查询到的主机名 IP地址添加到/etc/hosts文件

[root@dboracle yum.repos.d]# vi /etc/hosts

在这里插入图片描述

3、关闭SELINUX

将内容SELINUX=enforcing更改为SELINUX=disabled

[root@dboracle yum.repos.d]# vi /etc/selinux/config

在这里插入图片描述

4、 配置内核参数

安装ORACLE19C需要配置一些内核参数,配置参数要求如下:
在这里插入图片描述

将以下内容追加到/etc/sysctl.conf文件结尾。

[oracle@dboracle opt]# vi /etc/sysctl.conf

参数参考https://blog.youkuaiyun.com/u011635437/article/details/109210823

#oracle
fs.aio-max-nr = 1048576
fs.file-max = 6815744
#kernel.shmall = 8G/4k=8388608k/4k=2097152    ---内存8G
kernel.shmall = 2097152
#32位的操作系统4G最大值 4294967295  
#64位操作系统1G*1024*1024*1024-1即一个G{(1G*1073741824)-1}
#kernel.shmmax = 8589934592    ---内存8G
kernel.shmmax = 8589934591
#kernel.shmmni:共享内存段的最小数量;oracle设置默认值为4096,一般是足够用了,不需要调整
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 = 1048586

参数说明:
fs.file-max //文件句柄数 一次可以打开文件的个数
fs.aio-max-nr //异步IO请求数目 推荐值是:1048576 其实它等于 10241024 也就是 1024K 个
kernel.shmall //公式:内存大小8G/4k=8388608k/4k=2097152 —内存8G //表示所有内存大小(单位:页=4K)
kernel.shmmax //表示最大共享内存大小,一般为物理内存的3/4 但是常用的就是将所有内存换算成字节后-1(单位:字节)
kernel.shmmni = 4096 //表示最小共享内存固定4096KB 一般是固定值
kernel.sem //4个参数依次是SEMMSL:每个用户拥有信号量最大数,SEMMNS:系统信号量最大数,SEMOPM:每次semopm系统调用操作数,SEMMNI:系统辛苦量集数最大数。这4个参数为固定内容大小
net.ipv4.ip_local_port_range = 9000 65500 //ip_local_port_range表示端口的范围,为指定的内容 一般是固定值
net.core.rmem_default //表示套接字接收缓冲区大小的缺省值
net.core.rmem_max //表示套接字接收缓冲区大小的最大值。
net.core.wmem_default //表示套接字发送缓冲区大小的缺省值。
net.core.wmem_max //表示套接字发送缓冲区大小的最大值。
参数编辑完成后执行下面的命令

sysctl -p 系统参数生效
在这里插入图片描述

5、配置资源限制

a、配置/etc/security/limits.conf
将以下内容追加到/etc/security/limits.conf文件结尾。

[root@dboracle opt]# vi /etc/security/limits.conf
#oracle
oracle   soft   nofile    1024
oracle   hard   nofile    65536
oracle   soft   nproc    16384
oracle   hard   nproc    16384
oracle   soft   stack    10240
oracle   hard   stack    32768
oracle   hard   memlock   3145728
oracle   soft   memlock    3145728

在这里插入图片描述
在这里插入图片描述
b、 配置/etc/pam.d/login
pam_limits.so文件被加入到启动文件中/etc/security/limits.conf 才能生效,所以在/etc/pam.d/login文本最后添加:session required pam_limits.so或者session required /lib/security/pam_limits.so

将以下内容追加到/etc/pam.d/login文件结尾。

[oracle@dboracle opt]# vi /etc/pam.d/login
session required /lib/security/pam_limits.so
session required pam_limits.so

在这里插入图片描述

6、配置ORACLE用户进程限制

将以下内容追加到/etc/profile文件结尾。

[oracle@dboracle opt]# vi /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

在这里插入图片描述
生成参数

[oracle@dboracle opt]# source /etc/profile

7、配置ORACLE用户的环境变量

将以下内容追加到/home/oracle/.bash_profile文件结尾。

[oracle@dboracle opt]# vi /home/oracle/.bash_profile
#oracle
export EDITOR=vi
export TMP=/tmp  
export TMPDIR=$TMP
export ORACLE_SID=orcl
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/db_1
export INVENTORY_LOCATION=/u01/oraInventory
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export NLS_LANG="Simplified Chinese_China.UTF8"
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
export PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin:$PATH:$HOME/bin
umask 022

在这里插入图片描述
切oracle用户生成参数

[oracle@dboracle ~]$ source /home/oracle/.bash_profile

参数说明
export EDITOR=vi 默认的编辑器是vi
export TMP=/tmp ORACLE默认的临时目录是/tmp
export TMPDIR= T M P 临时目录生成 e x p o r t O R A C L E S I D = o r c l 实例名称是 o r c l e x p o r t O R A C L E B A S E = / u 01 / a p p / o r a c l e 的基本目录 e x p o r t O R A C L E H O M E = TMP 临时目录生成 export ORACLE_SID=orcl实例名称是orcl export ORACLE_BASE=/u01/app/oracle的基本目录 export ORACLE_HOME= TMP临时目录生成exportORACLESID=orcl实例名称是orclexportORACLEBASE=/u01/app/oracle的基本目录exportORACLEHOME=ORACLE_BASE/product/19.0.0/db_1ORACLE数据库的HOME目录
export INVENTORY_LOCATION=/u01/oraInventory ORACLE安装时的inventory
export TNS_ADMIN= O R A C L E H O M E / n e t w o r k / a d m i n 的网络文件主目录 e x p o r t L D L I B R A R Y P A T H = ORACLE_HOME/network/admin的网络文件主目录 export LD_LIBRARY_PATH= ORACLEHOME/network/admin的网络文件主目录exportLDLIBRARYPATH=ORACLE_HOME/libORACLE的库文件目录
export NLS_LANG=" Simplified Chinese_China.UTF8" ORACLE的字符集 不过我们弃用 因为我们使用UTF8
export NLS_DATE_FORMAT=“YYYY-MM-DD HH24:MI:SS” ORACLE的日期格式 我们使用会话的方式修改 没有上面的NLS_LANG,那么这个参数不会生成
export PATH= O R A C L E H O M E / b i n : / b i n : / u s r / b i n : / u s r / s b i n : / u s r / l o c a l / b i n : / u s r / X 11 R 6 / b i n : ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin: ORACLEHOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin:PATH:$HOME/bin生成相关参数
umask 022

生成参数
source .bash_profile或 . ~/.bash_profile

五、ORACLE 19C安装部署

1、Oracle19安装包(需要oracle账号)

首先Oracle官方下载链接:
https://www.oracle.com/downloads/#category-database
找到Database:根据自己想要的版本下载
在这里插入图片描述

2、上传安装介质

LINUX.X64_193000_db_home.zip 是将ORACLE_HOME目录下所有的文件放入到了一个压缩包中,等待我们解压安装将文件关系关联上并到系统内注册,该文件你可以直接放到ORACLE_HOME目录下或者你解压的 时候,将压缩包里的内容解压到ORACLE_HOME目录下即可。
在这里插入图片描述

注意改变LINUX.X64_193000_db_home.zip所属用户和组为oracle和oinstall,用oracle用户进行解压。

[root@dboracle db_1]# chown -R oracle:oinstall LINUX.X64_193000_db_home.zip
[root@dboracle db_1]# su - oracle
[oracle@dboracle ~]$ cd $ORACLE_HOME
[oracle@dboracle db_1]$ unzip LINUX.X64_193000_db_home.zip

在这里插入图片描述

3、解压安装介质

通过图形化界面安装ORACLE 19C数据库我们必须要能访问图形化界面,访问方式多种多样。如直接登录CentOS桌面、VNC、Xmanager、MobaXterm等。如果在现场,我们直接通过连接显示器访问CentOS桌面进行安装,如不是现场,推荐使用MobaXterm,比较方便。
通过Xmanager安装只需执行export DISPLAY=192.168.2.153:0.0(这里的IP是自己本机(装Xmanager)的IP地址)即可将图形化界面投送至本机。
注:安装时用oracle用户进行操作

进去解压后的目录,执行runInstaller进行安装(弹出的窗口全部选择“是(Y)”进入安装界面

[oracle@dboracle db_1]$ export DISPLAY=192.168.2.153:0.0
[oracle@dboracle db_1]$ ./runInstaller

在这里插入图片描述
无法调出图形化界面参考https://blog.youkuaiyun.com/JorryC/article/details/104638048解决,需要重启一下Xmanager才能出xclock
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
以root执行弹出窗口要执行的脚本:

[root@dboracle Packages]# /u01/oraInventory/orainstRoot.sh 
[root@dboracle Packages]# /u01/app/oracle/product/19.0.0/db_1/root.sh

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

4、创建监听

在oracle用户下执行netca命令创建监听。

[oracle@dboracle db_1]$ netca

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

5、创建数据库

在oracle用户下执行dbca命令创建实例。

[oracle@dboracle db_1]$ dbca

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

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

6、启停命令

操作系统重启命令 shutdown -r now
操作系统关闭命令 shudtown -h now
数据库关闭命令 shutdown immediate
数据库启动命令 startup
监听启动命令 lsnrctl start
监听关闭命令 lsnrctl stop
监听查看命令 lsnrctl status

7、启动顺序

在日常工作中,关于数据库的启停:
先关闭上层应用服务---->关闭监听---->关闭数据库
启动数据库----->启动监听----->启动应用 进行相关的连接测试

在ESXi 7.0环境下,使用CentOS 7.8搭建Oracle 19c RAC集群并配置共享存储是实现高可用性数据库环境的重要步骤。根据提供的资源《Oracle 19c集群搭建教程:ESXi 7.0下CentOS 7.8环境》,我们可以按照以下步骤来完成这一任务: 参考资源链接:[Oracle 19c集群搭建教程:ESXi 7.0下CentOS 7.8环境](https://wenku.csdn.net/doc/4xxuffzzrg) 1. 环境准备:首先,需要在ESXi 7.0平台上创建两台CentOS 7.8虚拟机作为Oracle集群的节点。每台虚拟机需要至少两块网络适配器,一块用于正常业务通信,另一块用于集群间的心跳信号传输。 2. 虚拟机网络配置:在CentOS 7.8虚拟机上配置静态IP地址,并确保两台虚拟机之间可以互相通信。可以通过`ifconfig`命令或编辑网络配置文件来完成网络设置。 3. 主机名配置:为了区分集群中的不同节点,使用`hostnamectl set-hostname`命令设置每台虚拟机的主机名为`db1`和`db2`,并重启虚拟机以使更改生效。 4. 共享存储设置:在ESXi上为每台虚拟机添加共享存储设备,并在CentOS 7.8上创建磁盘分区并格式化。可以通过`fdisk`或`parted`命令创建分区,然后使用`mkfs`命令格式化分区。 5. udev规则配置:为了确保Oracle ASM能够正确识别共享磁盘,需要在每台虚拟机上配置udev规则。可以通过编辑`/etc/udev/rules.d/99-oracle-asmdevices.rules`文件并添加相应的udev规则来实现。 6. Oracle ASM磁盘组创建:在确认磁盘设备已正确识别后,使用Oracle提供的工具如`asmca`或命令行工具`GRID_HOME/bin/addasm_disk`来创建磁盘组,并添加共享磁盘到磁盘组中。 7. RAC安装和配置:安装Oracle Grid Infrastructure和数据库软件,配置OCR和Voting Disks,并进行网络和存储的最终配置。通过执行`gridSetup.sh`来安装Grid Infrastructure,并使用`dbca`工具来创建数据库实例。 8. 测试集群:完成所有配置后,进行故障转移和恢复测试,确保集群能够在出现故障时自动切换到备用节点,保证业务的连续性。 以上步骤详细指导了如何在ESXi 7.0环境下搭建Oracle 19c RAC集群并配置共享存储。为了深入理解和掌握整个过程,建议仔细阅读《Oracle 19c集群搭建教程:ESXi 7.0下CentOS 7.8环境》。这份教程不仅涵盖了集群搭建的每个步骤,还包括了故障排除和优化的高级内容,对于追求高可用数据库环境的技术人员来说,是一份宝贵的参考资料。 参考资源链接:[Oracle 19c集群搭建教程:ESXi 7.0下CentOS 7.8环境](https://wenku.csdn.net/doc/4xxuffzzrg)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值