暂无图片
暂无图片
5
暂无图片
暂无图片
暂无图片

Rhel7.4-19cRAC静默安装

2024,记录自己学习的过程!本文参考了许多大佬的文章,收货也颇多!

一、基础环境

主机规划

ip hosts memory cpu swap disk
81.27.74.106 ora19c1 8G 2C 16G / 100G
81.27.74.107 ora19c2 8G 2C 16G / 100G
81.27.74.108 ora19c1-vip - - - -
81.27.74.109 ora19c2-vip - - - -
81.27.74.110 ora19c-scan - - - -
10.0.0.101 ora19c1-priv - - - -
10.0.0.102 ora19c2-priv - - - -

存储规划

path size
/dev/asm_ocr1 1G
/dev/asm_ocr2 1G
/dev/asm_ocr3 1G
/dev/asm_data1 5G
/dev/asm_fra1 2G

1)配置hosts

cat >> /etc/hosts <<EOF 81.27.74.106 ora19c1 81.27.74.107 ora19c2 81.27.74.108 ora19c1-vip 81.27.74.109 ora19c2-vip 81.27.74.110 ora19c-scan 10.0.0.101 ora19c1-priv 10.0.0.102 ora19c2-priv EOF

2)关闭防火墙

systemctl stop firewalld.service systemctl disable firewalld.service systemctl is-enabled firewalld.service #关闭avahi-daemon服务,官方文档已经列出一些BUG,建议关闭。 systemctl stop avahi-daemon.socket avahi-daemon.service systemctl disable avahi-daemon.socket avahi-daemon.service sed -i "s#SELINUX=enforcing#SELINUX=disabled#g" /etc/selinux/config&&cat /etc/selinux/config

3)禁用NTP

systemctl stop ntpd systemctl disable ntpd systemctl stop chronyd.service systemctl disable chronyd.service rm -f /etc/chrony.conf

4)检查系统语言环境和时区

# 检查语言环境 [root@ora19c1 ~]# localectl # 调整方法: localectl set-locale LANG=en_US.UTF8 && localectl status|grep LANG #其它的版本 LANG="en_US.UTF-8" # RHEL7 查看时间时区 timedatectl #设置时区 timedatectl set-timezone "Asia/Shanghai" timedatectl set-time HH:MM:SS timedatectl set-time "2012-10-30 18:17:16" #将系统时间同步给硬件时间 timedatectl set-local-rtc 1 # RHEL 7之前的版本查看时间 date -R && grep "ZONE=" /etc/sysconfig/clock echo -e "5\n9\n1\n1" | tzselect && ln /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #修改系统时间 date -s "2023-04-03 11:10:00" && hwclock --systohc

5)配置NOZEROCONF

# 防止169.254.0.0/255.255.0.0添加到自动路由表,影响集群 echo "NOZEROCONF=yes" >> /etc/sysconfig/network

6)修改内核参数

echo "fs.file-max = 6815744 kernel.sem = 250 32000 100 128 kernel.panic_on_oops = 1 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 net.ipv4.conf.all.rp_filter = 2 net.ipv4.conf.default.rp_filter = 2 fs.aio-max-nr = 1048576 net.ipv4.ip_local_port_range = 9000 65500 kernel.shmmni = 4096 kernel.shmall = 2097152 kernel.shmmax = 8589934592 vm.nr_hugepages = 2500" >> /etc/sysctl.conf sysctl -p # # kernel.shmmax Linux进程单个共享内存段的最大大小,需大于SGA的设置大小(单位是byte) # kernel.shmall 共享内存的总页数, at least ceil(shmmax/PAGE_SIZE) # kernel.shmmni 该参数设置系统范围内共享内存段的最大数目,最小是4096 #

7)修改系统资源限制参数

