Oracle WebLogic Server 12c (12.2.1): Patching an Oracle FMW Installation with Zero Downtime


Options



Before You Begin

Purpose

This tutorial shows you how to patch an Oracle Fusion Middleware (Oracle FMW) installation without service interruption.

Time to Complete

30 minutes

Background

As an Oracle FMW administrator you must patch a series of WebLogic Server installations supporting multiple domains. The patch can be a one-off fix for a specific problem or a quarterly patch set update with important security fixes.

WebLogic Server zero downtime patching provides a process and mechanism for automating out-of-place patching rollouts across a domain while allowing applications to continue to service requests. After defining your patching strategy, you can use either the WebLogic Scripting Tool (WLST) or the WebLogic Server Administration Console to roll out updates across the servers in your domain. Servers are brought down sequentially so that applications continue to be available.

Zero downtime patching offers the following benefits:

  • Because patching occurs on a new or cloned WebLogic Server image, the existing WebLogic Server instances experience no downtime.
  • Patching doesn't modify the existing installation image that's used for production nodes.
  • You can quickly roll back to the earlier installation image because the patch didn't modify it.
  • If you use shared volumes, then you must patch only one installation image, which you can maintain as the "gold master."
  • Automating the rollout provides efficient and accurate application of a process that may take hours to complete.
The downside to out-of-place patching is that you need additional disk space to maintain the existing and earlier installation images.

What Do You Need?

Downloading Patches Required for Your Installation

  1. In a web browser, enter:

    http://support.oracle.com

  2. On the My Oracle Support page, click Sign In and then enter your user name and password on the Sign In page.

  3. On the My Oracle Support page, click the Patches and Update tab.

  4. On the Patches and Update page, in the Patch Search pane, click the Search tab, select Product or Family (Advanced), enter or select the following values, and then click Search:

    • Product is: Oracle WebLogic Server
    • Release is: Oracle WebLogic Server 12.2.1.0.0
    • Platform filter is: Platform
    • Release is: Linux x86-64
    Patches and Update
    Description of this image
  5. On the Patch Search page, in the Patch Advanced Search Results pane, click 22248372 and click Download.

  6. In the File Download window, click the p22248372_122100_Generic.zip link.

  7. In the Opening p22248372_122100_Generic.zip window, select Save File and click OK.

  8. Save the patch file in an appropriate location. In this tutorial, the file was saved in /install/weblogicpatch.

Identifying the OPatch Version Included with Oracle FMW 12c

Before you run OPatch, find the OPatch utility in the Oracle home directory, and verify that you have the latest version. Oracle FMW 12c (12.2.1) includes OPatch version 13.3.0.0.0. 

In general, a version of OPatch is available for each version of Oracle Universal Installer.

  1. Change the directory to OPatch.

    $ cd /scratch/u01/app/fmw/OPatch
  2. Verify the OPatch version.

    $ ./opatch version
    OPatch Version: 13.3.0.0.0
    
    OPatch succeeded.
    

Cloning, Patching, and Archiving Oracle Home

