Oracle 19.3 Grid Infrastructure 软件安装详细教程

article/2025/9/22 11:42:21

更多文章,欢迎关注作者公众号,欢迎一起交流。

1 安装环境

  • CentOS 7.9
  • Oracle Database 19.3 - Enterprise Edition

2 安装配置

2.1 内存要求

1)数据库安装:至少1GB,推荐2G以上;

2)Grid安装:至少8GB;

2.2 SWAP和内存关系

1)1GB ~ 2GB:1.5倍 RAM;

2)2GB ~ 16GB:1倍 RAM;

3)大于16GB:16GB

2.3 磁盘空间要求

Linux X86-64:

1)RAC Grid:至少12 GB,推荐100G

2)企业版Oracle:至少10 GB

2.4 设置主机名称

编辑/etc/hosts文件,增加主机名称:

192.168.56.109 strong strong.oracle.com

2.5 网络和防火墙配置(已配置则不需配置)

2.5.1 网络配置

[root@strong ~]# cat /etc/sysconfig/network-scripts/ifcfg-enp0s3TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=noneDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=enp0s3UUID=1e1f0b6a-9871-4268-b051-c3037442f163DEVICE=enp0s3ONBOOT=yesIPADDR=192.168.56.109PREFIX=24GATEWAY=192.168.56.1IPV6_PRIVACY=no

2.5.2 防火墙配置

查看防火墙状态,若防火墙是打开的,则将其关闭:

systemctl status firewalld

关闭防火墙(临时):

systemctl stop firewalld

关闭防火墙(永久):

systemctl disable firewalld

最后,编辑/etc/selinux/config文件,将其设置为SELINUX=permissive,并重启服务器或执行命令setenforce Permissive使其生效。

2.6 本地YUM源配置

配置本地Yum源,用于安装Grid软件所需的RPM包,首先将Linux镜像盘挂在在/mnt目录:

[root@strong ~]# mount /dev/cdrom /mnt/mount: /dev/sr0 is write-protected, mounting read-only

然后编辑Yum配置文件,切换到对应目录进行配置:

[root@strong ~]# cd /etc/yum.repos.d/[root@strong yum.repos.d]# lltotal 40-rw-r--r--. 1 root root 1664 Oct 23 2020 CentOS-Base.repo-rw-r--r--. 1 root root 1309 Oct 23 2020 CentOS-CR.repo-rw-r--r--. 1 root root 649 Oct 23 2020 CentOS-Debuginfo.repo-rw-r--r--. 1 root root 314 Oct 23 2020 CentOS-fasttrack.repo-rw-r--r--. 1 root root 630 Oct 23 2020 CentOS-Media.repo-rw-r--r--. 1 root root 1331 Oct 23 2020 CentOS-Sources.repo-rw-r--r--. 1 root root 8515 Oct 23 2020 CentOS-Vault.repo-rw-r--r--. 1 root root 616 Oct 23 2020 CentOS-x86_64-kernel.repo

删除所有自带的repo文件,新建一个本地的repo文件:

[root@strong yum.repos.d]# vim server.repo[server]name=CentOS 7.9baseurl=file:///mnt/gpgcheck=0enabled=1

最后执行clean和list命令:

[root@strong yum.repos.d]# yum clean allLoaded plugins: fastestmirror, langpacksCleaning repos: serverCleaning up list of fastest mirrors[root@strong yum.repos.d]# yum list

2.7 安装Grid 19.3 所需RPM包

在CentOS 7.9需安装的RPM包如下:

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

安装命令如下:

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

需单独安装compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm安装包。

2.8 创建用户和组

groupadd -g 54321 oinstallgroupadd -g 54322 dbagroupadd -g 54323 opergroupadd -g 54324 asmdbagroupadd -g 54325 asmadmingroupadd -g 54326 asmoperuseradd -u 54321 -g oinstall -G dba,asmdba,oper oracleuseradd -u 54322 -g oinstall -G asmadmin,asmdba,asmoper,dba,oper gridpasswd oraclepasswd grid

简单起见,扩展组不需单独创建,扩展组包括:backupdba、dgdba、kmdba、racdba。

2.9 配置内核参数

在文件/etc/sysctl.conf增加内核参数:

[root@strong ~]# vim /etc/sysctl.conffs.file-max = 6815744kernel.sem = 250 32000 100 128kernel.shmmni = 4096kernel.shmall = 1073741824kernel.shmmax = 4398046511104kernel.panic_on_oops = 1net.core.rmem_default = 262144net.core.rmem_max = 4194304net.core.wmem_default = 262144net.core.wmem_max = 1048576net.ipv4.conf.all.rp_filter = 2net.ipv4.conf.default.rp_filter = 2fs.aio-max-nr = 1048576net.ipv4.ip_local_port_range = 9000 65500