vi /etc/security/limits.conf grid soft nproc 16384 grid hard nproc 16384 grid soft nofile 65536 grid hard nofile 65536 grid soft stack 32768 grid hard stack 32768 oracle soft nproc 16384 oracle hard nproc 16384 oracle soft nofile 65536 oracle hard nofile 65536 oracle soft stack 32768 oracle hard stack 32768 oracle hard memlock 8388608 oracle soft memlock 8388608

8)控制给用户分配的资源

echo "session required pam_limits.so" >> /etc/pam.d/login cat /etc/pam.d/login

9)关闭透明大页和numa

vi /etc/default/grub # 在 GRUB_CMDLINE_LINUX 的末尾加入下面的配置 transparent_hugepage=never numa=off # 执行命令重新生成配置文件 grub2-mkconfig -o /boot/grub2/grub.cfg

10)调整共享内存挂载点大小

vi /etc/fstab tmpfs /dev/shm tmpfs defaults,size=6144m 0 0 mount -o remount /dev/shm

11)创建用户名和组

groupadd -g 601 oinstall groupadd -g 602 dba groupadd -g 603 oper groupadd -g 604 backupdba groupadd -g 605 dgdba groupadd -g 606 kmdba groupadd -g 607 asmdba groupadd -g 608 asmoper groupadd -g 609 asmadmin useradd -u 601 -g oinstall -G asmadmin,asmdba,dba,asmoper grid useradd -u 602 -g oinstall -G dba,backupdba,dgdba,kmdba,asmadmin,oper,asmdba oracle echo "oracle" | passwd --stdin grid echo "oracle" | passwd --stdin oracle

12)创建目录并且授权

mkdir -p /u01/app/oraInventory mkdir -p /u01/app/19.3.0/grid mkdir -p /u01/app/grid mkdir -p /u01/app/oracle/cfgtoollogs mkdir -p /u01/app/oracle/product/19.3.0/db_1 chown -R grid:oinstall /u01 chown -R oracle:oinstall /u01/app/oracle chmod -R 775 /u01/

13)配置环境变量

su - oracle vi ~/.bash_profile export PS1="[`whoami`@`hostname`:"'$PWD]$' export TMP=/tmp export TMPDIR=$TMP export ORACLE_HOSTNAME=ora19c1 export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=/u01/app/oracle/product/19.3.0/db_1 export ORACLE_SID=ora19c1 export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK" export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS" export TNS_ADMIN=$ORACLE_HOME/network/admin export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib export PATH=.:$PATH:$HOME/bin:$ORACLE_HOME/bin export THREADS_FLAG=native;export THREADS_FLAG if [ $USER = "oracle" ] || [ $USER = "grid" ]; then if [ $SHELL = "/bin/ksh" ];then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi umask 022 fi alias sqlplus='rlwrap sqlplus' alias rman='rlwrap rman' ############################################################# su - grid vi ~/.bash_profile export PS1="[`whoami`@`hostname`:"'$PWD]$' umask 022 export TMP=/tmp export TMPDIR=$TMP export ORACLE_SID=+ASM1 export ORACLE_TERM=xterm; export ORACLE_BASE=/u01/app/grid export ORACLE_HOME=/u01/app/19.3.0/grid export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK" export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS" export TNS_ADMIN=$ORACLE_HOME/network/admin export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib export PATH=.:$PATH:$HOME/bin:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch export THREADS_FLAG=native if [ $USER = "oracle" ] || [ $USER = "grid" ]; then if [ $SHELL = "/bin/ksh" ];then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi umask 022 fi alias sqlplus='rlwrap sqlplus' alias asmcmd='rlwrap asmcmd'

14)安装依赖包

https://docs.oracle.com/en/database/oracle/oracle-database/19/cwlin/supported-oracle-linux-7-distributions-for-x86-64.html#GUID-3E82890D-2552-4924-B458-70FFF02315F7
image20240224222550996.png