Cloning Oracle Home

  1. Change the directory to /scratch/u01/app/fmw/oracle_common/bin.

    $ cd /scratch/u01/app/fmw/oracle_common/bin
    
  2. Create an archive file of the source Oracle home.

    $ sh copyBinary.sh -javaHome /scratch/jdk1.8.0_51 -archiveLoc /tmp/oh_copy.jar -sourceOracleHomeLoc /scratch/u01/app/fmw
    
     Log   File: "/tmp/CLONE2016-04-13_05-23-44-LOG/CLONE2016-04-13_05-23-44_1077916701.log".
     Error File: "/tmp/CLONE2016-04-13_05-23-44-LOG/CLONE2016-04-13_05-23-44_1077916701.error".
    
    
    INFO : Apr 13, 2016 5:23:56 AM - CLONE-21154   Checking for availability of 990.0 MB  free space at /tmp/oh_copy.jar.
    INFO : Apr 13, 2016 5:23:56 AM - CLONE-21155   Required free space is available.
    INFO : Apr 13, 2016 5:23:57 AM - CLONE-21095   Create archive for /scratch/u01/app/fmw started ...
    INFO : Apr 13, 2016 5:23:57 AM - CLONE-21158   Validating if Oracle Home location is already registered with Oracle inventory ...
    INFO : Apr 13, 2016 5:23:57 AM - CLONE-21147   Oracle Home /scratch/u01/app/fmw is registered by the name "OracleHome3" with the Oracle Inventory.
    INFO : Apr 13, 2016 5:24:00 AM - CLONE-21016   Adding Oracle Home "/scratch/u01/app/fmw" binaries to the archive started ...
    INFO : Apr 13, 2016 5:24:00 AM - CLONE-21053   Total size of the file(s), to be included in the main jar from source location /scratch/u01/app/fmw=0.99 GB.
    INFO : Apr 13, 2016 5:24:03 AM - CLONE-21126   Operation is 10% complete, in "3" seconds.
    INFO : Apr 13, 2016 5:24:09 AM - CLONE-21126   Operation is 20% complete, in "8" seconds.
    INFO : Apr 13, 2016 5:24:11 AM - CLONE-21126   Operation is 30% complete, in "10" seconds.
    INFO : Apr 13, 2016 5:24:14 AM - CLONE-21126   Operation is 40% complete, in "13" seconds.
    INFO : Apr 13, 2016 5:24:20 AM - CLONE-21126   Operation is 53% complete, in "19" seconds.
    INFO : Apr 13, 2016 5:24:21 AM - CLONE-21126   Operation is 60% complete, in "20" seconds.
    INFO : Apr 13, 2016 5:24:24 AM - CLONE-21126   Operation is 70% complete, in "23" seconds.
    INFO : Apr 13, 2016 5:24:36 AM - CLONE-21126   Operation is 80% complete, in "35" seconds.
    INFO : Apr 13, 2016 5:24:38 AM - CLONE-21126   Operation is 90% complete, in "38" seconds.
    INFO : Apr 13, 2016 5:24:43 AM - CLONE-21045   Permission file created successfully.
    INFO : Apr 13, 2016 5:24:43 AM - CLONE-21017   Adding Oracle Home binaries to the archive finished.
    INFO : Apr 13, 2016 5:24:43 AM - CLONE-21030   Adding "/scratch/u01/app/fmw" to the archive is successful.
    INFO : Apr 13, 2016 5:24:43 AM - CLONE-21031   Time taken to add all the cloners to archive was "46" seconds.
    INFO : Apr 13, 2016 5:24:43 AM - CLONE-21032   Archive created successfully at /tmp/oh_copy.jar.
    INFO : Apr 13, 2016 5:24:44 AM - CLONE-21006   Total time taken by T2P process was 59 seconds.
    
    INFO : Apr 13, 2016 5:24:44 AM - CLONE-21007   Cloning operation completed successfully.
    

    Mandatory Arguments:

    Argument name Shortcut Description
    -javaHome NA The absolute path of the JDK.
    -archiveLoc -al The absolute path of the archive location. Use this option to specify the location of the archive file to be created with the copyBinary script. Ensure that the archive location isn't within the Oracle home structure.
    -sourceOracleHomeLoc -soh The absolute path of the Oracle home to be archived. Specify only one Oracle home.
  3. To apply the archive to the target destination, paste the binary files of the source Oracle home to the target environment.

    $ sh pasteBinary.sh -javaHome /scratch/jdk1.8.0_51 -archiveLoc /tmp/oh_copy.jar -targetOracleHomeLoc /scratch/u01/app/fmw_prod -targetOracleHomeName fmw_prod
                                      
     Log   File: "/tmp/CLONE2016-04-13_05-35-10-LOG/CLONE2016-04-13_05-35-10_700921063.log".
     Error File: "/tmp/CLONE2016-04-13_05-35-10-LOG/CLONE2016-04-13_05-35-10_700921063.error".
    
    
    INFO : Apr 13, 2016 5:35:11 AM - CLONE-21154   Checking for availability of 1090.0 MB  free space at /scratch/u01/app/fmw_prod.
    INFO : Apr 13, 2016 5:35:11 AM - CLONE-21155   Required free space is available.
    INFO : Apr 13, 2016 5:35:11 AM - CLONE-21156   Extracting OUI and engine binaries to temporary location ...
    INFO : Apr 13, 2016 5:35:12 AM - CLONE-21157   OUI and engine binaries are extracted to temporary location successfully.
    INFO : Apr 13, 2016 5:35:12 AM - CLONE-21057   Execution of system prerequisites started from directory "oui/mw/wls" ...
    INFO : Apr 13, 2016 5:35:30 AM - CLONE-21058   Execution of system prerequisites finished.
    INFO : Apr 13, 2016 5:35:30 AM - CLONE-21158   Validating if Oracle Home location is already registered with Oracle inventory ...
    INFO : Apr 13, 2016 5:35:30 AM - CLONE-21159   Oracle Home location is valid as it is not yet registered with the Oracle inventory.
    INFO : Apr 13, 2016 5:35:30 AM - CLONE-21160   Validating if Oracle Home name "fmw_prod" is already registered with Oracle inventory ...
    INFO : Apr 13, 2016 5:35:30 AM - CLONE-21161   Oracle Home name "fmw_prod" is valid as it is not yet registered with the Oracle inventory.
    INFO : Apr 13, 2016 5:35:30 AM - CLONE-21018   Extracting Oracle Home binaries from the archive at "/scratch/u01/app/fmw_prod" location started ...
    INFO : Apr 13, 2016 5:35:32 AM - CLONE-21126   Operation is 10% complete, in "1" seconds.
    INFO : Apr 13, 2016 5:35:33 AM - CLONE-21126   Operation is 20% complete, in "2" seconds.
    INFO : Apr 13, 2016 5:35:34 AM - CLONE-21126   Operation is 30% complete, in "3" seconds.
    INFO : Apr 13, 2016 5:35:35 AM - CLONE-21126   Operation is 40% complete, in "4" seconds.
    INFO : Apr 13, 2016 5:35:36 AM - CLONE-21126   Operation is 53% complete, in "5" seconds.
    INFO : Apr 13, 2016 5:35:37 AM - CLONE-21126   Operation is 60% complete, in "6" seconds.
    INFO : Apr 13, 2016 5:35:37 AM - CLONE-21126   Operation is 70% complete, in "7" seconds.
    INFO : Apr 13, 2016 5:35:39 AM - CLONE-21126   Operation is 80% complete, in "8" seconds.
    INFO : Apr 13, 2016 5:35:40 AM - CLONE-21126   Operation is 90% complete, in "9" seconds.
    INFO : Apr 13, 2016 5:35:41 AM - CLONE-21126   Operation is 100% complete, in "10" seconds.
    INFO : Apr 13, 2016 5:35:41 AM - CLONE-21019   Extracting Oracle Home binaries from the archive finished.
    INFO : Apr 13, 2016 5:35:42 AM - CLONE-21022   Applying permission for /scratch/u01/app/fmw_prod started ...
    INFO : Apr 13, 2016 5:35:42 AM - CLONE-21023   Applying permission for /scratch/u01/app/fmw_prod finished. Operation complete in "0" seconds.
    INFO : Apr 13, 2016 5:35:43 AM - CLONE-21020   Configuration of Oracle Home is in progress ...
    INFO : Apr 13, 2016 5:35:53 AM - CLONE-21021   Configuration of Oracle Home completed successfully.
    INFO : Apr 13, 2016 5:35:53 AM - CLONE-21127   Performing inventory validation ...
    INFO : Apr 13, 2016 5:35:53 AM - CLONE-21146   Oracle Home /scratch/u01/app/fmw_prod is registered with the Oracle Inventory /u01/app/oraInventory.
    INFO : Apr 13, 2016 5:35:53 AM - CLONE-21147   Oracle Home /scratch/u01/app/fmw_prod is registered by the name "fmw_prod" with the Oracle Inventory.
    INFO : Apr 13, 2016 5:35:53 AM - CLONE-21131   Inventory validation is successful.
    INFO : Apr 13, 2016 5:35:53 AM - CLONE-21035   Restoring the home finished successfully at /scratch/u01/app/fmw_prod.
    INFO : Apr 13, 2016 5:35:53 AM - CLONE-21216   Performing post operation, if any ...
    INFO : Apr 13, 2016 5:35:53 AM - CLONE-21217   Post operation completed.
    INFO : Apr 13, 2016 5:35:53 AM - CLONE-21037   Time taken to restore all cloners from archive was "41" seconds.
    INFO : Apr 13, 2016 5:35:53 AM - CLONE-21006   Total time taken by T2P process was 41 seconds.
    
    INFO : Apr 13, 2016 5:35:53 AM - CLONE-21007   Cloning operation completed successfully.
    

    Mandatory Arguments:

    Argument name Shortcut Description
    -javaHome NA The absolute path of the JDK.
    -archiveLoc -al The absolute path of the archive location. Use this option to specify the location of the archive file created with the copyBinary script. Ensure that the archive location isn't within the Oracle home structure.
    -targetOracleHomeLoc -toh The absolute path to the target Oracle home. The Oracle home directory can’t be at that location. If it is, it must be an empty directory. Otherwise, the script returns an error message. Don’t put -targetOracleHomeLoc inside another Oracle home.

