Testing The 19c Grid Infrastructure By Performing A Dry-Run Upgrade
In reviewing Grid Infrastructure Installation and Upgrade Guide for Linux, I discovered the dry-run upgrade mode to test upgrades. With dry-run being a new feature, I tested it first using GUI.
[oracle@racnode-dc2-1 grid]$ /u01/app/19.3.0.0/grid/gridSetup.sh -dryRunForUpgrade
Launching Oracle Grid Infrastructure Setup Wizard...
The response file for this session can be found at:
/u01/app/19.3.0.0/grid/install/response/grid_2019-08-06_00-20-31AM.rsp
You can find the log of this install session at:
/u01/app/oraInventory/logs/GridSetupActions2019-08-06_00-20-31AM/gridSetupActions2019-08-06_00-20-31AM.log
[oracle@racnode-dc2-1 grid]$
From the response file above grid_2019-08-06_00-20-31AM.rsp, create dryRunForUpgradegrid.rsp:
[oracle@racnode-dc2-1 grid]$ grep -v "^#" /u01/app/19.3.0.0/grid/install/response/grid_2019-08-06_00-20-31AM.rsp | grep -v "=$" | awk 'NF' > /home/oracle/dryRunForUpgradegrid.rsp
[oracle@racnode-dc2-1 ~]$ cat /home/oracle/dryRunForUpgradegrid.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_crsinstall_response_schema_v19.0.0
INVENTORY_LOCATION=/u01/app/oraInventory
oracle.install.option=UPGRADE
ORACLE_BASE=/u01/app/oracle
oracle.install.crs.config.scanType=LOCAL_SCAN
oracle.install.crs.config.ClusterConfiguration=STANDALONE
oracle.install.crs.config.configureAsExtendedCluster=false
oracle.install.crs.config.clusterName=vbox-rac-dc2
oracle.install.crs.config.gpnp.configureGNS=false
oracle.install.crs.config.autoConfigureClusterNodeVIP=false
oracle.install.crs.config.gpnp.gnsOption=CREATE_NEW_GNS
oracle.install.crs.config.clusterNodes=racnode-dc2-1:,racnode-dc2-2:
oracle.install.crs.configureGIMR=true
oracle.install.asm.configureGIMRDataDG=false
oracle.install.crs.config.storageOption=FLEX_ASM_STORAGE
oracle.install.crs.config.sharedFileSystemStorage.ocrLocations=
oracle.install.crs.config.useIPMI=false
oracle.install.asm.diskGroup.name=CRS
oracle.install.asm.diskGroup.AUSize=0
oracle.install.asm.gimrDG.AUSize=1
oracle.install.asm.configureAFD=false
oracle.install.crs.configureRHPS=false
oracle.install.crs.config.ignoreDownNodes=false
oracle.install.config.managementOption=NONE
oracle.install.config.omsPort=0
oracle.install.crs.rootconfig.executeRootScript=false
[oracle@racnode-dc2-1 ~]$
Create directory /u01/app/19.3.0.0/grid for all nodes:
[root@racnode-dc2-1 ~]# id oracle
uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54318(asmdba),54322(dba),54323(backupdba),54324(oper),54325(dgdba),54326(kmdba)
[root@racnode-dc2-1 ~]# mkdir -p /u01/app/19.3.0.0/grid
[root@racnode-dc2-1 ~]# chown oracle:oinstall /u01/app/19.3.0.0/grid
[root@racnode-dc2-1 ~]# chmod 775 /u01/app/19.3.0.0/grid
[root@racnode-dc2-1 ~]# ll /u01/app/19.3.0.0/
drwxrwxr-x 2 oracle oinstall 4096 Aug 6 02:07 grid
Extract grid software for node1 ONLY:
[oracle@racnode-dc2-1 ~]$ unzip -qo /media/swrepo/LINUX.X64_193000_grid_home.zip -d /u01/app/19.3.0.0/grid/
[oracle@racnode-dc2-1 ~]$ ls /u01/app/19.3.0.0/grid/
addnode clone dbjava diagnostics gpnp install jdbc lib OPatch ords perl qos rhp rootupgrade.sh sqlpatch tomcat welcome.html xdk
assistants crs dbs dmu gridSetup.sh instantclient jdk md opmn oss plsql racg root.sh runcluvfy.sh sqlplus ucp wlm
bin css deinstall env.ora has inventory jlib network oracore oui precomp rdbms root.sh.old sdk srvm usm wwg
cha cv demo evm hs javavm ldap nls ord owm QOpatch relnotes root.sh.old.1 slax suptools utl xag
[oracle@racnode-dc2-1 ~]$ du -sh /u01/app/19.3.0.0/grid/
6.0G /u01/app/19.3.0.0/grid/
[oracle@racnode-dc2-1 ~]$
Run gridSetup.sh -silent -dryRunForUpgrade:
[oracle@racnode-dc2-1 ~]$ env|grep -i ora
MAIL=/var/spool/mail/oracle
PATH=/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/oracle/.local/bin:/home/oracle/bin
[oracle@racnode-dc2-1 ~]$ date
Tue Aug 6 02:35:47 CEST 2019
[oracle@racnode-dc2-1 ~]$ /u01/app/19.3.0.0/grid/gridSetup.sh -silent -dryRunForUpgrade -responseFile /home/oracle/dryRunForUpgradegrid.rsp
Launching Oracle Grid Infrastructure Setup Wizard...
[WARNING] [INS-13014] Target environment does not meet some optional requirements.
CAUSE: Some of the optional prerequisites are not met. See logs for details. /u01/app/oraInventory/logs/GridSetupActions2019-08-06_02-35-52AM/gridSetupActions2019-08-06_02-35-52AM.log
ACTION: Identify the list of failed prerequisite checks from the log: /u01/app/oraInventory/logs/GridSetupActions2019-08-06_02-35-52AM/gridSetupActions2019-08-06_02-35-52AM.log. Then either from the log file or from installation manual find the appropriate configuration to meet the prerequisites and fix it manually.
The response file for this session can be found at:
/u01/app/19.3.0.0/grid/install/response/grid_2019-08-06_02-35-52AM.rsp
You can find the log of this install session at:
/u01/app/oraInventory/logs/GridSetupActions2019-08-06_02-35-52AM/gridSetupActions2019-08-06_02-35-52AM.log
As a root user, execute the following script(s):
1. /u01/app/19.3.0.0/grid/rootupgrade.sh
Execute /u01/app/19.3.0.0/grid/rootupgrade.sh on the following nodes:
Run the script on the local node.
Successfully Setup Software with warning(s).
[oracle@racnode-dc2-1 ~]$
Run rootupgrade.sh for node1 ONLY and review log:
[root@racnode-dc2-1 ~]# /u01/app/19.3.0.0/grid/rootupgrade.sh
Check /u01/app/19.3.0.0/grid/install/root_racnode-dc2-1_2019-08-06_02-44-59-241151038.log for the output of root script
[root@racnode-dc2-1 ~]# cat /u01/app/19.3.0.0/grid/install/root_racnode-dc2-1_2019-08-06_02-44-59-241151038.log
Performing root user operation.
The following environment variables are set as:
ORACLE_HOME= /u01/app/19.3.0.0/grid
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Relinking oracle with rac_on option
Performing Dry run of the Grid Infrastructure upgrade.
Using configuration parameter file: /u01/app/19.3.0.0/grid/crs/install/crsconfig_params
The log of current session can be found at:
/u01/app/oracle/crsdata/racnode-dc2-1/crsconfig/rootcrs_racnode-dc2-1_2019-08-06_02-45-31AM.log
2019/08/06 02:45:44 CLSRSC-464: Starting retrieval of the cluster configuration data
2019/08/06 02:45:52 CLSRSC-729: Checking whether CRS entities are ready for upgrade, cluster upgrade will not be attempted now. This operation may take a few minutes.
2019/08/06 02:47:56 CLSRSC-693: CRS entities validation completed successfully.
Check grid home for node2:
[oracle@racnode-dc2-2 ~]$ du -sh /u01/app/19.3.0.0/grid/
6.6G /u01/app/19.3.0.0/grid/
[oracle@racnode-dc2-2 ~]$
Check oraInventory for ALL nodes:
[oracle@racnode-dc2-2 ~]$ cat /u01/app/oraInventory/ContentsXML/inventory.xml
<?xml version="1.0" standalone="yes" ?>
<!-- Copyright (c) 1999, 2019, Oracle and/or its affiliates.
<!-- Do not modify the contents of this file by hand. -->
<SAVED_WITH>12.2.0.7.0</SAVED_WITH>
<MINIMUM_VER>2.1.0.6.0</MINIMUM_VER>
<HOME NAME="OraGI12Home1" LOC="/u01/app/12.2.0.1/grid" TYPE="O" IDX="1" CRS="true"/>
<HOME NAME="OraDB12Home1" LOC="/u01/app/oracle/12.2.0.1/db1" TYPE="O" IDX="2"/>
<HOME NAME="OraGI19Home1" LOC="/u01/app/19.3.0.0/grid" TYPE="O" IDX="3"/>
[oracle@racnode-dc2-2 ~]$
Check crs activeversion: 12.2.0.1.0
[oracle@racnode-dc2-1 ~]$ . /media/patch/gi.env
The Oracle base has been set to /u01/app/oracle
ORACLE_BASE=/u01/app/oracle
GRID_HOME=/u01/app/12.2.0.1/grid
ORACLE_HOME=/u01/app/12.2.0.1/grid
Oracle Instance alive for sid "+ASM1"
[oracle@racnode-dc2-1 ~]$ crsctl query crs activeversion -f
Oracle Clusterware active version on the cluster is [12.2.0.1.0]. The cluster upgrade state is [NORMAL]. The cluster active patch level is [927320293].
[oracle@racnode-dc2-1 ~]$
Check log location:
[oracle@racnode-dc2-1 ~]$ cd /u01/app/oraInventory/logs/GridSetupActions2019-08-06_02-35-52AM/
[oracle@racnode-dc2-1 GridSetupActions2019-08-06_02-35-52AM]$ ls -alrt
-rw-r----- 1 oracle oinstall 129 Aug 6 02:35 installerPatchActions_2019-08-06_02-35-52AM.log
-rw-r----- 1 oracle oinstall 0 Aug 6 02:35 gridSetupActions2019-08-06_02-35-52AM.err
drwxrwx--- 3 oracle oinstall 4096 Aug 6 02:35 temp_ob
-rw-r----- 1 oracle oinstall 0 Aug 6 02:39 oraInstall2019-08-06_02-35-52AM.err
drwxrwx--- 17 oracle oinstall 4096 Aug 6 02:39 ..
-rw-r----- 1 oracle oinstall 157 Aug 6 02:39 oraInstall2019-08-06_02-35-52AM.out
-rw-r----- 1 oracle oinstall 0 Aug 6 02:43 oraInstall2019-08-06_02-35-52AM.err.racnode-dc2-2
-rw-r----- 1 oracle oinstall 142 Aug 6 02:43 oraInstall2019-08-06_02-35-52AM.out.racnode-dc2-2
-rw-r----- 1 oracle oinstall 9341920 Aug 6 02:43 gridSetupActions2019-08-06_02-35-52AM.out
-rw-r----- 1 oracle oinstall 13419 Aug 6 02:43 time2019-08-06_02-35-52AM.log
-rw-r----- 1 oracle oinstall 8443087 Aug 6 02:43 gridSetupActions2019-08-06_02-35-52AM.log
drwxrwx--- 3 oracle oinstall 4096 Aug 6 02:56 .
[oracle@racnode-dc2-1 GridSetupActions2019-08-06_02-35-52AM]$
Since I have not performed an actual upgrade, I don’t know if 19.3.0.0 grid home in oraInventory will be problematic. It was problematic when performing a test with silent mode after initial test with GUI. To resolve the issue, detach 19.3.0.0 grid home
export ORACLE_HOME=/u01/app/19.3.0.0/grid
$ORACLE_HOME/oui/bin/runInstaller -detachHome -silent ORACLE_HOME=$ORACLE_HOME
In conclusion, testing grid upgrade using dryRunForUpgrade functionality is a good method to identify any possible issues before performing an actual upgrade.
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 凌晨三点救火实录:Java内存泄漏的七个神坑,你至少踩过三个!