yum install -y bc binutils compat-libcap1 compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel fontconfig-devel glibc glibc-devel ksh libaio libaio-devel libXrender libXrender-devel libX11 libXau libXi libXtst libgcc libstdc++ libstdc++-devel libxcb make policycoreutils policycoreutils-python smartmontools sysstat gcc-c++ nfs-utils net-tools # 上传软件包 # compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm # kmod-20-21.el7.x86_64.rpm # kmod-libs-20-21.el7.x86_64.rpm rpm -ivh compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm yum install -y kmod-20-21.el7.x86_64.rpm kmod-libs-20-21.el7.x86_64.rpm

二、配置共享磁盘

1)SCSI前置

需要安装iscsi-initiator-utils、device-mapper及device-mapper-multipath(这里带着多路径的包一起装了)

# 检查是否安装 rpm -qa | grep iscsi rpm -qa | grep device-mapper # 安装 yum install iscsi-initiator* yum install device-mapper device-mapper-event device-mapper-multipath device-mapper-multipath-libs # iscsi、iscsid服务控制 systemctl start iscsi.service systemctl start iscsid.service # 发现存储 iscsiadm -m discovery -t st -p 192.168.10.55 # 查询已发现的ISCSI iscsiadm -m node

执行完上一步,使用fdisk -l还是查看不到磁盘,执行下面登陆命令就能看到磁盘了

# 全部登陆 iscsiadm -m node --loginall=all # 单条链路登陆,简写就不在这放了,iqn在WEB管理页面volumns-LUN Mapping下 iscsiadm --mode node --targetname iqn.2006-01.com.openfiler:tsn.f33a86dd5860 --portal 192.168.10.55:3260 --login iscsiadm --mode node --targetname iqn.2006-01.com.openfiler:tsn.f33a86dd5860 --portal 10.10.10.15:3260 --login # 链路逐个登出 iscsiadm --mode node --targetname iqn.2006-01.com.openfiler:tsn.f33a86dd5860 --portal 192.168.10.55:3260 --logout iscsiadm --mode node --targetname iqn.2006-01.com.openfiler:tsn.f33a86dd5860 --portal 10.10.10.15:3260 --logout # 链路全部登出 iscsiadm -m node --logoutall=all # 新增加iscsi存储目标后刷新 iscsiadm -m session -R

另外有iscsi需要了解

#iscsi主目录 /var/lib/iscsi/ #查看发现的路径 /var/lib/iscsi/send_targets #节点信息 /var/lib/iscsi/nodes

2)udev绑定

不用分区

# 查看磁盘大小 lsblk # 获取名称和ID,下面是两种方式 udevadm info --query=all --name=/dev/sdb |grep -i ID_SERIAL= # 创建UDEV规则文件 cd /etc/udev/rules.d touch 99-oracle-asmdevices.rules # 脚本 for i in b c d e f;do echo "/dev/sd$i = `udevadm info --query=all --name=/dev/sdb |grep -i ID_SERIAL=`" done
KERNEL=="sdb", ENV{ID_SERIAL}=="36000c29ef68c52da0927ac6b47741602", SYMLINK+="asm_ocr1", OWNER="grid", GROUP="asmadmin", MODE="0660" KERNEL=="sdc", ENV{ID_SERIAL}=="36000c296d5178692e85a92d41655e7ea", SYMLINK+="asm_ocr2", OWNER="grid", GROUP="asmadmin", MODE="0660" KERNEL=="sdd", ENV{ID_SERIAL}=="36000c29ce8008651cc4c71f674520711", SYMLINK+="asm_ocr3", OWNER="grid", GROUP="asmadmin", MODE="0660" KERNEL=="sde", ENV{ID_SERIAL}=="36000c29fe08a6a3c8a91c8263222dafd", SYMLINK+="asm_data1", OWNER="grid", GROUP="asmadmin", MODE="0660" KERNEL=="sdf", ENV{ID_SERIAL}=="36000c29d204e2742d8fb64bece0281f4", SYMLINK+="asm_fra1", OWNER="grid", GROUP="asmadmin", MODE="0660"
#【非生产操作】配置完成,重启UDEV(新装环境可以这么操作,但是生产环境不能直接重启) systemctl restart systemd-udevd.service udevadm control --reload-rules udevadm trigger #【生产操作】生产环境操作,触发变更 /sbin/udevadm trigger --type=devices --action=change