Patching the Cloned Image

  1. Open a terminal window, and change the directory to /install/weblogicpatch.

    $ cd /install/weblogicpatch
  2. Define the PATCH_TOP environment variable.

    $ export PATCH_TOP=/install/weblogicpatch
  3. Set the ORACLE_HOME environment variable to the target Oracle home directory.

    $ export ORACLE_HOME=/scratch/u01/app/fmw_prod
  4. Set the JAVA_HOME environment variable.

    $ export JAVA_HOME=/scratch/jdk1.8.0_51
  5. Add the directory for the OPatch utility to the Linux PATH.

    $ export PATH=$ORACLE_HOME/OPatch:$PATH
  6. Confirm that the opatch executable file appears in your system PATH.

    $ which opatch
    /scratch/u01/app/fmw_prod/OPatch/opatch
    
  7. Extract the patch zip file into the PATCH_TOP directory. If you're asked to replace an existing file, enter A for “All.”

    $ unzip -d $PATCH_TOP p22248372_122100_Generic.zip
  8. Change the directory to $PATCH_TOP/22250572.

    $ cd $PATCH_TOP/22250572
  9. List the components in the WebLogic Server inventory.

    $ opatch lsinventory -jdk $JAVA_HOME
    
    Oracle Interim Patch Installer version 13.3.0.0.0
    Copyright (c) 2016, Oracle Corporation.  All rights reserved.
    
    
    Oracle Home       : /scratch/u01/app/fmw_prod
    Central Inventory : /u01/app/oraInventory
       from           : /scratch/u01/app/fmw_prod/oraInst.loc
    OPatch version    : 13.3.0.0.0
    OUI version       : 13.3.0.0.0
    Log file location : /scratch/u01/app/fmw_prod/cfgtoollogs/opatch/opatch2016-04-13_06-25-03AM_1.log
    
    
    OPatch detects the Middleware Home as "/scratch/u01/app/fmw_prod"
    
    Lsinventory Output file location : /scratch/u01/app/fmw_prod/cfgtoollogs/opatch/lsinv/lsinventory2016-04-13_06-25-03AM.txt
    
    --------------------------------------------------------------------------------
    Local Machine Information::
    Hostname: host01.example.com
    ARU platform id: 226
    ARU platform description:: Linux x86-64
    
    
    Interim patches (6) :
    
    Patch  19002423     : applied on Wed Mar 16 01:58:18 EDT 2016
    Unique Patch ID:  18804275
    Patch description:  "One-off"
       Created on 9 Apr 2015, 23:09:16 hrs UTC
       Bugs fixed:
         19002423
    
    Patch  19632480     : applied on Wed Mar 16 01:58:01 EDT 2016
    Unique Patch ID:  19278519
    Patch description:  "One-off"
       Created on 25 Aug 2015, 07:19:43 hrs UTC
       Bugs fixed:
         19632480
    
    Patch  18905788     : applied on Wed Mar 16 01:57:44 EDT 2016
    Unique Patch ID:  18668039
    Patch description:  "One-off"
       Created on 7 Mar 2015, 00:43:09 hrs UTC
       Bugs fixed:
         18905788
    
    Patch  19030178     : applied on Wed Mar 16 01:57:32 EDT 2016
    Unique Patch ID:  19234068
    Patch description:  "One-off"
       Created on 4 Aug 2015, 05:40:22 hrs UTC
       Bugs fixed:
         19030178
    
    Patch  19154304     : applied on Wed Mar 16 01:57:15 EDT 2016
    Unique Patch ID:  19278518
    Patch description:  "One-off"
       Created on 25 Aug 2015, 07:10:13 hrs UTC
       Bugs fixed:
         19154304
    
    Patch  19795066     : applied on Wed Mar 16 01:56:58 EDT 2016
    Unique Patch ID:  19149348
    Patch description:  "One-off"
       Created on 16 Jul 2015, 15:51:43 hrs UTC
       Bugs fixed:
         19795066
    
    
    
    --------------------------------------------------------------------------------
    
    OPatch succeeded.
    
  10. Display the information about the six interim patches that ship with WebLogic Server.

    $ opatch lsinventory -jdk $JAVA_HOME | grep –i interim
    Oracle Interim Patch Installer version 13.3.0.0.0
    Interim patches (6) :
    
  11. Apply the patch.

    $ opatch apply -jdk $JAVA_HOME
    
    Oracle Interim Patch Installer version 13.3.0.0.0
    Copyright (c) 2016, Oracle Corporation.  All rights reserved.
    
    
    Oracle Home       : /scratch/u01/app/fmw_prod
    Central Inventory : /u01/app/oraInventory
       from           : /scratch/u01/app/fmw_prod/oraInst.loc
    OPatch version    : 13.3.0.0.0
    OUI version       : 13.3.0.0.0
    Log file location : /scratch/u01/app/fmw_prod/cfgtoollogs/opatch/22250572_Apr_13_2016_06_33_43/apply2016-04-13_06-33-40AM_1.log
    
    
    OPatch detects the Middleware Home as "/scratch/u01/app/fmw_prod"
    
    Verifying environment and performing prerequisite checks...
    OPatch continues with these patches:   22250572  
    
    Do you want to proceed? [y|n]
    y
    User Responded with: Y
    All checks passed.
    
    Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
    (Oracle Home = '/scratch/u01/app/fmw_prod')
    
    
    Is the local system ready for patching? [y|n]
    y
    User Responded with: Y
    Backing up files...
    Applying interim patch '22250572' to OH '/scratch/u01/app/fmw_prod'
    
    Patching component oracle.wls.core.app.server, 12.2.1.0.0...
    
    Patching component oracle.wls.core.app.server, 12.2.1.0.0...
    
    Patching component oracle.wls.libraries, 12.2.1.0.0...
    
    Patching component oracle.wls.libraries, 12.2.1.0.0...
    Patch 22250572 successfully applied.
    Log file location: /scratch/u01/app/fmw_prod/cfgtoollogs/opatch/22250572_Apr_13_2016_06_33_43/apply2016-04-13_06-33-40AM_1.log
    
    OPatch succeeded.
    
  12. Repeat step 9. The OPatch utility should find the interim patch that you just applied.

    $ opatch lsinventory -jdk $JAVA_HOME
    
    Oracle Interim Patch Installer version 13.3.0.0.0
    Copyright (c) 2016, Oracle Corporation.  All rights reserved.
    
    
    Oracle Home       : /scratch/u01/app/fmw_prod
    Central Inventory : /u01/app/oraInventory
       from           : /scratch/u01/app/fmw_prod/oraInst.loc
    OPatch version    : 13.3.0.0.0
    OUI version       : 13.3.0.0.0
    Log file location : /scratch/u01/app/fmw_prod/cfgtoollogs/opatch/opatch2016-04-13_06-38-52AM_1.log
    
    
    OPatch detects the Middleware Home as "/scratch/u01/app/fmw_prod"
    
    Lsinventory Output file location : /scratch/u01/app/fmw_prod/cfgtoollogs/opatch/lsinv/lsinventory2016-04-13_06-38-52AM.txt
    
    --------------------------------------------------------------------------------
    Local Machine Information::
    Hostname: host01.example.com
    ARU platform id: 226
    ARU platform description:: Linux x86-64
    
    
    Interim patches (7) :
    
    Patch  22250572     : applied on Wed Apr 13 06:34:02 EDT 2016
    Unique Patch ID:  19585367
    Patch description:  "One-off"
       Created on 23 Nov 2015, 15:55:10 hrs PST8PDT
       Bugs fixed:
         22175246, 22200449, 21495475, 22247869
    
    Patch  19002423     : applied on Wed Mar 16 01:58:18 EDT 2016
    Unique Patch ID:  18804275
    Patch description:  "One-off"
       Created on 9 Apr 2015, 23:09:16 hrs UTC
       Bugs fixed:
         19002423
    
    Patch  19632480     : applied on Wed Mar 16 01:58:01 EDT 2016
    Unique Patch ID:  19278519
    Patch description:  "One-off"
       Created on 25 Aug 2015, 07:19:43 hrs UTC
       Bugs fixed:
         19632480
    
    Patch  18905788     : applied on Wed Mar 16 01:57:44 EDT 2016
    Unique Patch ID:  18668039
    Patch description:  "One-off"
       Created on 7 Mar 2015, 00:43:09 hrs UTC
       Bugs fixed:
         18905788
    
    Patch  19030178     : applied on Wed Mar 16 01:57:32 EDT 2016
    Unique Patch ID:  19234068
    Patch description:  "One-off"
       Created on 4 Aug 2015, 05:40:22 hrs UTC
       Bugs fixed:
         19030178
    
    Patch  19154304     : applied on Wed Mar 16 01:57:15 EDT 2016
    Unique Patch ID:  19278518
    Patch description:  "One-off"
       Created on 25 Aug 2015, 07:10:13 hrs UTC
       Bugs fixed:
         19154304
    
    Patch  19795066     : applied on Wed Mar 16 01:56:58 EDT 2016
    Unique Patch ID:  19149348
    Patch description:  "One-off"
       Created on 16 Jul 2015, 15:51:43 hrs UTC
       Bugs fixed:
         19795066
    
    
    
    --------------------------------------------------------------------------------
    
    OPatch succeeded.
    

