16.2.8 Performing the Upgrade

To perform the upgrade you must create an upgrade pod and run several upgrade commands.

Note:

If the upgrade fails, see Restoring After a Failed Upgrade.
  1. Run the following command to create the domain-upgrade-pod:
    kubectl apply -f <workdir>/upgradescripts/domain-upgrade-pod.yaml
    For example:
    kubectl apply -f /OIG12CUPG/upgradescripts/domain-upgrade-pod.yaml
    The output should look similar to the following:
    pod/governancedomain-domain-upgrade created
  2. Run the following kubectl command to view the pods:
    kubectl get pods -n %NAMESPACE%
    For example:
    kubectl get pods -n oigns
    The output will look similar to the following:
    
    NAME                                              READY   STATUS    RESTARTS   AGE
    governancedomain-domain-upgrade                   1/1     Running   0          2m3s
    

    It may take a few minutes until the pod is in a status of READY 1/1.

  3. Run the following command to enter a bash shell in the domain-upgrade pod:
    kubectl exec -it %DOMAIN_UID%-domain-upgrade -n %NAMESPACE% -- /bin/bash
    For example:
    kubectl exec -it governancedomain-domain-upgrade -n oigns -- /bin/bash
    This will take you into a bash shell in the domain-upgrade pod:
    [oracle@governancedomain-domain-upgrade oracle]$
  4. Inside the upgrade pod, navigate to the /u01/scriptsdirectory:
    cd /u01/scripts
  5. Run the following command to run the Upgrade Assistant:
    $ORACLE_HOME/oracle_common/upgrade/bin/ua -response /u01/scripts/domainUpgradeResponse.txt -logLevel TRACE -logDir /tmp
    The output should look similar to the following:
    Oracle Fusion Middleware Upgrade Assistant 14.1.2.0.0
    Log file is located at: /tmp/ua<DATE>.log
    Reading installer inventory, this will take a few moments...
    ...completed reading installer inventory.
    Using response file /u01/scripts/domainUpgradeResponse.txt for input
     Oracle Metadata Services schema examine is in progress
     Oracle Platform Security Services schema examine is in progress
     Oracle Audit Services schema examine is in progress
     Common Infrastructure Services schema examine is in progress
     Common Infrastructure Services schema examine finished with status: ready for upgrade
     Oracle Metadata Services schema examine finished with status: ready for upgrade
     Oracle WebLogicServer schema examine is in progress
     User Messaging Service schema examine is in progress
     Oracle WebLogicServer schema examine finished with status: ready for upgrade
     Oracle SOA schema examine is in progress
     Oracle Platform Security Services schema examine finished with status: ready for upgrade
     User Messaging Service schema examine finished with status: ready for upgrade
     Oracle SOA schema examine finished with status: ready for upgrade
     Oracle Identity Manager schema examine is in progress
     Oracle Audit Services schema examine finished with status: ready for upgrade
     Oracle Identity Manager schema examine finished with status: ready for upgrade
    Schema Version Registry saved to: /tmp/ua2025-03-13-15-34-59PM.xml
     Oracle Metadata Services schema upgrade is in progress
     Common Infrastructure Services schema upgrade is in progress
     Oracle Platform Security Services schema upgrade is in progress
     Oracle Audit Services schema upgrade is in progress
     Common Infrastructure Services schema upgrade finished with status: succeeded
     User Messaging Service schema upgrade is in progress
     Oracle Audit Services schema upgrade finished with status: succeeded
     Oracle WebLogicServer schema upgrade is in progress
     Oracle Metadata Services schema upgrade finished with status: succeeded
     Oracle SOA schema upgrade is in progress
     Oracle WebLogicServer schema upgrade finished with status: succeeded
     Oracle Platform Security Services schema upgrade finished with status: succeeded
     User Messaging Service schema upgrade finished with status: succeeded
     Oracle SOA schema upgrade finished with status: succeeded
     Oracle Identity Manager schema upgrade is in progress
    UPGRADE PATH : [12.2.1.4.0, 14.1.2.1.0]
     Oracle Identity Manager schema upgrade finished with status: succeeded
    
    Oracle SOA
    1. The Upgrade Assistant has successfully upgraded all active instances. You can now close the Upgrade Assistant.
    2. The automated upgrade of closed instances will continue in the background after the Upgrade Assistant is exited and until the SOA server is started,at which point the upgrade will stop.  You can schedule the upgrade of any remaining closed instances for a time when the SOA server is less busy.
     Close the Upgrade Assistant and use the instance data administration scripts to administer and monitor the overall progress of this automated upgrade. For more information see "Administering and Monitoring the Upgrade of SOA Instance Data" in Upgrading SOA Suite and Business Process Management.
    
    [oracle@governancedomain-domain-upgrade scripts]$
    
  6. Enter a wlst prompt inside the domain-upgrade pod:
    $ORACLE_HOME/oracle_common/common/bin/wlst.sh
    The output will look similar to the following:
    Initializing WebLogic Scripting Tool (WLST) ...
    
    Jython scans all the jar files it can find at first startup. Depending on the system, this process may take a few minutes to complete, and WLST may not return a prompt right away.
    
    Welcome to WebLogic Server Administration Scripting Shell
    
    Type help() for help on available commands
    
    wls:/offline>
    
  7. Run the following at the wlst prompt to perform domain reconfiguration:
    1. Set the domainHome:
      domainHome='/u01/oracle/user_projects/domains/%DOMAIN_UID%'
      For example:
      domainHome='/u01/oracle/user_projects/domains/governancedomain'
    2. Read the domanHome:
      readDomainForUpgrade(domainHome)
      The output will look similar to the following:
      wls:/offline/governancedomain>
    3. Update the domain:
      updateDomain()

      Note:

      This command can take approximately 10 minutes to complete.
      The output will look similar to the following:
      INFO: JPS Config: /u01/oracle/user_projects/domains/governancedomain/config/fmwconfig/jps-config-jse.xml
      INFO: JPS Config: /u01/oracle/user_projects/domains/governancedomain/config/fmwconfig/jps-config.xml
      WARNING: Bootstrap services are used by OPSS internally and clients should never need to directly read/write bootstrap credentials. If required, use Wlst or configuration management interfaces.
      INFO: JPS Config: /u01/oracle/user_projects/domains/governancedomain/config/fmwconfig/jps-config-jse.xml
      INFO: JPS Config: /u01/oracle/user_projects/domains/governancedomain/config/fmwconfig/jps-config.xml
      INFO: No ADFLoggerExtension registration, skipping.
      INFO: ADFLoggerExtensionODL setup complete
      WARNING: MDS-11019: The default CharSet US-ASCII is not a unicode character set. File names with non-ASCII characters may not operate as expected. Check locale settings.
      INFO: MDS_Repository type being ignored with insufficient uniqueness in /oracle/mds/ (MDS)
      INFO: MDS_Partition type being ignored with insufficient uniqueness in /oracle/mds//oracle (MDS_Repository)
      INFO: Property for read store in parallel: oracle.security.jps.az.runtime.readstore.threads = null
      INFO: MDS_Partition type being ignored with insufficient uniqueness in /oracle/mds//oracle (MDS_Repository)
      
    4. Close the domain:
      closeDomain()
  8. Run the following post upgrade steps at the wls:/offline> prompt:
    1. Set the domainHome:
      domainHome='/u01/oracle/user_projects/domains/%DOMAIN_UID%'
      For example:
      domainHome='/u01/oracle/user_projects/domains/governancedomain'
    2. Set the RCUPREFIX and RCU_SCHEMA_PWD password:
      wlsRuntimeUser='%RCUPREFIX%_WLS_RUNTIME'
      schemaPassword='%RCU_SCHEMA_PWD%'
      For example:
      wlsRuntimeUser='OIGK8S_WLS_RUNTIME'
      schemaPassword='<password>'
    3. Read the domain:
      readDomain(domainHome)
    4. Change to the following directory:
      cd('/JdbcSystemResource/WLSRuntimeSchemaDataSource/JdbcResource/WLSRuntimeSchemaDataSource/JdbcDriverParams/NO_NAME_0')
    5. Set the CONNECTION_STRING:
      dbUrl="jdbc:oracle:thin:@%CONNECTION_STRING%"
      For example:
      dbUrl="jdbc:oracle:thin:@mydatabasehost.example.com:1521/orcl.example.com"
    6. Run the following to update the domain:
      cmo.setUrl(dbUrl)
      cmo.setDriverName('oracle.jdbc.OracleDriver')
      set('PasswordEncrypted', schemaPassword)
      cd('Properties/NO_NAME_0/Property/user')
      cmo.setValue(wlsRuntimeUser)
      cd('/')
      updateDomain()
      No output will be returned to the screen and you will just be returned to the prompt.
    7. Close the domain and exit:
      closeDomain()
      exit()
  9. Indide bash shell of the domain-upgrade pod. run the following to perform the configuration upgrade:
    $ORACLE_HOME/oracle_common/upgrade/bin/ua -configUpgrade -response /u01/scripts/OIGDomainConfigResponse.txt -logLevel TRACE -logDir /tmp
    The output will look similar to the following:
    Oracle Fusion Middleware Upgrade Assistant 14.1.2.0.0
    Log file is located at: /tmp/ua2025-03-13-15-45-36PM.log
    Reading installer inventory, this will take a few moments...
    ...completed reading installer inventory.
    Using response file /u01/scripts/OIGDomainConfigResponse.txt for input
     Oracle Identity Manager configuration examine is in progress
    UPGRADE PATH : [12.2.1.4.0, 14.1.2.1.0]
     Oracle Identity Manager configuration examine finished with status: upgrade not necessary
     Oracle JRF configuration examine is in progress
     Oracle JRF configuration examine finished with status: upgrade not necessary
     System Components Infrastructure configuration examine is in progress
     System Components Infrastructure configuration examine finished with status: upgrade not necessary
     Oracle Web Services Manager configuration examine is in progress
    java.lang.Throwable: STARTUP - DIAGNOSTIC STACK
            at oracle.adf.share.platform.AdfServerPlatformUtil$SingletonHolder.internalLogSystemProperties(AdfServerPlatformUtil.java:746)
            at oracle.adf.share.platform.AdfServerPlatformUtil$SingletonHolder.logSystemProperties(AdfServerPlatformUtil.java:723)
            at oracle.adf.share.platform.AdfServerPlatformUtil$SingletonHolder.<clinit>(AdfServerPlatformUtil.java:485)
            at oracle.adf.share.platform.AdfServerPlatformUtil.<clinit>(AdfServerPlatformUtil.java:297)
            at oracle.adf.share.mt.util.CloudHelper$SingletonHolder.<clinit>(CloudHelper.java:37)
            at oracle.adf.share.mt.util.CloudHelper.isMultitenancySupportable(CloudHelper.java:89)
            at oracle.adf.share.mt.util.MultiPartitionStorage.initValueStorage(MultiPartitionStorage.java:21)
            at oracle.adf.share.mt.util.MultiTenantStorage.<init>(MultiTenantStorage.java:47)
            at oracle.adf.share.mt.util.MultiPartitionStorage.<init>(MultiPartitionStorage.java:15)
            at oracle.mds.internal.util.MDSTimerMTS$4.<init>(MDSTimerMTS.java:277)
            at oracle.mds.internal.util.MDSTimerMTS.<clinit>(MDSTimerMTS.java:275)
            at oracle.mds.internal.util.MDSTimer.createTimer(MDSTimer.java:67)
            at oracle.mds.persistence.stores.db.DBMetadataStore.<clinit>(DBMetadataStore.java:2290)
            at oracle.wsm.repository.mds.MDSInstanceFactory.getMDSInstance(MDSInstanceFactory.java:352)
            at oracle.wsm.lifecycle.common.util.PluginBeanCreator.getBean(PluginBeanCreator.java:87)
            at oracle.wsm.lifecycle.upgrade.impl.UpgradePluginExecutor.<init>(UpgradePluginExecutor.java:186)
            at oracle.wsm.lifecycle.upgrade.impl.WSMUpgradePlugin.examine(WSMUpgradePlugin.java:316)
            at oracle.ias.update.plugin.Plugin.examine(Plugin.java:689)
            at oracle.ias.update.plan.PlanStep.examine(PlanStep.java:734)
            at oracle.ias.update.PhaseProcessor$ExamineProcessor.runStepPhase(PhaseProcessor.java:900)
            at oracle.ias.update.PhaseProcessor.runStep(PhaseProcessor.java:481)
            at oracle.ias.update.PhaseProcessor$ExtendedRunnable.run(PhaseProcessor.java:1735)
            at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
            at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
            at java.base/java.lang.Thread.run(Thread.java:842)
    STARTUP - SYSTEM PROPERTIES
    APPSERVER_TYPE=wls
    common.components.home=/u01/oracle/oracle_common
    file.encoding=ANSI_X3.4-1968
    file.separator=/
    ice.pilots.html4.ignoreNonGenericFonts=true
    java.class.path=/u01/oracle/oracle_common/upgrade/jlib/ua.jar:/u01/oracle/oracle_common/upgrade/jlib/SchemaVersion.jar:/u01/oracle/oracle_common/modules/features/com.oracle.db.jdbc-no-dms.jar:/u01/oracle/oracle_common/modules/datadirect/fmwgenerictoken.jar:/u01/oracle/oracle_common/modules/datadirect/wlsqlserver.jar:/u01/oracle/oracle_common/modules/datadirect/wldb2.jar:/u01/oracle/oracle_common/modules/mysql-connector-java-commercial-5.1.22/mysql-connector-java-commercial-5.1.22-bin.jar:/u01/oracle/wlserver/common/derby/lib/derbyclient.jar:/u01/oracle/oracle_common/modules/oracle.bali.jewt/jewt4.jar:/u01/oracle/oracle_common/modules/oracle.bali.jewt/olaf2.jar:/u01/oracle/oracle_common/modules/oracle.odl/ojdl.jar:/u01/oracle/oracle_common/modules/oracle.dms/dms.jar:/u01/oracle/oracle_common/modules/oracle.bali.share/share.jar:/u01/oracle/jlib/ojmisc.jar:/u01/oracle/oracle_common/modules/oracle.ldap/ldapjclnt.jar:/u01/oracle/oracle_common/modules/oracle.help/help-share.jar:/u01/oracle/oracle_common/modules/oracle.help/ohj.jar:/u01/oracle/oracle_common/modules/oracle.help/oracle_ice.jar:/u01/oracle/jlib/oraclepki.jar:/u01/oracle/oracle_common/modules/oracle.nlsrtl/orai18n-mapping.jar:/u01/oracle/oracle_common/modules/oracle.jrf/jrf-api.jar:/u01/oracle/wlserver/server/lib/weblogic.jar:/u01/oracle/wlserver/modules/org.slf4j.slf4j-nop.jar:/u01/oracle/wlserver/modules/wlstt3client.jar:/u01/oracle/oracle_common/jlib/wizardCommonResources.jar:/u01/oracle/oracle_common/jlib/rcucommon.jar:/u01/oracle/oracle_common/modules/features/rcuapi_lib.jar:/u01/oracle/oracle_common/modules/features/cieCfg_wls_lib.jar:/u01/oracle/oracle_common/modules/features/cieCfg_cam_lib.jar:/u01/oracle/oui/modules/gdr-external.jar:/u01/oracle/oracle_common/modules/oracle.jps/jps-manifest.jar:/u01/oracle/oui/modules/private/xml-apis-1.4.01.jar
    java.class.version=61.0
    java.home=/u01/jdk
    java.io.tmpdir=/tmp
    java.library.path=/u01/oracle/oracle_common/lib:/u01/oracle/oracle_common/adr::/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib
    java.runtime.name=Java(TM) SE Runtime Environment
    java.runtime.version=17.0.12+8-LTS-286
    java.security.egd=file:/dev/urandom
    java.specification.name=Java Platform API Specification
    java.specification.vendor=Oracle Corporation
    java.specification.version=17
    java.vendor=Oracle Corporation
    java.vendor.url=https://java.oracle.com/
    java.vendor.url.bug=https://bugreport.java.com/bugreport/
    java.version=17.0.12
    java.version.date=2024-07-16
    java.vm.compressedOopsMode=32-bit
    java.vm.info=mixed mode, sharing
    java.vm.name=Java HotSpot(TM) 64-Bit Server VM
    java.vm.specification.name=Java Virtual Machine Specification
    java.vm.specification.vendor=Oracle Corporation
    java.vm.specification.version=17
    java.vm.vendor=Oracle Corporation
    java.vm.version=17.0.12+8-LTS-286
    jdk.debug=release
    line.separator=
    
    native.encoding=ANSI_X3.4-1968
    oracle.domain.config.dir=/u01/oracle/user_projects/domains/governancedomain/config/fmwconfig
    oracle.security.jps.config=/u01/oracle/user_projects/domains/governancedomain/config/fmwconfig/jps-config-jse.xml
    oracle.webservice.policy.config=/u01/oracle/user_projects/domains/governancedomain/config/fmwconfig
    org.jboss.logging.provider=jdk
    org.xml.sax.driver=com.sun.org.apache.xerces.internal.parsers.SAXParser
    os.arch=amd64
    os.name=Linux
    os.version=5.15.0-302.167.6.el8uek.x86_64
    path.separator=:
    sun.arch.data.model=64
    sun.boot.library.path=/u01/jdk/lib
    sun.cpu.endian=little
    sun.io.unicode.encoding=UnicodeLittle
    sun.java.command=oracle.ias.update.UpgradeDriver -configUpgrade -response /u01/scripts/OIGDomainConfigResponse.txt -logLevel TRACE -logDir /tmp
    sun.java.launcher=SUN_STANDARD
    sun.jnu.encoding=ANSI_X3.4-1968
    sun.lang.ClassLoader.allowArraySyntax=true
    sun.management.compiler=HotSpot 64-Bit Tiered Compilers
    sun.stderr.encoding=ANSI_X3.4-1968
    sun.stdout.encoding=ANSI_X3.4-1968
    ua.home=/u01/oracle/oracle_common
    ua.wl.home=/u01/oracle/wlserver
    user.country=US
    user.dir=/u01/scripts
    user.home=/home/oracle
    user.language=en
    user.name=oracle
    user.timezone=UTC
    
    STARTUP - INITED STATE
    isODLAvailable=true, isDMSAvailable=true, isDMS4LoggingAvailable=true, isJRFAvailable=true, isMDSAvailable=true, isDFWAvailable=true, isJEE=false, platName=jse, isWebLogic=false, isWebLogicCore=false, isWebSphere=false, isWebSphereND=false, isWebSphereAS=false, isJBoss=false, isGlassfish=false, isTomcat=false, isGrizzly=false, isMicroServicePlatform=false, isOciNative=false, breezeVer=, breezeStat=SUCCESS - !isClassAvailable(com/oracle/breeze/Breeze)
     Oracle Web Services Manager configuration examine finished with status: ready for upgrade
     User Messaging Service configuration examine is in progress
     User Messaging Service configuration examine finished with status: ready for upgrade
     Oracle Web Services Manager configuration upgrade is in progress
     Oracle Web Services Manager configuration upgrade finished with status: succeeded
     User Messaging Service configuration upgrade is in progress
     User Messaging Service configuration upgrade finished with status: succeeded
    

    Note:

    The java.lang.Throwable: STARTUP - DIAGNOSTIC STACK message can be ignored.
  10. Exit the domain-upgrade pod:
    exit