三、安装GI

# Oracle19c(12.2.0.3)安装的时候,由于grid安装包相当于一个绿色版的压缩包,解压缩时需要注意以下两点: # su - grid 切换到grid用户解压缩包 # /oracle/app/19.3.0/grid 解压缩到grid家目录

1)安装cvuqdisk

cd /u01/app/19.3.0/grid/cv/rpm/ su - root export CVUQDISK_GRP=asmadmin rpm -ivh cvuqdisk-1.0.10-1.rpm # 将 cvuqdisk-1.0.10-1.rpm 拷贝到另一节点,执行安装。

2)配置互信

/u01/app/19.3.0/grid/oui/prov/resources/scripts/sshUserSetup.sh -user grid -hosts "ora19c1 ora19c2" -advanced -noPromptPassphrase /u01/app/19.3.0/grid/oui/prov/resources/scripts/sshUserSetup.sh -user oracle -hosts "ora19c1 ora19c2" -advanced -noPromptPassphrase

3)安装前检查

[grid@ora19c1 ~]$ cd $ORACLE_HOME [grid@ora19c1 grid]$ ./runcluvfy.sh stage -pre crsinst -n "ora19c1,ora19c2" -verbose

4)设置响应文件

oracle.install.responseFileVersion=/oracle/install/rspfmt_crsinstall_response_schema_v19.0.0 INVENTORY_LOCATION=/u01/app/oraInventory oracle.install.option=CRS_CONFIG ORACLE_BASE=/u01/app/grid oracle.install.asm.OSDBA=asmdba oracle.install.asm.OSOPER=asmoper oracle.install.asm.OSASM=asmadmin oracle.install.crs.config.scanType=LOCAL_SCAN oracle.install.crs.config.SCANClientDataFile= oracle.install.crs.config.gpnp.scanName=ora19c-scan oracle.install.crs.config.gpnp.scanPort=1521 oracle.install.crs.config.ClusterConfiguration=STANDALONE oracle.install.crs.config.configureAsExtendedCluster=false oracle.install.crs.config.memberClusterManifestFile= oracle.install.crs.config.clusterName=ora19c-cluster oracle.install.crs.config.gpnp.configureGNS=false oracle.install.crs.config.autoConfigureClusterNodeVIP=false oracle.install.crs.config.gpnp.gnsOption= oracle.install.crs.config.gpnp.gnsClientDataFile= oracle.install.crs.config.gpnp.gnsSubDomain= oracle.install.crs.config.gpnp.gnsVIPAddress= oracle.install.crs.config.sites= oracle.install.crs.config.clusterNodes=ora19c1:ora19c1-vip,ora19c2:ora19c2-vip oracle.install.crs.config.networkInterfaceList=enp0s3:81.27.74.0:1,enp0s8:10.0.0.0:5 oracle.install.crs.configureGIMR=false oracle.install.asm.configureGIMRDataDG=false oracle.install.crs.config.storageOption=FLEX_ASM_STORAGE oracle.install.crs.config.sharedFileSystemStorage.votingDiskLocations= oracle.install.crs.config.sharedFileSystemStorage.ocrLocations= oracle.install.crs.config.useIPMI=false oracle.install.crs.config.ipmi.bmcUsername= oracle.install.crs.config.ipmi.bmcPassword= oracle.install.asm.SYSASMPassword=oracle oracle.install.asm.diskGroup.name=OCR oracle.install.asm.diskGroup.redundancy=NORMAL oracle.install.asm.diskGroup.AUSize=4 oracle.install.asm.diskGroup.FailureGroups= oracle.install.asm.diskGroup.disksWithFailureGroupNames= oracle.install.asm.diskGroup.disks=/dev/asm_ocr1,/dev/asm_ocr2,/dev/asm_ocr3 oracle.install.asm.diskGroup.quorumFailureGroupNames= oracle.install.asm.diskGroup.diskDiscoveryString=/dev/asm* oracle.install.asm.monitorPassword=oracle oracle.install.asm.gimrDG.name= oracle.install.asm.gimrDG.redundancy= oracle.install.asm.gimrDG.AUSize=1 oracle.install.asm.gimrDG.FailureGroups= oracle.install.asm.gimrDG.disksWithFailureGroupNames= oracle.install.asm.gimrDG.disks= oracle.install.asm.gimrDG.quorumFailureGroupNames= oracle.install.asm.configureAFD=false oracle.install.crs.configureRHPS=false oracle.install.crs.config.ignoreDownNodes=false oracle.install.config.managementOption=NONE oracle.install.config.omsHost= oracle.install.config.omsPort=0 oracle.install.config.emAdminUser= oracle.install.config.emAdminPassword= oracle.install.crs.rootconfig.executeRootScript=false oracle.install.crs.rootconfig.configMethod= oracle.install.crs.rootconfig.sudoPath= oracle.install.crs.rootconfig.sudoUserName= oracle.install.crs.config.batchinfo= oracle.install.crs.app.applicationAddress= oracle.install.crs.deleteNode.nodes=