运行sysctl -p命令使其生效。

在文件/etc/security/limits.conf增加资源限制参数:

vim /etc/security/limits.confgrid soft nofile 1024grid hard nofile 65536grid soft nproc 16384grid hard nproc 16384grid soft stack 10240grid hard stack 32768grid hard memlock 134217728grid soft memlock 134217728oracle soft nofile 1024oracle hard nofile 65536oracle soft nproc 16384oracle hard nproc 16384oracle soft stack 10240oracle hard stack 32768oracle hard memlock 134217728oracle soft memlock 134217728

2.10 创建目录(root用户)

创建目录用于Grid、Oracle软件安装:

mkdir -p /u01/app/19.0.0/gridmkdir -p /u01/app/gridmkdir -p /u01/app/oraclechown -R grid:oinstall /u01chown oracle:oinstall /u01/app/oraclechmod -R 775 /u01/

3 磁盘配置(udev方式)

可以通过ASMLib、UDEV和ASMFD三种方式之一对ASM磁盘进行配置,这里通过UDEV方式。

3.1 Linux系统关闭情况下增加3块硬盘

 3.2 创建分区

1)查看硬盘信息

[root@strong ~]# fdisk -l|grep /dev/sdDisk /dev/sda: 53.7 GB, 53687091200 bytes, 104857600 sectors/dev/sda1 2048 62916607 31457280 83 Linux/dev/sda2 62916608 79693823 8388608 82 Linux swap / Solaris/dev/sda3 * 79693824 104857599 12581888 83 LinuxDisk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 sectorsDisk /dev/sdc: 10.7 GB, 10737418240 bytes, 20971520 sectorsDisk /dev/sdd: 10.7 GB, 10737418240 bytes, 20971520 sectors[root@strong ~]#

2)对磁盘/dev/sdb、/dev/sdc、/dev/sdd进行分区

[root@strong ~]# fdisk /dev/sdbWelcome to fdisk (util-linux 2.23.2).Changes will remain in memory only, until you decide to write them.Be careful before using the write command.Device does not contain a recognized partition tableBuilding a new DOS disklabel with disk identifier 0x43d97a3d.Command (m for help): nPartition type:p primary (0 primary, 0 extended, 4 free)e extendedSelect (default p): pPartition number (1-4, default 1):First sector (2048-20971519, default 2048):Using default value 2048Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519):Using default value 20971519Partition 1 of type Linux and of size 10 GiB is setCommand (m for help): wThe partition table has been altered!Calling ioctl() to re-read partition table.Syncing disks.

使用上述方法对/dev/sdc、/dev/sdd创建分区

3)创建分区后查看磁盘信息

[root@strong ~]# fdisk -l|grep /dev/sdDisk /dev/sda: 53.7 GB, 53687091200 bytes, 104857600 sectors/dev/sda1 2048 62916607 31457280 83 Linux/dev/sda2 62916608 79693823 8388608 82 Linux swap / Solaris/dev/sda3 * 79693824 104857599 12581888 83 LinuxDisk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 sectors/dev/sdb1 2048 20971519 10484736 83 LinuxDisk /dev/sdc: 10.7 GB, 10737418240 bytes, 20971520 sectors/dev/sdc1 2048 20971519 10484736 83 LinuxDisk /dev/sdd: 10.7 GB, 10737418240 bytes, 20971520 sectors/dev/sdd1 2048 20971519 10484736 83 Linux

3.3 配置UDEV SCSI规则

使用udev方式配置共享磁盘,这里以CentOS Linux 7.9为例,若使用其他Linux版本,可参考文章【Oracle Linux 5,6,7和8环境配置UDEV SCSI规则】。

1)识别磁盘SCSI ID信息

[root@strong ~]# /usr/lib/udev/scsi_id -g -u -d /dev/sdb1ATA_VBOX_HARDDISK_VB3beb9c3b-66a70d40[root@strong ~]# /usr/lib/udev/scsi_id -g -u -d /dev/sdc1ATA_VBOX_HARDDISK_VBb885f33c-1104e024[root@strong ~]# /usr/lib/udev/scsi_id -g -u -d /dev/sdd1ATA_VBOX_HARDDISK_VB87c3e0a7-c2df4e3c

2)创建配置文件/etc/scsi_id.config,使SCSI设备可信,若该文件不存在,则创建,增加如下内容

options=-g