Creating an Archive and Distributing It to Each Node

In this section, you create an Oracle home archive and copy it to each node that's involved in the rollout.

  1. Change the directory to the patched Oracle home that you created in the previous section.

    $ cd /scratch/u01/app/fmw_prod/oracle_common/bin
  2. Create an Oracle home archive.

    $ sh copyBinary.sh -javaHome /scratch/jdk1.8.0_51 -archiveLoc /tmp/wls1221_patched.jar -sourceOracleHomeLoc /scratch/u01/app/fmw_prod
    
     Log   File: "/tmp/CLONE2016-04-13_06-45-49-LOG/CLONE2016-04-13_06-45-49_1434820124.log".
     Error File: "/tmp/CLONE2016-04-13_06-45-49-LOG/CLONE2016-04-13_06-45-49_1434820124.error".
    
    
    INFO : Apr 13, 2016 6:45:52 AM - CLONE-21154   Checking for availability of 1067.0 MB  free space at /tmp/wls1221_patched.jar.
    INFO : Apr 13, 2016 6:45:52 AM - CLONE-21155   Required free space is available.
    INFO : Apr 13, 2016 6:45:53 AM - CLONE-21095   Create archive for /scratch/u01/app/fmw_prod started ...
    INFO : Apr 13, 2016 6:45:53 AM - CLONE-21158   Validating if Oracle Home location is already registered with Oracle inventory ...
    INFO : Apr 13, 2016 6:45:53 AM - CLONE-21147   Oracle Home /scratch/u01/app/fmw_prod is registered by the name "fmw_prod" with the Oracle Inventory.
    INFO : Apr 13, 2016 6:45:54 AM - CLONE-21016   Adding Oracle Home "/scratch/u01/app/fmw_prod" binaries to the archive started ...
    INFO : Apr 13, 2016 6:45:55 AM - CLONE-21053   Total size of the file(s), to be included in the main jar from source location /scratch/u01/app/fmw_prod=1.067 GB.
    INFO : Apr 13, 2016 6:45:56 AM - CLONE-21126   Operation is 12% complete, in "1" seconds.
    INFO : Apr 13, 2016 6:45:58 AM - CLONE-21126   Operation is 20% complete, in "3" seconds.
    INFO : Apr 13, 2016 6:46:00 AM - CLONE-21126   Operation is 30% complete, in "5" seconds.
    INFO : Apr 13, 2016 6:46:02 AM - CLONE-21126   Operation is 43% complete, in "7" seconds.
    INFO : Apr 13, 2016 6:46:05 AM - CLONE-21126   Operation is 50% complete, in "10" seconds.
    INFO : Apr 13, 2016 6:46:07 AM - CLONE-21126   Operation is 60% complete, in "11" seconds.
    INFO : Apr 13, 2016 6:46:09 AM - CLONE-21126   Operation is 70% complete, in "14" seconds.
    INFO : Apr 13, 2016 6:46:15 AM - CLONE-21126   Operation is 80% complete, in "20" seconds.
    INFO : Apr 13, 2016 6:46:19 AM - CLONE-21126   Operation is 90% complete, in "23" seconds.
    INFO : Apr 13, 2016 6:46:22 AM - CLONE-21045   Permission file created successfully.
    INFO : Apr 13, 2016 6:46:22 AM - CLONE-21017   Adding Oracle Home binaries to the archive finished.
    INFO : Apr 13, 2016 6:46:22 AM - CLONE-21030   Adding "/scratch/u01/app/fmw_prod" to the archive is successful.
    INFO : Apr 13, 2016 6:46:22 AM - CLONE-21031   Time taken to add all the cloners to archive was "29" seconds.
    INFO : Apr 13, 2016 6:46:22 AM - CLONE-21032   Archive created successfully at /tmp/wls1221_patched.jar.
    INFO : Apr 13, 2016 6:46:24 AM - CLONE-21006   Total time taken by T2P process was 34 seconds.
    
    INFO : Apr 13, 2016 6:46:24 AM - CLONE-21007   Cloning operation completed successfully.
    
  3. On each node that you want to include in the patching workflow, copy the archive file to the parent folder of the Oracle home that you want to replace. Replace <IP_address> with the host name or the actual IP address of your second node.

    $ cp /tmp/wls1221_patched.jar /scratch/u01/app/
    $ scp /tmp/wls1221_patched.jar oracle@<IP_address>:/scratch/u01/app/
    oracle@<ip_address>'s password:
    wls1221_patched.jar                         100%    3321MB 107.1MB/s 00:31
    