5)执行安装脚本

[grid@ora19c1 grid]$ ./gridSetup.sh -silent -ignorePrereqFailure -responseFile /home/grid/gi.rsp

image20240225160358473.png

按要求执行脚本

image20240225161619666.png

image20240225161638000.png

image20240225161839684.png

image20240225161908744.png

image20240225162355518.png

6)创建磁盘组

set lines 125 col MOUNT_STATUS heading "MOUNT|STATUS" col HEADER_STATUS heading "HEADER|STATUS" col path for a16 col name for a10 col STATE for a10 col MOUNT_STATUS for a7 col HEADER_STATUS for a10 select name,path,TOTAL_MB,FREE_MB,MOUNT_STATUS,STATE,HEADER_STATUS from v$asm_disk; MOUNT HEADER NAME PATH TOTAL_MB FREE_MB STATUS STATE STATUS ---------- ---------------- ---------- ---------- ------- ---------- ---------- /dev/asm_data1 0 0 CLOSED NORMAL CANDIDATE /dev/asm_fra1 0 0 CLOSED NORMAL CANDIDATE OCR_0001 /dev/asm_ocr1 1024 720 CACHED NORMAL MEMBER OCR_0000 /dev/asm_ocr2 1024 720 CACHED NORMAL MEMBER OCR_0002 /dev/asm_ocr3 1024 716 CACHED NORMAL MEMBER create diskgroup data external redundancy disk '/dev/asm_data1' ATTRIBUTE 'au_size'='4M','compatible.asm' = '19.0'; create diskgroup fra external redundancy disk '/dev/asm_fra1' ATTRIBUTE 'au_size'='4M','compatible.asm' = '19.0';

四、安装数据库

1)准备数据库软件响应文件

oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v19.0.0 oracle.install.option=INSTALL_DB_SWONLY UNIX_GROUP_NAME=oinstall INVENTORY_LOCATION=/u01/app/oraInventory ORACLE_BASE=/u01/app/oracle oracle.install.db.InstallEdition=EE oracle.install.db.OSDBA_GROUP=dba oracle.install.db.OSOPER_GROUP=oper oracle.install.db.OSBACKUPDBA_GROUP=backupdba oracle.install.db.OSDGDBA_GROUP=dgdba oracle.install.db.OSKMDBA_GROUP=kmdba oracle.install.db.OSRACDBA_GROUP=dba oracle.install.db.rootconfig.executeRootScript=false oracle.install.db.rootconfig.configMethod= oracle.install.db.rootconfig.sudoPath= oracle.install.db.rootconfig.sudoUserName= oracle.install.db.CLUSTER_NODES=ora19c1,ora19c2