3)创建UDEV规则文件

[root@strong ~]# vim /etc/udev/rules.d/99-oracle-asmdevices.rulesKERNEL=="sd?1", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d /dev/$parent", RESULT=="1ATA_VBOX_HARDDISK_VB3beb9c3b-66a70d40", SYMLINK+="asm-disk1", OWNER="grid", GROUP="asmadmin", MODE="0660"KERNEL=="sd?1", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d /dev/$parent", RESULT=="1ATA_VBOX_HARDDISK_VBb885f33c-1104e024", SYMLINK+="asm-disk2", OWNER="grid", GROUP="asmadmin", MODE="0660"KERNEL=="sd?1", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d /dev/$parent", RESULT=="1ATA_VBOX_HARDDISK_VB87c3e0a7-c2df4e3c", SYMLINK+="asm-disk3", OWNER="grid", GROUP="asmadmin", MODE="0660"

4)加载更新的块设备分区

[root@strong ~]# /sbin/partprobe /dev/sdb1[root@strong ~]# /sbin/partprobe /dev/sdc1[root@strong ~]# /sbin/partprobe /dev/sdd1

5)测试规则,以/block/sdb/sdb1为例

[root@strong ~]# udevadm test /block/sdb/sdb1

6)重启UDEV服务

[root@strong ~]# /sbin/udevadm control --reload-rules

7)检查所有者与权限

[grid@strong ~]$ ll /dev/sd*1brw-rw---- 1 root disk 8, 1 Jan 9 15:05 /dev/sda1brw-rw---- 1 grid asmadmin 8, 17 Jan 9 15:14 /dev/sdb1brw-rw---- 1 grid asmadmin 8, 33 Jan 9 15:14 /dev/sdc1brw-rw---- 1 grid asmadmin 8, 49 Jan 9 15:14 /dev/sdd1[grid@strong ~]$[grid@strong ~]$ ll /dev/asm-disk*lrwxrwxrwx 1 root root 4 Jan 9 15:14 /dev/asm-disk1 -> sdb1lrwxrwxrwx 1 root root 4 Jan 9 15:14 /dev/asm-disk2 -> sdc1lrwxrwxrwx 1 root root 4 Jan 9 15:14 /dev/asm-disk3 -> sdd1

4 Grid软件安装

4.1 上传grid软件

上传grid安装软件至grid home目录:

[grid@strong ~]$ ll /home/grid/LINUX.X64_193000_grid_home.zip-rw-r--r-- 1 grid oinstall 2889184573 Jan 9 15:27 /home/grid/LINUX.X64_193000_grid_home.zip

4.2 解压grid软件

解压grid软件,将软件解压至 /u01/app/19.0.0/grid/目录,加压的软件作为安装的一部分:

[grid@strong ~]$ cd /u01/app/19.0.0/grid/[grid@strong grid]$ unzip -q /home/grid/LINUX.X64_193000_grid_home.zip

4.3 安装Grid软件

1)执行命令弹出选择配置选项界面,点击Next

[grid@strong ~]$ /u01/app/19.0.0/grid/gridSetup.sh

 2)创建ASM磁盘组

 3)指定ASM密码

 4)指定管理选项,若安装EMCC,可进行接入,这里忽略

 5)指定操作系统权限组,默认

 6)指定安装位置,默认

 7)创建安装仓库

 8)Root脚本执行配置,若自动进行执行root脚本,勾选Automatically run configuration scripts

 9)执行先决条件检查,若失败,可点击Fix & Check Again,直至问题修复

 10)先决条件检查完毕,出现概要页面

 11)安装产品,安装过程中执行root脚本,执行完脚本点击OK

[root@strong ~]# /u01/app/19.0.0/oraInventory/orainstRoot.shChanging permissions of /u01/app/19.0.0/oraInventory.Adding read,write permissions for group.Removing read,write,execute permissions for world.Changing groupname of /u01/app/19.0.0/oraInventory to oinstall.The execution of the script is complete.[root@strong ~]# /u01/app/19.0.0/grid/root.shPerforming root user operation.The following environment variables are set as:ORACLE_OWNER= gridORACLE_HOME= /u01/app/19.0.0/gridEnter the full pathname of the local bin directory: [/usr/local/bin]:Copying dbhome to /usr/local/bin ...Copying oraenv to /usr/local/bin ...Copying coraenv to /usr/local/bin ...Creating /etc/oratab file...Entries will be added to the /etc/oratab file as needed byDatabase Configuration Assistant when a database is createdFinished running generic part of root script.Now product-specific root actions will be performed.Using configuration parameter file: /u01/app/19.0.0/grid/crs/install/crsconfig_paramsThe log of current session can be found at:/u01/app/19.0.0/grid_base/crsdata/strong/crsconfig/roothas_2022-01-09_04-02-47PM.logLOCAL ADD MODECreating OCR keys for user 'grid', privgrp 'oinstall'..Operation successful.LOCAL ONLY MODESuccessfully accumulated necessary OCR keys.Creating OCR keys for user 'root', privgrp 'root'..Operation successful.CRS-4664: Node strong successfully pinned.2022/01/09 16:02:53 CLSRSC-330: Adding Clusterware entries to file 'oracle-ohasd.service'strong 2022/01/09 16:03:26 /u01/app/19.0.0/grid_base/crsdata/strong/olr/backup_20220109_160326.olr 7249608442022/01/09 16:03:27 CLSRSC-327: Successfully configured Oracle Restart for a standalone server[root@strong ~]#

