更多文章,欢迎关注作者公众号,欢迎一起交流。
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 数据库软件安装与建库详细教程】进行数据库软件安装以及创建数据库。