2)安装数据库软件

[oracle@ora19c1 ~]$ cd $ORACLE_HOME [oracle@ora19c1 db_1]$ ./runInstaller -silent -ignorePrereqFailure -responseFile /home/oracle/db.rsp -logLevel info

在节点上分别执行脚本

image20240225170856684.png

3)准备建库响应文件

responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v19.0.0 gdbName=ora19c sid=ora19c databaseConfigType=RAC policyManaged=FALSE createServerPool=FALSE serverPoolName= createAsContainerDatabase=false nodelist=ora19c1,ora19c2 templateName=/u01/app/oracle/product/19.3.0/db_1/assistants/dbca/templates/General_Purpose.dbc sysPassword=oracle systemPassword=oracle runCVUChecks=true dbsnmpPassword=oracle dvConfiguration=false olsConfiguration=false datafileJarLocation=/u01/app/oracle/product/19.3.0/db_1/assistants/dbca/templates/ datafileDestination=DATA storageType=ASM diskGroupName=DATA asmsnmpPassword=oracle characterSet=ZHS16GBK nationalCharacterSet=AL16UTF16 registerWithDirService=FALSE listeners=LISTENER memoryPercentage=50 databaseType=MULTIPURPOSE automaticMemoryManagement=FALSE dbsnmpPassword=oracle

4)执行创建命令

[oracle@ora19c1 ~]$ dbca -silent -ignorePreReqs -ignorePrereqFailure -createDatabase -responseFile /home/oracle/dbca.rsp

五、打补丁

本次补丁选择的是19.20 RU,补丁清单如下:

  • p6880880_190000_Linux-x86-64.zip

  • p35354406_190000_Linux-x86-64.zip(OJVM)

  • p35320081_190000_Linux-x86-64.zip(DB)

  • p35319490_190000_Linux-x86-64.zip(GI)

1)解压补丁工具包

# grid、oracle用户都需要执行 [grid@ora19c2 RU]$ unzip p6880880_190000_LINUX.zip -d $ORACLE_HOME [oracle@ora19c2 RU]$ unzip p6880880_190000_LINUX.zip -d $ORACLE_HOME # 解压后验证补丁工具版本信息 $ORACLE_HOME/OPatch/opatch version # 出现如下报错信息: [grid@ora19c2 RU]$ opatch version /u01/app/19.3.0/grid/OPatch/opatch: line 839: [: too many arguments /u01/app/19.3.0/grid/OPatch/opatch: line 839: [: too many arguments Java (1.7) could not be located. OPatch cannot proceed! OPatch returns with error code = 1 # 解决方法: rm -rf $ORACLE_HOME/OPatch/jre cp -r $ORACLE_HOME/jdk/jre $ORACLE_HOME/OPatch/

2)解压补丁包

[grid@ora19c1 ~]$ cd /soft/RU/ [grid@ora19c1 RU]$ unzip p35319490_190000_Linux-x86-64.zip [grid@ora19c2 RU]$ unzip p35319490_190000_Linux-x86-64.zip

3)执行补丁冲突检查

# 使用 grid 用户 $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/RU/35319490/35320081 $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/RU/35319490/35320149 $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/RU/35319490/35332537 $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/RU/35319490/35553096 $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/RU/35319490/33575402 # 使用 oracle 用户 $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/RU/35319490/35320081 $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/RU/35319490/35320149

4)检查空间是否足够