Automating Rollout with Zero Downtime

When you roll out a new Oracle home, you must first roll out the patched Oracle home to the Administration Server.

In this section, you create a workflow to roll out the patched Oracle home to the entire domain. The workflow automatically rolls out the patched Oracle home before rolling it out to the target clusters.

Starting the Administration Server

If you include the Administration Server in a workflow, you must use Node Manager to start it before you initiate the workflow.

  1. If the Administration Server is running, stop it.

    $ cd /scratch/u01/app/fmw/user_projects/domains/mydomain/bin
    $ ./stopWebLogic.sh
    
    Stopping Weblogic Server...
    
    Initializing WebLogic Scripting Tool (WLST) ...
    
    Welcome to WebLogic Server Administration Scripting Shell
    
    Type help() for help on available commands
    
    Please enter your username :weblogic
    Please enter your password :
    Connecting to t3://host01.example.com:7001 with userid weblogic ...
    Successfully connected to Admin Server "AdminServer" that belongs to domain "mydomain".
    
    Warning: An insecure protocol was used to connect to the server. 
    To ensure on-the-wire security, the SSL port or Admin port should be used instead.
    
    Shutting down the server AdminServer with force=false while connected to AdminServer ...
    WLST lost connection to the WebLogic Server that you were connected to. 
    This may happen if the server was shut down or partitioned. 	 
    You will have to re-connect to the server once the server is available.
    Disconnected from weblogic server: AdminServer
    Disconnected from weblogic server: 
    
    
    Exiting WebLogic Scripting Tool.
    
    Done
    Stopping Derby Server...
    Derby server stopped.
    
  2. If the Node Manager isn't running, open a terminal window and change to the following directory.

    $ cd /scratch/u01/app/fmw/user_projects/domains/mydomain/bin
  3. Start the Node Manager.

    $ ./startNodeManager.sh
  4. Navigate to the following directory and start the WLST.

    $ cd /scratch/u01/app/fmw/oracle_common/common/bin
    $ ./wlst.sh
    
    Initializing WebLogic Scripting Tool (WLST) ...
    
    Welcome to WebLogic Server Administration Scripting Shell
    
    Type help() for help on available commands
    
    wls:/offline>
    
  5. Establish a Node Manager session.

    wls:/offline> nmConnect('weblogic','welcome1','host01.example.com','5556','myDomain','/scratch/u01/app/fmw/user_projects/domains/myDomain','ssl')
  6. Start the Administration Server.

    wls:/nm/mydomain> nmStart('AdminServer','/scratch/u01/app/fmw/user_projects/domains/mydomain')