12)安装完成,点击Close

 13)完善环境变量,在grid用户下.bash_profile文件新增如下内容

export ORACLE_SID=+ASMexport ORACLE_BASE=/u01/app/gridexport ORACLE_HOME=/u01/app/19.0.0/gridexport PATH=$PATH:$ORACLE_HOME/bin

14)生效环境变量

[grid@strong ~]$ . .bash_profile

15)查看资源和实例信息

[grid@strong ~]$ crsctl stat res -t--------------------------------------------------------------------------------Name Target State Server State details--------------------------------------------------------------------------------Local Resources--------------------------------------------------------------------------------ora.DATA.dgONLINE ONLINE strong STABLEora.LISTENER.lsnrONLINE ONLINE strong STABLEora.asmONLINE ONLINE strong Started,STABLEora.onsOFFLINE OFFLINE strong STABLE--------------------------------------------------------------------------------Cluster Resources--------------------------------------------------------------------------------ora.cssd1 ONLINE ONLINE strong STABLEora.diskmon1 OFFLINE OFFLINE STABLEora.evmd1 ONLINE ONLINE strong STABLE--------------------------------------------------------------------------------[grid@strong ~]$ sqlplus / as sysasmSQL*Plus: Release 19.0.0.0.0 - Production on Sun Jan 9 16:22:56 2022Version 19.3.0.0.0Copyright (c) 1982, 2019, Oracle. All rights reserved.Connected to:Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - ProductionVersion 19.3.0.0.0SQL> select instance_name,status from v$instance;INSTANCE_NAME STATUS---------------- ------------+ASM STARTEDSQL>

至此,Oracle 19.3 Grid Infrastructure 软件安装完成,接下来可以参考【Oracle 19.3 数据库软件安装与建库详细教程】进行数据库软件安装以及创建数据库。


http://chatgpt.dhexx.cn/article/OOAnuqKO.shtml

相关文章

Oracle 19c Grid Infrastructure安装

概述 本文描述在单个主机上(不是RAC)GI 19c的安装。 Oracle数据库软件19c已安装,但未创建任何数据库。参见这篇文章。 主机为Oracle Linux 7,主机上已安装先决条件包(oracle-database-preinstall-19c),数据库软件用户…

infra-structure Ad Hoc

“infrastructure”模式: 所谓infrastructure是在一种整合有线与无线局域网架构的应用模式,与ad- hoc不同的是配备无线网卡的设备必须通过ap来进行无线通讯,设置后,无线网络设备就必须有AP(Access Pointer)…

DDD(八)【基础设施层】

最近被DDD吸引了阿,在这里感谢一下小佟,呵呵,领域驱动设计是个不错的东西,帮助我们把问题清晰化,这候对于复杂业务逻辑是很重要的,今天这一讲主要说一下D&…

DB2初步使用

DB2初步使用 1.安装完成后开始菜单栏里会有一个 DB2 Command Window - Administrator 打开这个命令窗口 2.db2  db2,启动 3.list databse directory 会列出所有数据库 create databse XXX  创建新的数据库XXX  drop database XXX  删除已有数据库XXX 4.conn…

db2 时间戳相减返回天数