# 使用 grid 用户 vi /tmp/patch_list_gihome.txt /soft/RU/35319490/35320081 /soft/RU/35319490/35320149 /soft/RU/35319490/35332537 /soft/RU/35319490/35553096 /soft/RU/35319490/33575402 $ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseFile /tmp/patch_list_gihome.txt # 使用 oracle 用户 vi /tmp/patch_list_dbhome.txt /soft/RU/35319490/35320081 /soft/RU/35319490/35320149 $ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseFile /tmp/patch_list_dbhome.txt

5)补丁安装预检查

[grid@ora19c1 ~]$ cluvfy stage -pre patch [grid@ora19c2 ~]$ cluvfy stage -pre patch [oracle@ora19c1 ~]$ cluvfy stage -pre patch [oracle@ora19c2 ~]$ cluvfy stage -pre patch

6)补丁安装

6.1)给GI打补丁

# 使用 root 用户 # 先备份安装目录!!!!!!!!!!!!!! tar zcvf u01_app.tar.gz /u01/app export ORACLE_HOME=/u01/app/19.3.0/grid export PATH=$PATH:$ORACLE_HOME/OPatch opatchauto apply /soft/RU/35319490/ -oh $ORACLE_HOME

在打补丁时,遇见如下报错信息

image20240226135853739.png

根据报错提示,缺少fuser命令,按照下面的方式解决,然后重新运行打补丁命令

[root@ora19c1 RU]# yum search fuser Loaded plugins: product-id, search-disabled-repos, subscription-manager This system is not registered with an entitlement server. You can use subscription-manager to register. ========================================= Matched: fuser ========================================= psmisc.x86_64 : Utilities for managing processes on your system [root@ora19c1 RU]# yum install -y psmisc

6.2)给DB打补丁

# 打 DB # 先把数据库停了 srvctl stop database ora19c export ORACLE_HOME=/u01/app/oracle/product/19.3.0/db_1 export PATH=$PATH:$ORACLE_HOME/OPatch opatchauto apply /soft/RU/35319490/ -oh $ORACLE_HOME

6.3)补丁后的要求

# 使用 oracle 用户 cd $ORACLE_HOME/OPatch ./datapatch -verbose # 编译无效对象 cd $ORACLE_HOME/rdbms/admin $ORACLE_HOME/perl/bin/perl $ORACLE_HOME/rdbms/admin/catcon.pl -n 1 -e -b utlrp -d $ORACLE_HOME/rdbms/admin utlrp.sql # 检查补丁情况 set linesize 200 col ACTION_TIME for a20 col STATUS for a8 col TARGET_VERSION for a13 alter session set nls_timestamp_format='yyyy-mm-dd HH24:MI:SS'; select PATCH_ID,PATCH_TYPE,ACTION,ACTION_TIME,STATUS,TARGET_VERSION,DESCRIPTION from dba_registry_sqlpatch;

image20240226163649179.png

6.4)打OJVM补丁

# 使用 oracle 用户 unzip p35354406_190000_Linux-x86-64.zip -d /soft/RU/ cd /soft/RU//35354406 $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./ # 前置检查通过后,停止数据库服务 srvctl stop database -db ora19c # 查看数据库状态 srvctl status database -db ora19c # 安装OJVM补丁 cd /soft/RU//35354406 $ORACLE_HOME/OPatch/opatch apply # 出现下图的报错后,按如下方法.再重新运行补丁命令 export PATH=$ORACLE_HOME/perl/bin:$PATH export PERL5LIB=$ORACLE_HOME/perl/lib

OJVM补丁安装的时候,出现报错

image20240226165941670.png

继续按要求操作,在一节点执行就可以了。

image20240226172431157.png

[oracle@ora19c1 35354406]$ sqlplus /nolog SQL> conn /as sysdba SQL> startup SQL> exit cd $ORACLE_HOME/OPatch ./datapatch -verbose # 执行完后,编译无效对象 cd $ORACLE_HOME/rdbms/admin sqlplus /nolog SQL> CONNECT / AS SYSDBA SQL> @utlrp.sql

End !!!

最后修改时间:2024-02-27 10:15:31
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论