Rolling Out the Patched Oracle Home

  1. In a web browser, enter

    http://host01.example.com:7001/console

  2. On the WebLogic Server Administration Console Welcome screen, enter the user name and password that you used to start the Administration Server. Click Login.

  3. In the Change Center, click Lock & Edit.

  4. In the WebLogic Server Administration Console, under Domain Structure, click myDomain.

  5. Under Settings for mydomain, click the ZDT Control tab.

    Settings for myDomain
    Description of this image

    The default Domain tab is selected. 

    Settings for myDomain
    Description of this image
  6. In the Domain pane, click Patch.

    Settings for myDomain
    Description of this image
  7. On the Rollout Task page, select Oracle Home and click Next.

    Rollout Task
    Description of this image
  8. On the Oracle Home Patching page, enter the following values and then click Finish.

    • Rollout OracleHome: /scratch/u01/app/wls1221_patched.jar
    • Backup OracleHome: /scratch/u01/app/Oracle_Home_backup

    The rollout task starts:

    Confirmation Messages
    Description of this image
  9. Reload the WebLogic Server Administration Console and log in with your credentials.

  10. Repeat steps 4 and 5. In the Domain table, verify that SUCCESS appears in the Status of Last Action column.

    Settings for myDomain
    Description of this image
  11. To view the task results, click the SUCCESS link.

    Task Results
    Description of this image
  12. In the Change Center, click Release Configuration.

Want to Learn More?

  • Oracle WebLogic Server Get Started page in the Oracle Help Center

Credits

  • Lead Curriculum Developers: Tom Eliason, Veerabhadra Rao Putrevu