db2时间戳类型时间相减返回天数,先用timestampdiff函数让时间戳相减得到秒,然后利用cast()函数转换成天数。timestampdiff()函数中的时间一定是时间戳timestamp类型。 select cast(timestampdiff(2,(CURRENT_TIMESTAMP - 2021-08-10 11:00:00)) as doub…

Linux 命令行进入DB2

1. docker ps 2.docker exec -it 813cb755c14c /bin/bash 3.su - db2inst1 进入DB2账户下 4.db2 list db directory 列出目前所有数据库 5. db2 直接进入db2数据库命令行模式 6.db2 connect to testdb(testdb数据库名称) 如果需要对某一个数据库操作…

DB2安装到卸载一套龙服务

DB2安装到卸载一套龙服务 1.DB2数据库下载 下载地址: 点击这里下载 点击链接保存,或者复制本段内容,打开「阿里云盘」APP 下载下来是 3 号 双击3解压 会有一个弹框,为四号 ,点击Browse 这里选择解压地址,我是解压…

db2获取日志路径

db2 get db cfg for bpfdb3 | grep log

db2的启动命令

想重启db2库,直接使用db2stop命令,执行报错 这样停不掉,因为有连接在上面 查看连接 db2 list applications show detail 发现有很多连接,连接在bpfdb5这个库上面 杀掉所有的连接 db2 force application all 再次检查连接 发现没…

db2top操作手册

本手册译自: https://www.ibm.com/developerworks/data/library/techarticle/dm-0812wang/ 目录 1.db2top命令语法... 4 2.db2top运行模式... 5 2.1 交互模式... 5 2.2 批量模式... 6 3.db2top监控模式... 8 3.1 数据库监控 (d). 8 3.2 表空间监控 (t). 9 3.3 动态SQL监…

DB2基础语法与简单使用

1、启动 [rootMyClone hadoop]# su db2inst1[db2inst1MyClone hadoop]$ db2start2、创建数据库 [db2inst1MyClone hadoop]$ db2 create database hiber;3、 列出数据库 [db2inst1MyClone hadoop]$ db2 list db directory4、连接数据库 [db2inst1MyClone hadoop]$ db2 conne…

awk的使用

awk的使用 一、awk的作用 1.用来从文本中截取字符串 2.用来匹配过滤文本,起到grep的作用 二、awk里面的分隔符 1、输入分隔符: -F -FS":" FS(input field separater)2、输出分隔符: 定义OFS“#” OFS&a…

AWK基础教程

前言 之前针对WorkerHub小程序做的数据分析文章 互联网卷王花落谁家? 收到了一些小伙伴的回复,点名要学习数据分析,其实我也是一知半解,想着来写几篇文章简单聊下我分析的过程。 首先是数据清洗和统计了,这块我并没有…

详解AWK的用法

Awk工具介绍 AwK是一种处理文本文件的语言,是一个强大的文本分析工具。 它是专门为文本处理设计的编程语言,也是行处理软件,通常用于扫描、过滤、统计汇总工作。数据可以来自标准输入也可以是管道或文件 20世纪70年代诞生于贝尔实验室&#…

Shell脚本文本三剑客之AWK

目录 一、AWK工具介绍 1.1AWK命令的基本格式 1.2AWK工作原理 1.3常见的内建变量(可直接用) 二、实例 2.1打印文本内容 案例1:打印磁盘已经使用情况 案例2:打印字符串 案例3:打印字符串确定文件有多少行 2.2根据$n提取字…

AWK常用技巧

1.1 介绍 awk其名称得自于它的创始人 Alfred Aho 、Peter Weinberger 和 Brian Kernighan 姓氏的首个字母。实际上 AWK 的确拥有自己的语言: AWK 程序设计语言 , 三位创建者已将它正式定义为“样式扫描和处理语言”。 它允许您创建简短的程序&#xff…

AWK用法全解

一、awk介绍 awk是Linux自带的一个逐行扫描的文本处理工具,支持正则表达式、循环控制、条件判断、格式化输出。AWK自身带有一些变量,可以在书写脚本时调用。 二、基本语法格式 2.1、在shell中使用awk awk [option] 代码块 文件名 option的选项及含义…

awk文本工具

awk 一、什么是awk?二、awk的工作原理三、命令格式四、管道符号调用四、getline 一、什么是awk? awk命令是一种编程语言,用于在linux/unix下对文本和数据进行处理。 而且它支持用户自定义函数和动态正则表达式等先进功能,是linux…

shell之三剑客awk(基础用法)

文章目录 一、awk概述1、awk工作原理 二、awk的格式三、内置变量演示1、【$n】进行演示2、【$0】的演示3、【NF】(多少列) 和 【NR】(多少行)的演示4、面试题5、BEGIN开始和END结尾6、模糊匹配7、关于数值与字符串的比较 四、总结 一、awk概述 AWK是一种处理文本文件的语言&am…

《J2EE 学习笔记 之 idea 搭建 SSM 项目》

J2EE 学习笔记 之 idea 搭建 SSM 项目 详细步骤 step1 step2 step3 step4 step5