Thursday, May 31, 2018

Patches to apply before upgrading Oracle GI and DB to 12.2.0.1 (Doc ID 2180188.1)

In this Document
Purpose
Scope
Details
 Grid Infrastructure and Database Upgrade steps for Exadata Database Machine running 11.2.0.3 and later on Oracle Linux
 Linux x86-64
 GI Upgrade to 12.2.0.1
 DB Upgrades to 12.2.0.1
 Managing older database versions with 12.2.0.1 ASM
 DB Downgrades from 12.2.0.1
 GI Downgrades from 12.2.0.1
 Solaris Sparc 64 bit
 GI Upgrades to 12.2.0.1
 DB Upgrades to 12.2.0.1
 Managing older database versions with 12.2.0.1 ASM
 DB Downgrades from 12.2.0.1
 GI Downgrades from 12.2.0.1
 Solaris Intel 64 bit
 GI Upgrades to 12.2.0.1
 DB Upgrades to 12.2.0.1
 Managing older database versions with 12.2.0.1 ASM
 
DB Downgrades from 12.2.0.1
 GI Downgrades from 12.2.0.1
 Windows X64
 GI Upgrade to 12.2.0.1
 DB Upgrades to 12.2.0.1
 Managing older database versions with 12.2.0.1 ASM
 DB Downgrades from 12.2.0.1
 AIX
 GI Upgrade to 12.2.0.1
 DB Upgrades to 12.2.0.1
 Managing older database versions with 12.2.0.1 ASM
 DB Downgrades from 12.2.0.1
 HPUX IA64
 GI Upgrade to 12.2.0.1
 DB Upgrades to 12.2.0.1
 Managing older database versions with 12.2.0.1 ASM
 DB Downgrades from 12.2.0.1
References

APPLIES TO:

Oracle Database - Enterprise Edition - Version 11.2.0.3 to 12.1.0.2 [Release 11.2 to 12.1]
Oracle Database - Enterprise Edition - Version 12.2.0.1 to 12.2.0.1 [Release 12.2]
Information in this document applies to any platform.

PURPOSE

This document lists things to check, known issues to avoid, and areas to consider to have smooth upgrade to 12.2.0.1 Grid Infrastructure and Oracle Database and to Preserve Downgrade capability.

SCOPE

This document is intended for Oracle Clusterware Administrators, Oracle Database Administrators and Oracle Support engineers.

DETAILS

Grid Infrastructure and Database Upgrade steps for Exadata Database Machine running 11.2.0.3 and later on Oracle Linux

Refer to 12.2 Grid Infrastructure and Database Upgrade steps for Exadata Database Machine running 11.2.0.3 and later on Oracle Linux (Note 2111010.1)

List of One-off patches for Upgrades, Downgrades and Co-existence with previous release

Linux x86-64

GI Upgrade to 12.2.0.1

From ReleaseBug#(s)PatchDescriptionAdditional comments
12.1.0.2212553732264608412.1.0.2.160419 (Apr 2016) Grid Infrastructure Patch Set Update (GI PSU)Fix included in OCWPSU 12.1.0.2.160419
Recommended to install latest* 12.1.0.2 GI PSU.
12.1.0.11761780723580463MERGE REQUEST ON TOP OF OCW PSU 12.1.0.1.1 FOR BUGS 17617807 21255373On top of 12.1.0.1.1
21255373
11.2.0.417617807GI PSU 2264619811.2.0.4.160419 (Apr 2016) Grid Infrastructure Patch Set Update (GI PSU)Fix included in 11.2.0.4.4 GI PSU
Recommended to install latest* 11.2.0.4 GI PSU
21255373included in 11.2.0.4.160419OCWPSU
Recommended to install latest* 11.2.0.4 GI PSU
11.2.0.31761780723580534MERGE REQUEST ON TOP OF GRID INFRASTRUCTURE PSU 11.2.0.3.9 FOR BUGS 17617807 21255373On top of 11.2.0.3.9 Clusterware patch
21255373

DB Upgrades to 12.2.0.1

From ReleaseBug#(s)PatchDescriptionAdditional comments
12.1.0.2212553732264608412.1.0.2.160419 (Apr 2016) Grid Infrastructure Patch Set Update (GI PSU)included in OCWPSU 12.1.0.2.160419
Recommended to install latest* 12.1.0.2 GI PSU
12.1.0.11761780723580463MERGE REQUEST ON TOP OF OCW PSU 12.1.0.1.1 FOR BUGS 17617807 21255373Available on top of 12.1.0.1.1
21255373
11.2.0.417617807GI PSU 2264619811.2.0.4.160419 (Apr 2016) Grid Infrastructure Patch Set Update (GI PSU)Fix included in 11.2.0.4.4 GI PSU
Recommended to install latest* 11.2.0.4 GI PSU
21255373included in 11.2.0.4.160419OCWPSU
Recommended to install latest* 11.2.0.4 GI PSU
11.2.0.31761780723580534MERGE REQUEST ON TOP OF GRID INFRASTRUCTURE PSU 11.2.0.3.9 FOR BUGS 17617807 21255373Available on top of 11.2.0.3.9 Clusterware patch
21255373

Managing older database versions with 12.2.0.1 ASM

With ReleaseBug#(s)PatchDescriptionAdditional comments
12.1.0.2 DB216263772162637712.2_150812: DBCA FAILS TO CREATE 12102 DB OVER 12.2 GI/ASM 
2178014621780146LNX64-12.2-WLM: MGMTDB FAILED TO BE CREATED DURING POST GI INSTALLATION 
     
12.1.0.1 DB216263772162637712.2_150812: DBCA FAILS TO CREATE 12102 DB OVER 12.2 GI/ASMAvailable on top of 12.1.0.1.0
2351941423186035W2K12_122_CMP: CREATE 11204DB WITH 122 ENV AFTER 1120419DBBP HIT ORA-00955Available on top of 12.1.0.1.0
Note:Bug 23519414 is duplicate of Bug 23186035 (unpublished)
2178014621780146LNX64-12.2-WLM: MGMTDB FAILED TO BE CREATED DURING POST GI INSTALLATIONAvailable on top of 12.1.0.1.0
     
11.2.0.4 DB2351941423186035W2K12_122_CMP: CREATE 11204DB WITH 122 ENV AFTER 1120419DBBP HIT ORA-00955Available on top of 11.2.0.4.0
Note:Bug 23519414 is duplicate of Bug 23186035 (unpublished)
11.2.0.3 DB2351941423186035W2K12_122_CMP: CREATE 11204DB WITH 122 ENV AFTER 1120419DBBP HIT ORA-00955Available on top of 11.2.0.3.0 Oracle clusterware
Note:Bug 23519414 is duplicate of Bug 23186035 (unpublished)

DB Downgrades from 12.2.0.1

To ReleaseBug#(s)PatchDescriptionAdditional comments
12.1.0.2 (with CDB)2059414923273686Proactive Bundle Patch (12.1.0.2.160719)Install latest* Proactive Bundle patch
2089899720898997XMLTYPESUP: QCTOXSNLB SHOULD NOT CHECK AGAINST SNAPSHOT SIZEAvailable on n top of 12.1.0.2
2034891020348910ALTER TYPE REPLACE IN PRVTAQJI.SQL TO BE REPLACE WITH CREATE OR REPLACE TYPEAvailable on n top of 12.1.0.2
Available on n top of 12.1.0.2.7 Proactive BP
2095881620958816INVALID OBJECTS AFTER DOWNGRADE FROM 12.2.0.1 TO 12.1.0.2On top of 12.1.0.2.7 Proactive bundle patch
     
12.1.0.2(non-CDB)2059414923273686Proactive Bundle Patch (12.1.0.2.160719)Install latest Proactive Bundle patch
2185652221856522UPGRADE OF 12.1 TO 12.2 CAUSE XOQ COMPONENT TO BE INVALIDAvailable on top of 12.1.0.2
2089899720898997XMLTYPESUP: QCTOXSNLB SHOULD NOT CHECK AGAINST SNAPSHOT SIZEAvailable on top of 12.1.0.2
2034891020348910ALTER TYPE REPLACE IN PRVTAQJI.SQL TO BE REPLACE WITH CREATE OR REPLACE TYPEAvailable on top of 12.1.0.2
Available on top of 12.1.0.2.7 Proactive BP
2095881620958816INVALID OBJECTS AFTER DOWNGRADE FROM 12.2.0.1 TO 12.1.0.2On top of 12.1.0.2.7 Proactive bundle patch
     
12.1.0.1 (non-CDB)2195184421951844DB PSUInstall Latest DB PSU
2089899720898997XMLTYPESUP: QCTOXSNLB SHOULD NOT CHECK AGAINST SNAPSHOT SIZEAvailable on top of 12.1.0.2
Available on top of 12.1.0.2.7 Proactive BP
2034891020348910ALTER TYPE REPLACE IN PRVTAQJI.SQL TO BE REPLACE WITH CREATE OR REPLACE TYPEAvailable on top of 12.1.0.1
     
11.2.0.42194834723054359 Install latest DB PSU
2089899720898997XMLTYPESUP: QCTOXSNLB SHOULD NOT CHECK AGAINST SNAPSHOT SIZEOn top of 11.2.0.4
2034891020348910ALTER TYPE REPLACE IN PRVTAQJI.SQL TO BE REPLACE WITH CREATE OR REPLACE TYPENot available for 11.2.0.4
     
11.2.0.32029901720760997 Latest DB PSU available is Patch 20760997
2089899720898997XMLTYPESUP: QCTOXSNLB SHOULD NOT CHECK AGAINST SNAPSHOT SIZEAvailable on top of 11.2.0.3
Available on top of 11.2.0.3.14
2034891020348910ALTER TYPE REPLACE IN PRVTAQJI.SQL TO BE REPLACE WITH CREATE OR REPLACE TYPEOn top of 11.2.0.3

GI Downgrades from 12.2.0.1

To 12.1.0.2NoneN/AN/ANo additional patches required to downgrade GI (Downgraded to the level using the same GIPSUs they were upgraded from). More patch info is mentioned in the GI upgrade category
To 12.1.0.1NoneN/AN/A
To 11.2.0.4NoneN/AN/A
To 11.2.0.3   

Solaris Sparc 64 bit

GI Upgrades to 12.2.0.1

From ReleaseBug#(s)PatchDescriptionAdditional comments
12.1.0.2212553732264608412.1.0.2.160419 (Apr 2016) Grid Infrastructure Patch Set Update (GI PSU)included in OCWPSU 12.1.0.2.160419
Recommended to install latest* 12.1.0.2 GI PSU
12.1.0.11761780723580463MERGE REQUEST ON TOP OF OCW PSU 12.1.0.1.1 FOR BUGS 17617807 21255373On top of 12.1.0.1.1 OCW PSU
Recommended to install latest* 12.1.0.1 GI PSU
21255373
1588144315881443DBCA FAILED TO START DB RESOURCE WITH ASM DISKGROUPAvailable on top of 12.1.0.1.6 PSU
Available on top of 12.1.0.1.7 PSU
11.2.0.4176178071938011511.2.0.4.4 GI PSUincluded in GI PSU4 or later
Recommended to install latest* 11.2.0.4 GI PSU
212553732264619811.2.0.4.160419 (Apr 2016) Grid Infrastructure Patch Set Update (GI PSU)included in 11.2.0.4.160419OCWPSU Recommended to install latest* 11.2.0.4 GI PSU
11.2.0.31761780723580534MERGE REQUEST ON TOP OF GRID INFRASTRUCTURE PSU 11.2.0.3.9 FOR BUGS 17617807 21255373Download on top of 11.2.0.3.9 GIPSU
21255373

DB Upgrades to 12.2.0.1

From ReleaseBug#(s)PatchDescriptionAdditional comments
12.1.0.2    
212553732264608412.1.0.2.160419 (Apr 2016) Grid Infrastructure Patch Set Update (GI PSU)included in OCWPSU 12.1.0.2.160419
Recommended to install latest* 12.1.0.2 GI PSU
12.1.0.11761780723580463MERGE REQUEST ON TOP OF OCW PSU 12.1.0.1.1 FOR BUGS 17617807 21255373On top of 12.1.0.1.1 OCW PSU
Recommended to install latest* 12.1.0.1 GI PSU
21255373
1588144315881443DBCA FAILED TO START DB RESOURCE WITH ASM DISKGROUPAvailable on top of 12.1.0.1.1 PSU
Available on top of 12.1.0.1.7 PSU
11.2.0.4176178071938011511.2.0.4.4 GI PSUincluded in GI PSU4 or later
Recommended to install latest* 11.2.0.4 GI PSU
212553732264619811.2.0.4.160419 (Apr 2016) Grid Infrastructure Patch Set Update (GI PSU)included in 11.2.0.4.160419OCWPSU Recommended to install latest* 11.2.0.4 GI PSU
11.2.0.31761780723580534MERGE REQUEST ON TOP OF GRID INFRASTRUCTURE PSU 11.2.0.3.9 FOR BUGS 17617807 21255373Download on top of 11.2.0.3.9 GIPSU
21255373



















Managing older database versions with 12.2.0.1 ASM

With ReleaseBug#(s)PatchDescriptionAdditional comments
12.1.0.2 DB216263772162637712.2_150812: DBCA FAILS TO CREATE 12102 DB OVER 12.2 GI/ASMPatch Available for Sol.Sparc64
2178014621780146LNX64-12.2-WLM: MGMTDB FAILED TO BE CREATED DURING POST GI INSTALLATIONPatch Available for Sol.Sparc64
     
12.1.0.1 DB216263772162637712.2_150812: DBCA FAILS TO CREATE 12102 DB OVER 12.2 GI/ASMAvailable on top of 12.1.0.1.0
2178014621780146LNX64-12.2-WLM: MGMTDB FAILED TO BE CREATED DURING POST GI INSTALLATIONAvailable on top of 12.1.0.1.0
1588144315881443DBCA FAILED TO START DB RESOURCE WITH ASM DISKGROUPAvailable on top of 12.1.0.1.6 PSU
Available on top of 12.1.0.1.7 PSU
2318603523186035W2K12_122_CMP: CREATE 11204DB WITH 122 ENV AFTER 1120419DBBP HIT ORA-00955Available on top of 12.1.0.1.0
     
11.2.0.4 DB2318603523186035W2K12_122_CMP: CREATE 11204DB WITH 122 ENV AFTER 1120419DBBP HIT ORA-00955Available on top of 11.2.0.4.0
11.2.0.3 DB1346035313460353REGISTRATION OF 11.2.0.3 DATABASE FAILS AGAINST 12.1 CRS STACKAvailable on top of 11.2.0.3.0
 2318603523186035W2K12_122_CMP: CREATE 11204DB WITH 122 ENV AFTER 1120419DBBP HIT ORA-00955Available on top of 11.2.0.3.0 Oracle Clusterware

DB Downgrades from 12.2.0.1

To  ReleaseBug#(s)PatchDescriptionAdditional comments
12.1.0.2 (with CDB)2059414923273686Proactive Bundle Patch (12.1.0.2.160719)Install latest* Proactive Bundle patch
2089899720898997XMLTYPESUP: QCTOXSNLB SHOULD NOT CHECK AGAINST SNAPSHOT SIZEAvailable on n top of 12.1.0.2
2034891020348910ALTER TYPE REPLACE IN PRVTAQJI.SQL TO BE REPLACE WITH CREATE OR REPLACE TYPEAvailable on n top of 12.1.0.2
Available on n top of 12.1.0.2.7 Proactive BP
2095881620958816INVALID OBJECTS AFTER DOWNGRADE FROM 12.2.0.1 TO 12.1.0.2On top of 12.1.0.2.7 Proactive bundle patch
    
     
12.1.0.2(non-CDB)2059414923273686Proactive Bundle Patch (12.1.0.2.160719)Install latest Proactive Bundle patch
2089899720898997XMLTYPESUP: QCTOXSNLB SHOULD NOT CHECK AGAINST SNAPSHOT SIZEAvailable on top of 12.1.0.2
2034891020348910ALTER TYPE REPLACE IN PRVTAQJI.SQL TO BE REPLACE WITH CREATE OR REPLACE TYPEAvailable on top of 12.1.0.2
Available on top of 12.1.0.2.7 Proactive BP
2095881620958816INVALID OBJECTS AFTER DOWNGRADE FROM 12.2.0.1 TO 12.1.0.2On top of 12.1.0.2.7 Proactive bundle patch
2185652221856522UPGRADE OF 12.1 TO 12.2 CAUSE XOQ COMPONENT TO BE INVALIDAvailable on top of 12.1.0.2
     
12.1.0.1 (non-CDB)21951844DB PSUInstall Latest DB PSU21951844
2089899720898997XMLTYPESUP: QCTOXSNLB SHOULD NOT CHECK AGAINST SNAPSHOT SIZEAvailable on top of 12.1.0.2
Available on top of 12.1.0.2.7 Proactive BP
2034891020348910ALTER TYPE REPLACE IN PRVTAQJI.SQL TO BE REPLACE WITH CREATE OR REPLACE TYPEAvailable on top of 12.1.0.1
     
11.2.0.42194834723054359DB PSU 11.2.0.4.160719Install latest DB PSU
2089899720898997XMLTYPESUP: QCTOXSNLB SHOULD NOT CHECK AGAINST SNAPSHOT SIZEOn top of 11.2.0.4
2034891020348910ALTER TYPE REPLACE IN PRVTAQJI.SQL TO BE REPLACE WITH CREATE OR REPLACE TYPENot available for 11.2.0.4
     
11.2.0.32029901720760997DB PSU 11.2.0.3.15Latest DB PSU available is Patch 20760997
2089899720898997XMLTYPESUP: QCTOXSNLB SHOULD NOT CHECK AGAINST SNAPSHOT SIZEAvailable on top of 11.2.0.3
2034891020348910ALTER TYPE REPLACE IN PRVTAQJI.SQL TO BE REPLACE WITH CREATE OR REPLACE TYPEOn top of 11.2.0.3
    

GI Downgrades from 12.2.0.1

To 12.1.0.2NoneN/AN/ANo additional patches required to downgrade GI (Downgraded to the level using the same GIPSUs they were upgraded from). More patch info is mentioned in the GI upgrade category
To 12.1.0.1NoneN/AN/A
To 11.2.0.4NoneN/AN/A
To 11.2.0.3   

Solaris Intel 64 bit

GI Upgrades to 12.2.0.1

From ReleaseBug#(s)PatchDescriptionAdditional comments
12.1.0.2212553732264608412.1.0.2.160419 (Apr 2016) Grid Infrastructure Patch Set Update (GI PSU)included in OCWPSU 12.1.0.2.160419
Recommended to install latest* 12.1.0.2 GI PSU
12.1.0.11761780723580463MERGE REQUEST ON TOP OF OCW PSU 12.1.0.1.1 FOR BUGS 17617807 21255373On top of 12.1.0.1.1 OCW PSU
Recommended to install latest* 12.1.0.1 GI PSU
21255373
1588144315881443DBCA FAILED TO START DB RESOURCE WITH ASM DISKGROUPAvailable on top of 12.1.0.1.6 PSU
Available on top of 12.1.0.1.7 PSU
11.2.0.4176178071938011511.2.0.4.4 GI PSUincluded in GI PSU4 or later
Recommended to install latest* 11.2.0.4 GI PSU
212553732264619811.2.0.4.160419 (Apr 2016) Grid Infrastructure Patch Set Update (GI PSU)included in 11.2.0.4.160419OCWPSU Recommended to install latest* 11.2.0.4 GI PSU
11.2.0.31761780723580534MERGE REQUEST ON TOP OF GRID INFRASTRUCTURE PSU 11.2.0.3.9 FOR BUGS 17617807 21255373Download on top of 11.2.0.3.9 GIPSU
21255373

DB Upgrades to 12.2.0.1

From ReleaseBug#(s)PatchDescriptionAdditional comments
12.1.0.2    
212553732264608412.1.0.2.160419 (Apr 2016) Grid Infrastructure Patch Set Update (GI PSU)included in OCWPSU 12.1.0.2.160419
Recommended to install latest* 12.1.0.2 GI PSU
12.1.0.11761780723580463MERGE REQUEST ON TOP OF OCW PSU 12.1.0.1.1 FOR BUGS 17617807 21255373On top of 12.1.0.1.1 OCW PSU
Recommended to install latest* 12.1.0.1 GI PSU
21255373
1588144315881443DBCA FAILED TO START DB RESOURCE WITH ASM DISKGROUPAvailable on top of 12.1.0.1.6 PSU
Available on top of 12.1.0.1.7 PSU
11.2.0.4176178071938011511.2.0.4.4 GI PSUincluded in GI PSU4 or later
Recommended to install latest* 11.2.0.4 GI PSU
212553732264619811.2.0.4.160419 (Apr 2016) Grid Infrastructure Patch Set Update (GI PSU)included in 11.2.0.4.160419OCWPSU Recommended to install latest* 11.2.0.4 GI PSU
11.2.0.31761780723580534MERGE REQUEST ON TOP OF GRID INFRASTRUCTURE PSU 11.2.0.3.9 FOR BUGS 17617807 21255373Download on top of 11.2.0.3.9 GIPSU
21255373


















Managing older database versions with 12.2.0.1 ASM

With ReleaseBug#(s)PatchDescriptionAdditional comments
12.1.0.2 DB216263772162637712.2_150812: DBCA FAILS TO CREATE 12102 DB OVER 12.2 GI/ASMPatch Available for Sol.Sparc64
2178014621780146LNX64-12.2-WLM: MGMTDB FAILED TO BE CREATED DURING POST GI INSTALLATIONPatch Available for Sol.Sparc64
     
12.1.0.1 DB216263772162637712.2_150812: DBCA FAILS TO CREATE 12102 DB OVER 12.2 GI/ASMAvailable on top of 12.1.0.1.0
2178014621780146LNX64-12.2-WLM: MGMTDB FAILED TO BE CREATED DURING POST GI INSTALLATIONAvailable on top of 12.1.0.1.0
1588144315881443DBCA FAILED TO START DB RESOURCE WITH ASM DISKGROUPAvailable on top of 12.1.0.1.6 PSU
Available on top of 12.1.0.1.7 PSU
2318603523186035W2K12_122_CMP: CREATE 11204DB WITH 122 ENV AFTER 1120419DBBP HIT ORA-00955Available on top of 12.1.0.1.0
     
11.2.0.4 DB2318603523186035W2K12_122_CMP: CREATE 11204DB WITH 122 ENV AFTER 1120419DBBP HIT ORA-00955Available on top of 11.2.0.4.0
11.2.0.3 DB1346035313460353REGISTRATION OF 11.2.0.3 DATABASE FAILS AGAINST 12.1 CRS STACKAvailable on top of 11.2.0.3.0
 2318603523186035W2K12_122_CMP: CREATE 11204DB WITH 122 ENV AFTER 1120419DBBP HIT ORA-00955Available on top of 11.2.0.3.0 Oracle Clusterware


DB Downgrades from 12.2.0.1

To  ReleaseBug#(s)PatchDescriptionAdditional comments
12.1.0.2 (with CDB)2059414923273686Proactive Bundle Patch (12.1.0.2.160719)Install latest* Proactive Bundle patch
2089899720898997XMLTYPESUP: QCTOXSNLB SHOULD NOT CHECK AGAINST SNAPSHOT SIZEAvailable on n top of 12.1.0.2
2034891020348910ALTER TYPE REPLACE IN PRVTAQJI.SQL TO BE REPLACE WITH CREATE OR REPLACE TYPEAvailable on n top of 12.1.0.2
Available on n top of 12.1.0.2.7 Proactive BP
2095881620958816INVALID OBJECTS AFTER DOWNGRADE FROM 12.2.0.1 TO 12.1.0.2On top of 12.1.0.2.7 Proactive bundle patch
    
     
12.1.0.2(non-CDB)2059414923273686Proactive Bundle Patch (12.1.0.2.160719)Install latest Proactive Bundle patch
2089899720898997XMLTYPESUP: QCTOXSNLB SHOULD NOT CHECK AGAINST SNAPSHOT SIZEAvailable on top of 12.1.0.2
2034891020348910ALTER TYPE REPLACE IN PRVTAQJI.SQL TO BE REPLACE WITH CREATE OR REPLACE TYPEAvailable on top of 12.1.0.2
Available on top of 12.1.0.2.7 Proactive BP
2095881620958816INVALID OBJECTS AFTER DOWNGRADE FROM 12.2.0.1 TO 12.1.0.2On top of 12.1.0.2.7 Proactive bundle patch
2185652221856522UPGRADE OF 12.1 TO 12.2 CAUSE XOQ COMPONENT TO BE INVALIDAvailable on top of 12.1.0.2
     
12.1.0.1 (non-CDB)21951844DB PSUInstall Latest DB PSU21951844
2089899720898997XMLTYPESUP: QCTOXSNLB SHOULD NOT CHECK AGAINST SNAPSHOT SIZEAvailable on top of 12.1.0.2
Available on top of 12.1.0.2.7 Proactive BP
2034891020348910ALTER TYPE REPLACE IN PRVTAQJI.SQL TO BE REPLACE WITH CREATE OR REPLACE TYPEAvailable on top of 12.1.0.1
     
11.2.0.42194834723054359DB PSU 11.2.0.4.160719Install latest DB PSU
2089899720898997XMLTYPESUP: QCTOXSNLB SHOULD NOT CHECK AGAINST SNAPSHOT SIZEOn top of 11.2.0.4
2034891020348910ALTER TYPE REPLACE IN PRVTAQJI.SQL TO BE REPLACE WITH CREATE OR REPLACE TYPENot available for 11.2.0.4
     
11.2.0.32029901720760997DB PSU 11.2.0.3.15Latest DB PSU available is Patch 20760997
2089899720898997XMLTYPESUP: QCTOXSNLB SHOULD NOT CHECK AGAINST SNAPSHOT SIZEAvailable on top of 11.2.0.3
2034891020348910ALTER TYPE REPLACE IN PRVTAQJI.SQL TO BE REPLACE WITH CREATE OR REPLACE TYPEOn top of 11.2.0.3
    

GI Downgrades from 12.2.0.1

To 12.1.0.2NoneN/AN/ANo additional patches required to downgrade GI (Downgraded to the level using the same GIPSUs they were upgraded from). More patch info is mentioned in the GI upgrade category
To 12.1.0.1NoneN/AN/A
To 11.2.0.4NoneN/AN/A
To 11.2.0.3   

Windows X64

GI Upgrade to 12.2.0.1

From ReleaseBug#(s)PatchDescriptionAdditional comments
12.1.0.22125537322809813 or laterWINDOWS DB BUNDLE PATCH 12.1.0.2.160419Recommended to install WINDBBP 12.1.0.2.160531 patch NO. 22809813 or Later
12.1.0.123081828Fixes included in Bundle patch 12.1.0.1.160719

1) First apply WINDBBP 12.1.0.1.160719
2) Next apply Patch 21255373 on TOP of WINDBBP 12.1.0.1.160719
19234907
17617807
2125537321255373CSSD : DUPLICATE RESPONSE IN GROUP DATA UPDATE
11.2.0.417617807Patch 22839608 or laterWindows Bundle patchInstall latest Windows BP patch to get all the fixes
21691487
19234907
21255373
11.2.0.31761780725509398MERGE REQUEST ON TOP OF 11.2.0.3.0 FOR BUGS 17168126,17500165,19234907,21255373Contact Oracle support to get the patch.
19234907
21255373

DB Upgrades to 12.2.0.1

From ReleaseBug#(s)PatchDescriptionAdditional comments
12.1.0.221255373NANAPatch NOT required
12.1.0.11761780721744907Windows BP 12.1.0.1.21Install Patch 21744907 or latest Bundle patch
21255373
11.2.0.4NANANAPatch NOT required
11.2.0.31761780725509398MERGE REQUEST ON TOP OF 11.2.0.3.0 FOR BUGS 17168126,17500165,19234907,21255373Contact Oracle support to get the patch.

Managing older database versions with 12.2.0.1 ASM

With ReleaseBug#(s)PatchDescriptionAdditional comments
12.1.0.2 DB2162637724345625WINDOWS DB BUNDLE PATCH 12.1.0.2.160831Install 12.1.0.2.160831 Windows BP or later
20007009
12.1.0.1 DBNA23530410WINDOWS DB BUNDLE PATCH 12.1.0.1.160719Install Patch 23530410 or latest Windows BP
11.2.0.4 DBNANANAPatch NOT required
11.2.0.3 DBNANANAPatch NOT required

DB Downgrades from 12.2.0.1

To ReleaseBug#(s)PatchDescriptionAdditional comments
12.1.0.2 (with CDB)2089899723530387WINDOWS DB BUNDLE PATCH 12.1.0.2.160719Install Patch 23530387 or latest Windows Bundle patch
20958816
12.1.0.2(non-CDB)2089899723530387WINDOWS DB BUNDLE PATCH 12.1.0.2.160719Install Patch 23530387 or latest Windows Bundle patch
12.1.0.1 (non-CDB)2089899723530387WINDOWS DB BUNDLE PATCH 12.1.0.2.160719Install Patch 23530387 or latest Windows Bundle patch
2034891020348910ALTER TYPE REPLACE IN PRVTAQJI.SQL TO BE REPLACE WITH CREATE OR REPLACE TYPEAvailable on top of 12.1.0.1
11.2.0.42089899723530387WINDOWS DB BUNDLE PATCH 12.1.0.2.160719Install Patch 23530387 or latest Windows Bundle patch
11.2.0.32089899723530387WINDOWS DB BUNDLE PATCH 12.1.0.2.160719Install Patch 23530387 or latest Windows Bundle patch

AIX

GI Upgrade to 12.2.0.1

From ReleaseBug#(s)PatchDescriptionAdditional comments
12.1.0.2212553732264608412.1.0.2.160419 (Apr 2016) Grid Infrastructure Patch Set Update (GI PSU)Recommended to install latest* 12.1.0.2 GI PSU.
12.1.0.117617807
21255373
15881443
25427122MERGE REQUEST ON TOP OF 12.1.0.1.0 FOR BUGS 17617807, 21255373, 15881443On top of 12.1.0.1.0
1796094017960940AIX: ASSERTION IN KSFREE (DO_NOT_SHIP BUILD ONLY)On top of 12.1.0.1.0
11.2.0.417617807GI PSU 2443633811.2.0.4.161018 (OCT2016) Grid Infrastructure Patch Set Update (GI PSU)
Recommended to install latest* 11.2.0.4 GI PSU
21255373Recommended to install latest* 11.2.0.4 GI PSU
11.2.0.31761780724934122MERGE REQUEST ON TOP OF GRID INFRASTRUCTURE PSU 11.2.0.3.9 FOR BUGS 13604285On top of 11.2.0.3.9 Clusterware patch
21255373

DB Upgrades to 12.2.0.1

From ReleaseBug#(s)PatchDescriptionAdditional comments
12.1.0.2212553732152323412.1.0.2.5 (Oct 2015) Grid Infrastructure Patch Set Update (GI PSU)Recommended to install latest* 12.1.0.2 GI PSU
12.1.0.117617807
21255373
15881443
25427122MERGE REQUEST ON TOP OF 12.1.0.1.0 FOR BUGS 17617807, 21255373, 15881443Available on top of 12.1.0.1.1
11.2.0.417617807GI PSU 2443633811.2.0.4.161018 (OCT2016) Grid Infrastructure Patch Set Update (GI PSU)Recommended to install latest* 11.2.0.4 GI PSU
21255373Recommended to install latest* 11.2.0.4 GI PSU
11.2.0.31761780724934122MERGE REQUEST ON TOP OF GRID INFRASTRUCTURE PSU 11.2.0.3.9 FOR BUGS 13604285Available on top of 11.2.0.3.9 Clusterware patch
21255373

Managing older database versions with 12.2.0.1 ASM

With ReleaseBug#(s)PatchDescriptionAdditional comments
12.1.0.2 DB216263772162637712.2_150812: DBCA FAILS TO CREATE 12102 DB OVER 12.2 GI/ASMAvailable on top of 12.1.0.2
12.1.0.1 DB216263772162637712.2_150812: DBCA FAILS TO CREATE 12102 DB OVER 12.2 GI/ASMAvailable on top of 12.1.0.1.0
11.2.0.4 DBNoneNANANA

DB Downgrades from 12.2.0.1

To Release Bug#(s)PatchDescriptionAdditional comments
12.1.0.2 (with CDB) 2059414923273686Proactive Bundle Patch (12.1.0.2.160719)Install latest* Proactive Bundle patch
 2089899720898997XMLTYPESUP: QCTOXSNLB SHOULD NOT CHECK AGAINST SNAPSHOT SIZEAvailable on n top of 12.1.0.2
 2034891020348910ALTER TYPE REPLACE IN PRVTAQJI.SQL TO BE REPLACE WITH CREATE OR REPLACE TYPEAvailable on n top of 12.1.0.2
Available on n top of 12.1.0.2.7 Proactive BP
 2095881620958816INVALID OBJECTS AFTER DOWNGRADE FROM 12.2.0.1 TO 12.1.0.2On top of 12.1.0.2.7 Proactive bundle patch
      
11.2.0.4 2194834723054359 Install latest DB PSU
 2089899720898997XMLTYPESUP: QCTOXSNLB SHOULD NOT CHECK AGAINST SNAPSHOT SIZEOn top of 11.2.0.4
 2034891020348910ALTER TYPE REPLACE IN PRVTAQJI.SQL TO BE REPLACE WITH CREATE OR REPLACE TYPENot available for 11.2.0.4

HPUX IA64

GI Upgrade to 12.2.0.1

From ReleaseBug#(s)PatchDescriptionAdditional comments
12.1.0.220948770
21255373
20948770TACKING BUG TO COMPLETE PORT SPECIFIC BLR CHANGES FOR BUG-1962209621255373 is included in GIPSU12.1.0.2.160719 or later
12.1.0.117617807
21255373
15881443
25427122MERGE REQUEST ON TOP OF 12.1.0.1.0 FOR BUGS 17617807, 21255373, 15881443On top of 12.1.0.1.0
11.2.0.421255373GI PSU 2327413411.2.0.4.160719 (JUL2016) Grid Infrastructure Patch Set Update (GI PSU)
Recommended to install latest* 11.2.0.4 GI PSU
11.2.0.31761780724934122MERGE REQUEST ON TOP OF GRID INFRASTRUCTURE PSU 11.2.0.3.9 FOR BUGS 13604285On top of 11.2.0.3.9 Clusterware patch
21255373

DB Upgrades to 12.2.0.1

From ReleaseBug#(s)PatchDescriptionAdditional comments
12.1.0.221255373
20948770
21523234
20948770
12.1.0.2.5 (Oct 2015) Grid Infrastructure Patch Set Update (GI PSU)
TACKING BUG TO COMPLETE PORT SPECIFIC BLR CHANGES FOR BUG-19622096
Recommended to install latest* 12.1.0.2 GI PSU
Patch is available for HPUX.IA64
12.1.0.117617807
21255373
15881443
25427122MERGE REQUEST ON TOP OF 12.1.0.1.0 FOR BUGS 17617807, 21255373, 15881443Available on top of 12.1.0.1.1
11.2.0.421255373GI PSU 2443633811.2.0.4.161018 (OCT2016) Grid Infrastructure Patch Set Update (GI PSU)
21255373 is included in GIPSU12.1.0.2.160719 or later
11.2.0.31761780724934122MERGE REQUEST ON TOP OF GRID INFRASTRUCTURE PSU 11.2.0.3.9 FOR BUGS 13604285Available on top of 11.2.0.3.9 Clusterware patch
21255373

Managing older database versions with 12.2.0.1 ASM

With ReleaseBug#(s)PatchDescriptionAdditional comments
12.1.0.2 DB216263772162637712.2_150812: DBCA FAILS TO CREATE 12102 DB OVER 12.2 GI/ASMAvailable on top of 12.1.0.2

DB Downgrades from 12.2.0.1


To Release Bug#(s)PatchDescriptionAdditional comments
12.1.0.2 (with CDB) 2059414923273686Proactive Bundle Patch (12.1.0.2.160719)Install latest* Proactive Bundle patch
 2089899720898997XMLTYPESUP: QCTOXSNLB SHOULD NOT CHECK AGAINST SNAPSHOT SIZEAvailable on n top of 12.1.0.2
 2034891020348910ALTER TYPE REPLACE IN PRVTAQJI.SQL TO BE REPLACE WITH CREATE OR REPLACE TYPEAvailable on n top of 12.1.0.2
Available on n top of 12.1.0.2.7 Proactive BP
 2095881620958816INVALID OBJECTS AFTER DOWNGRADE FROM 12.2.0.1 TO 12.1.0.2On top of 12.1.0.2.7 Proactive bundle patch
      
11.2.0.4 2194834723054359 Install latest DB PSU
 2089899720898997XMLTYPESUP: QCTOXSNLB SHOULD NOT CHECK AGAINST SNAPSHOT SIZEOn top of 11.2.0.4
 2034891020348910ALTER TYPE REPLACE IN PRVTAQJI.SQL TO BE REPLACE WITH CREATE OR REPLACE TYPENot available for 11.2.0.4

HugePages on Linux: What It Is... and What It Is Not... (Doc ID 361323.1)

In this Document
Purpose
Scope
Details
 Introduction
 Common Misconceptions
 Regular Pages and HugePages
 HugePages in 2.4 Kernels
 Some HugePages Facts/Features
 Advantages of HugePages Over Normal Sharing Or AMM
 The Size of a HugePage
 HugePages Reservation
 HugePages and Oracle 11g Automatic Memory Management (AMM)
 What if Not Enough HugePages Configured?
 What if Too Much HugePages Configured?
 Parameters/Setup
 Notes on HugePages in General
References

APPLIES TO:

Linux OS - Version Enterprise Linux 3.0 to Oracle Linux 7.3 with Unbreakable Enterprise Kerne [4.1.12] [Release RHEL3 to OL7U3]
Oracle Database - Enterprise Edition - Version 9.2.0.1 and later
IBM S/390 Based Linux (31-bit)
IBM: Linux on POWER Big Endian Systems
Linux x86-64
Linux Itanium
Linux x86
IBM: Linux on System z

PURPOSE

This document describes the HugePages feature in the Linux kernel available for 32-bit and 64-bit architectures. There has been some confusion among the terms and uses related to HugePages. This document should clarify the misconceptions about the feature.

SCOPE

Information in this document is useful for Linux system administrators and Oracle database administrators working with system administrators.

This document covers information about HugePages concept that applies to very large memory (VLM)  (>= 4GB) systems for 32-bit and 64-bit architectures including some configuration information and references.

DETAILS

Introduction

HugePages is a feature integrated into the Linux kernel with release 2.6. This feature basically provides the alternative to the 4K page size (16K for IA64) providing bigger pages.

Regarding the HugePages, there are some other similar terms that are being used like, hugetlb, hugetlbfs. Before proceeding into the details of HugePages, see the definitions below:
  • Page Table: A page table is the data structure of a virtual memory system in an operating system to store the mapping between virtual addresses and physical addresses. This means that on a virtual memory system, the memory is accessed by first accessing a page table and then accessing the actual memory location implicitly.
  • TLB: A Translation Lookaside Buffer (TLB) is a buffer (or cache) in a CPU that contains parts of the page table. This is a fixed size buffer being used to do virtual address translation faster.
  • hugetlb: This is an entry in the TLB that points to a HugePage (a large/big page larger than regular 4K and predefined in size). HugePages are implemented via hugetlb entries, i.e. we can say that a HugePage is handled by a "hugetlb page entry". The 'hugetlb" term is also (and mostly) used synonymously with a HugePage (See Note 261889.1). In this document the term "HugePage" is going to be used but keep in mind that mostly "hugetlb" refers to the same concept.
  • hugetlbfs: This is a new in-memory filesystem like tmpfs and is presented by 2.6 kernel. Pages allocated on hugetlbfs type filesystem are allocated in HugePages.

Common Misconceptions

WRONG: HugePages is a method to be able to use large SGA on 32-bit VLM systemsRIGHT: HugePages is a method to have larger pages where it is useful for working with very large memory. It is both useful in 32- and 64-bit configurations
WRONG: HugePages cannot be used without USE_INDIRECT_DATA_BUFFERSRIGHT: HugePages can be used without indirect buffers. 64-bit systems do not need to use indirect buffers to have a large buffer cache for the RDBMS instance. Furthermore HugePages can be used with indirect buffers.
WRONG: hugetlbfs means hugetlbRIGHT: hugetlbfs is a filesystem type **BUT** hugetlb is the mechanism employed in the back where hugetlb can be employed WITHOUT hugetlbfs
WRONG: hugetlbfs means hugepagesRIGHT: hugetlbfs is a filesystem type **BUT** HugePages is the mechanism employed in the back (synonymously with hugetlb) where HugePages can be employed WITHOUT hugetlbfs.

Regular Pages and HugePages

This section aims to give a general picture about memory access in virtual memory systems and how pages are referenced.
When a single process works with a piece of memory, the pages that the process uses are reference in a local page table for the specific process. The entries in this table also contain references to the System-Wide Page Table which actually has references to actual physical memory addresses. So theoretically a user mode process (i.e. Oracle processes), follows its local page table to access to the system page table and then can reference the actual physical table virtually. As you can see below, it is also possible (and very common to Oracle RDBMS due to SGA use) that two different O/S processes can point to the same entry in the system-wide page table.
When HugePages are in the play, the usual page tables are employed. The very basic difference is that the entries in both process page table and the system  page table has attributes about huge pages. So any page in a page table can be a huge page or a regular page.

HugePages in 2.4 Kernels

The HugePages feature is backported to some 2.4 kernels. Kernel versions 2.4.21-* has this feature (See Note 311504.1 for the distributions with 2.4.21 kernels) but it is implemented in a different way. The feature is completely available. The difference from 2.6 implementation is the organization within the source code and the kernel parameters that are used for configuring HugePages. See Parameters/Setup section below.

Some HugePages Facts/Features

  • HugePages can be allocated on-the-fly but they must be reserved during system startup. Otherwise the allocation might fail as the memory is already paged in 4K mostly.
  • HugePage sizes vary from 2MB to 256MB based on kernel version and HW architecture (See related section below.)
  • HugePages are not subject to reservation /  release after the system startup unless there is system administrator intervention, basically changing the hugepages configuration (i.e. number of pages available or pool size)

Advantages of HugePages Over Normal Sharing Or AMM

  • Not swappable: HugePages are not swappable. Therefore there is no page-in/page-out mechanism overhead.HugePages are universally regarded as pinned.
  • Relief of TLB pressure:
    • Hugepge uses fewer pages to cover the physical address space, so the size of “book keeping” (mapping from the virtual to the physical address) decreases, so it requiring fewer entries in the TLB
    • TLB entries will cover a larger part of the address space when use HugePages, there will be fewer TLB misses before the entire or most of the SGA is mapped in the SGA
    • Fewer TLB entries for the SGA also means more for other parts of the address space
  • Decreased page table overhead: Each page table entry can be as large as 64 bytes and if we are trying to handle 50GB of RAM, the pagetable will be approximately 800MB in size which is practically will not fit in 880MB size lowmem (in 2.4 kernels - the page table is not necessarily in lowmem in 2.6 kernels) considering the other uses of lowmem. When 95% of memory is accessed via 256MB hugepages, this can work with a page table of approximately 40MB in total. See also Document 361468.1.
  • Eliminated page table lookup overhead: Since the pages are not subject to replacement, page table lookups are not required.
  • Faster overall memory performance: On virtual memory systems each memory operation is actually two abstract memory operations. Since there are fewer pages to work on, the possible bottleneck on page table access is clearly avoided.       

The Size of a HugePage

The size of a single HugePage varies according to:
  • Kernel version/linux distribution
  • HW Platform
The actual size of the HugePage on a specific system can be checked by:

        $ grep Hugepagesize /proc/meminfo

The table below shows the sizes of HugePages on different configurations. Note that these are general numbers taken from the most recent versions of the kernels. For a specific kernel source package, you can check for the HPAGE_SIZE macro value (based on HPAGE_SHIFT) for a different (more recent) kernel source tree.
HW PlatformSource Code TreeKernel 2.4Kernel 2.6
and later
Linux x86 (IA32)i3864 MB2 MB
Linux x86-64 (AMD64, EM64T)x86_642 MB2 MB
Linux Itanium (IA64)ia64256 MB256 MB
IBM Power Based Linux (PPC64)ppc64/powerpcN/A **16 MB
IBM zSeries Based Linuxs390N/A1 MB
IBM S/390 Based Linuxs390N/AN/A

* Some older packaging for the 2.6.5 kernel on SLES8 (like 2.6.5-7.97) can have 2 MB Hugepagesize.
** Oracle RDBMS is also not certified in this configuration. See Document 341507.1

HugePages Reservation

The HugePages reservation feature is fully implemented in 2.6.17 kernel, and thus EL5 (based on 2.6.18) has this feature. The alloc_huge_page() is improved for this. (See kernel source mm/hugetlb.c)

From /usr/share/doc/kernel-doc-2.6.18/Documentation/vm/hugetlbpage.txt:
HugePages_Rsvd is short for "reserved," and is the number of hugepages for which a commitment to allocate from the pool has been made, but no allocation has yet been made. It's vaguely analogous to overcommit.
This feature in the Linux kernel enables the Oracle Database to be able to allocate hugepages for the sublevels of the SGA on-demand. The same behaviour is expected for various Oracle Database versions that are certified on EL5.

HugePages and Oracle 11g Automatic Memory Management (AMM)

The AMM and HugePages are not compatible. One needs to disable AMM on 11g to be able to use HugePages. See Document 749851.1 for further information.

What if Not Enough HugePages Configured?

Configuring your Linux OS for HugePages is a delicate process where if you do not configure properly, the system may experience serious problems. If you do not have enough HugePages configured you may encounter:
  • HugePages not used (HugePages_Total = HugePages_Free) at all wasting the amount configured for
  • Poor database performance
  • System running out of memory or excessive swapping
  • Some or any database instance cannot be started
  • Crucial system services failing (e.g.: CRS)
To avoid / help with such situations Bug 10153816 was filed to introduce a database initialization parameter in 11.2.0.2 (use_large_pages) to help manage which SGAs will use huge pages and potentially give warnings or not start up at all if they cannot get those pages.

What if Too Much HugePages Configured?

It is of course technically possible to configure more than needed. When that is done, the unused part of HugePages allocation will not be available for other purposes on the system and memory shortage can be encountered. Please make sure to configure only for needed amount of hugepages.

Parameters/Setup

The following configurations are a minimal list of documents providing general guidelines to configure HugePages for more than one Oracle RDBMS instance:
  • Document 317055.1 How to Configure RHEL 3.0 32-bit for Very Large Memory with ramfs and hugepages
  • Document 317067.1 How to Configure Asianux 1.0 32-bit for Very Large Memory with ramfs and hugepages
  • Document 317141.1 How to Configure RHEL 4 32-bit for Very Large Memory with ramfs and hugepages
  • Document 317139.1 How to Configure SuSE SLES 9 32-bit for Very Large Memory with ramfs and hugepages
  • Document 361468.1 HugePages on 64-bit Linux

For all configurations be sure to have environment variable DISABLE_HUGETLBFS is unset. If it is set (specifically to 1) it will disable the use of HugePages by Oracle database.

The performed configuration is basically based on the RAM installed and combined size of SGA of database instances you are running. Based on that when:
  • Amount of RAM installed for the Linux OS changed
  • New database instance(s) introduced
  • SGA size / configuration changed for one or more database instances
you should revise your HugePages configuration to make it suitable to the new memory framework. If not you may experience one or more problems below on the system:
  • Poor database performance
  • System running out of memory or excessive swapping
  • Database instances cannot be started
  • Crucial system services failing


Kernel Version 2.4

The kernel parameter used for HugePages is vm.hugetlb_pool which is based on MB of memory. RHEL3, Asianux 1.0, SLES8 (Service Pack 3 and over) are examples of distributions with the 2.4 kernels with HugePages support. For the configuration, follow steps below:

1. Start database instance(s)
2. Calculate hugetlb_pool using script from Note 401749.1
3. Shutdown database instances 
4. Set kernel parameter:
         # sysctl -w vm.hugetlb_pool=<value from above>
    and make sure that the parameter is persistent to reboots. e.g. On Asianux 1.0 by editing /etc/sysctl.conf adding/modifying as below:
        vm.hugetlb_pool=<value from above>

5. Check available hugepages:
        $ grep Huge /proc/meminfo

6. Restart database instances
7. Check available hugepages:
        $ grep Huge /proc/meminfo

Notes:
  • If the setting of hugetlb_pool is not effective, you will need to reboot the server to make HugePages allocation during system startup.
  • The HugePages are allocated in a lazy fashion, so the "Hugepages_Free" count drops as the pages get touched and are backed by physical memory. The idea is that it's more efficient in the sense that you don't use memory you don't touch.
  • If you had set the instance initialization parameter PRE_PAGE_SGA=TRUE (for suitable settings see Document 30793.1), all of the pages would be allocated from HugePages up front.

Kernel Version 2.6

The kernel parameter used for HugePages is vm.nr_hugepages which is based on the number of the pages. SLES9, RHEL4 and Asianux 2.0 are  examples of distributions with the 2.6 kernel. For the configuration, follow steps below:

1. Start database instance(s)
2. Calculate nr_hugepages using script from Document 401749.1
3. Shutdown database instances 
4. Set kernel parameter:
        # sysctl -w vm.nr_hugepages=<value from above>
and make sure that the parameter is persistent to reboots. e.g. On SLES9:
        # chkconfig boot.sysctl on

5. Check available hugepages:
        $ grep Huge /proc/meminfo

6. Restart database instances
7. Check available hugepages:
        $ grep Huge /proc/meminfo

Notes:
  • If the setting of nr_hugepages is not effective, you will need to reboot the server to make HugePages allocation during system startup.
  • The HugePages are allocated in a lazy fashion, so the "Hugepages_Free" count drops as the pages get touched and are backed by physical memory. The idea is that it's more efficient in the sense that you don't use memory you don't touch.
  • If you had set the instance initialization parameter PRE_PAGE_SGA=TRUE (for suitable settings see Document  30793.1), all of the pages would be allocated from HugePages up front.

Notes on HugePages in General

  • The userspace application that employs HugePages should be aware of permission implications. Permissions HugePages segments in memory can strictly impose certain requirements. e.g. Per Bug 6620371 on Linux x86-64 port of Oracle RDBMS until 11g was setting the shared memory flags to hugetlb, read and write by default. But that shall depend on the configuration environment and with Patch 6620371 on 10.2 and with 11g, the read and write permissions are set based on the internal context.
For RedHat 6, Oracle Linux 6, SLES 11 and UEK2 kernels please have at "ALERT: Disable Transparent HugePages on SLES11, RHEL6, Oracle Linux 6 and UEK2 Kernels (Doc ID 1557478.1)"

REFERENCES

NOTE:341507.1 - Oracle Database Server on Linux on IBM POWER
NOTE:1557478.1 - ALERT: Disable Transparent HugePages on SLES11, RHEL6, RHEL7, OL6, OL7, and UEK2 and above
NOTE:401749.1 - Oracle Linux: Shell Script to Calculate Values Recommended Linux HugePages / HugeTLB Configuration
NOTE:261889.1 - Bigpages vs. Hugetlb on RedHat Linux
NOTE:317141.1 - How to Configure RHEL/OL 4 32-bit for Very Large Memory with ramfs and HugePages

BUG:10153816 - WHEN USE_LARGE_PAGES=ONLY AND NO HUGEPAGES EXIST STARTUP FAILS NO DIAGNOSTIC
NOTE:1392497.1 - USE_LARGE_PAGES To Enable HugePages
NOTE:317139.1 - How to Configure SuSE SLES 9 / 10 32-bit for Very Large Memory with ramfs and HugePages
NOTE:311504.1 - QREF: Linux Kernel Version Nomenclature
NOTE:317055.1 - How to Configure RHEL 3.0 32-bit for Very Large Memory and HugePages
NOTE:317067.1 - How to Configure Asianux 1.0 32-bit for Very Large Memory with ramfs and hugepages
NOTE:452326.1 - Linux Kernel Lowmem Pressure Issues and Related Kernel Structures

Oracle Linux: Shell Script to Calculate Values Recommended Linux HugePages / HugeTLB Configuration (Doc ID 401749.1)

In this Document
Purpose
Requirements
Configuring
Instructions
Script
Sample Output
References

APPLIES TO:

Linux OS - Version Oracle Linux 4.4 to Oracle Linux 7.2 with Unbreakable Enterprise Kerne [3.8.13] [Release OL4U4 to OL7U2]
Oracle Database - Enterprise Edition
Generic Linux

PURPOSE

This script is intended to compute values for the recommended HugePages/HugeTLB configuration for the current shared memory segments on Oracle Linux systems.

It does calculation for all shared memory segments available when the script is run, no matter it is an Oracle RDBMS shared memory segment or not.

For general information about HugePages / HugeTLB, please see Note 361323.1

REQUIREMENTS

  • Oracle Database instance(s) are up and running
  • Oracle Database 11g Automatic Memory Management (AMM) is not setup  (See Note 749851.1)
  • The shared memory segments can be listed by command "ipcs -m"
  • Oracle Linux
  • Package 'bc' installed

CONFIGURING

  1. Create a text file named hugepages_settings.sh
  2. Copy the contents below in the file
  3. Run:
    $ chmod +x hugepages_settings.sh

INSTRUCTIONS

  1. Be sure that all applications that are meant to use HugePage / HugeTLB are running at the time the script is to be run. This includes the Oracle RDBMS instances and ASM instances in addition to other applications.
  2. Be sure that you have /bin and /usr/bin in $PATH
  3. Run:
    $ ./hugepages_settings.sh

CAUTION

This sample code is provided for educational purposes only, and is not supported by Oracle Support. It has been tested internally, however, we do not guarantee that it will work for you. Ensure that you run it in your test environment before using.

SCRIPT

#!/bin/bash
#
# hugepages_settings.sh
#
# Linux bash script to compute values for the
# recommended HugePages/HugeTLB configuration
# on Oracle Linux
#
# Note: This script does calculation for all shared memory
# segments available when the script is run, no matter it
# is an Oracle RDBMS shared memory segment or not.
#
# This script is provided by Doc ID 401749.1 from My Oracle Support
# http://support.oracle.com

# Welcome text
echo "
This script is provided by Doc ID 401749.1 from My Oracle Support
(http://support.oracle.com) where it is intended to compute values for
the recommended HugePages/HugeTLB configuration for the current shared
memory segments on Oracle Linux. Before proceeding with the execution please note following:
 * For ASM instance, it needs to configure ASMM instead of AMM.
 * The 'pga_aggregate_target' is outside the SGA and
   you should accommodate this while calculating SGA size.
 * In case you changes the DB SGA size,
   as the new SGA will not fit in the previous HugePages configuration,
   it had better disable the whole HugePages,
   start the DB with new SGA size and run the script again.
And make sure that:
 * Oracle Database instance(s) are up and running
 * Oracle Database 11g Automatic Memory Management (AMM) is not setup
   (See Doc ID 749851.1)
 * The shared memory segments can be listed by command:
     # ipcs -m


Press Enter to proceed..."

read

# Check for the kernel version
KERN=`uname -r | awk -F. '{ printf("%d.%d\n",$1,$2); }'`

# Find out the HugePage size
HPG_SZ=`grep Hugepagesize /proc/meminfo | awk '{print $2}'`
if [ -z "$HPG_SZ" ];then
    echo "The hugepages may not be supported in the system where the script is being executed."
    exit 1
fi

# Initialize the counter
NUM_PG=0

# Cumulative number of pages required to handle the running shared memory segments
for SEG_BYTES in `ipcs -m | cut -c44-300 | awk '{print $1}' | grep "[0-9][0-9]*"`
do
    MIN_PG=`echo "$SEG_BYTES/($HPG_SZ*1024)" | bc -q`
    if [ $MIN_PG -gt 0 ]; then
        NUM_PG=`echo "$NUM_PG+$MIN_PG+1" | bc -q`
    fi
done

RES_BYTES=`echo "$NUM_PG * $HPG_SZ * 1024" | bc -q`

# An SGA less than 100MB does not make sense
# Bail out if that is the case
if [ $RES_BYTES -lt 100000000 ]; then
    echo "***********"
    echo "** ERROR **"
    echo "***********"
    echo "Sorry! There are not enough total of shared memory segments allocated for
HugePages configuration. HugePages can only be used for shared memory segments
that you can list by command:

    # ipcs -m

of a size that can match an Oracle Database SGA. Please make sure that:
 * Oracle Database instance is up and running
 * Oracle Database 11g Automatic Memory Management (AMM) is not configured"
    exit 1
fi

# Finish with results
case $KERN in
    '2.2') echo "Kernel version $KERN is not supported. Exiting." ;;
    '2.4') HUGETLB_POOL=`echo "$NUM_PG*$HPG_SZ/1024" | bc -q`;
           echo "Recommended setting: vm.hugetlb_pool = $HUGETLB_POOL" ;;
    '2.6') echo "Recommended setting: vm.nr_hugepages = $NUM_PG" ;;
    '3.8') echo "Recommended setting: vm.nr_hugepages = $NUM_PG" ;;
    '3.10') echo "Recommended setting: vm.nr_hugepages = $NUM_PG" ;;
    '4.1') echo "Recommended setting: vm.nr_hugepages = $NUM_PG" ;;
esac

# End

SAMPLE OUTPUT

For 2.4 kernel systems:
$ ./hugepages_settings.sh
...
Recommended setting: vm.hugetlb_pool = 764
For 2.6 and 3.10(UEK3) kernel systems:
$ ./hugepages_settings.sh
...
Recommended setting: vm.nr_hugepages = 67

REFERENCES

NOTE:361323.1 - HugePages on Linux: What It Is... and What It Is Not...

ORAchk Upgrade Readiness Assessment (Doc ID 1457357.1)

In this Document
Purpose
Scope
 Supported Platforms
 Supported Oracle Releases
Details
 Execution Instructions
 What to expect
 Troubleshooting
 For Support
References

APPLIES TO:

Oracle Database - Enterprise Edition - Version 10.2.0.4 to 12.2.0.1 [Release 10.2 to 12.2]
Linux x86-64
Oracle Solaris on x86-64 (64-bit)
Oracle Solaris on SPARC (64-bit)
IBM AIX on POWER Systems (64-bit)

PURPOSE

ORAchk is a RAC Configuration Audit tool designed to audit various important configuration settings within a Real Application Clusters (RAC), Oracle Clusterware (CRS), Automatic Storage Management (ASM) and Grid Infrastructure environment.  The full functionality of ORAchk is described in Document 1268927.2.

SCOPE

The scope of this document is limited to the ORAchk Upgrade Readiness feature which was introduced in ORAchk Version 2.1.5.  The full functionality of ORAchk is described in Document 1268927.2.

Supported Platforms

  • Linux x86/x86-64* (Enterprise Linux, RedHat and SuSE 9, SuSE 10 & SuSE 11)
  • Oracle Solaris SPARC
  • Oracle Solaris x86-64
  • AIX **
  • HPUX**

*  No planned support for Linux Itanium
** Requires BASH Shell 3.2 or higher to be installed on the system

Supported Oracle Releases

ORAchk Upgrade Readiness supports upgrades to 11.2.0.4 and above (including 11.2.0.4 and 12c) from the following releases:
  • 10gR2
  • 11gR1
  • 11gR2
  • 12cR1
  • 12cR2

DETAILS

The ORAchk (RAC Configuration Audit Tool) Upgrade Readiness Assessment can be used to obtain an automated upgrade specific health check for upgrades to 11.2.0.3, 11.2.0.4 and 12.1.0.1 and 12.2.0.1.  The goal of the ORAchk Upgrade Readiness Assessment is to make the process of upgrade planning for Oracle RAC and Oracle Clusterware as smooth as possible by automating many of the manual pre and post checks detailed in various upgrade related documents.  The content checked and included encompasses:
Oracle Database Upgrade Guide 11g Release 2 (11.2)
Platform Specific Grid Infrastructure Installation Guides (11.2)
Document 785351.1 Oracle 11gR2 Upgrade Companion
Document 837570.1 Complete Checklist for Manual Upgrades to 11gR2
Document 1363369.1 Things to Consider Before Upgrading to 11.2.0.3 Grid Infrastructure/ASM
Document 810394.1 RAC and Oracle Clusterware Best Practices and Starter Kit (Platform Independent)

Execution Instructions

Note:  It is highly recommend that you review Document 1268927.2 as well as the ORAchk Users Guide for a full understanding of ORAchk prior to executing the steps below.
  1. Download ORAchk from Document 1268927.2.
  2. Log in to the system as the Oracle RDBMS software installation owner.
  3. Stage the orachk.zip kit (downloaded in step 1) in its own directory the node on which the tool will be executed.
  4. Unzip orachk.zip kit, leaving the script and driver files together in the same directory.
  5. Validate the permissions for orachk are 755 (-rwxr-xr-x). If the permissions are not currently set to 755, set the permissions on orachk as follows:
    $ chmod 755 orachk
  6. During the upgrade planning phase of your pending RAC upgrade, execute ORAchk in pre-upgrade mode and follow the on-screen prompts:
    Note:  It is HIGHLY recommended that the pre-upgrade checks are executed in the planning phase of the upgrade.  This will allow planning and implementation of findings highlighted by ORAchk.
    $ ./orachk -u -o pre
  7. Review the HTML report generated by the ORAchk pre-upgrade execution and implement the recommended changes as necessary.
  8. Once you have successfully upgraded (GI and/or RDBMS), execute ORAchk in post-upgrade mode and follow the on-screen prompts:
    $ ./orachk -u -o post
  9. Review the HTML report generated by the ORAchk post-upgrade execution and implement the recommended changes as necessary.

What to expect

  • The target clusterware and database versions are 11.2.0.3, 11.2.0.4, 12.1.0.1 and 12.2.0.1
  • In pre-upgrade mode the tool will detect all databases registered in the clusterware automatically and present a list of  databases on which to perform pre-upgrade checks.  If any databases that were already upgraded are selected, the pre-upgrade checks will be skipped for them.
  • In post-upgrade mode the tool will detect all databases registered in the clusterware automatically and present a list of databases on which to perform post-upgrade checks.  If any databases that were not upgraded are selected, the post-upgrade checks will be skipped for them.
  • In both modes the tool will check the clusterware and OS appropriately.
  • When the tool completes the user will be referred to an HTML formated report which will contain the findings and links to additional details and information.

Troubleshooting

Refer Document 1268927.2 ORAchk - Health Checks for the Oracle Stack FAQ section.

For Support

If problems are encountered either at runtime or if there are questions about the content of the findings of the tool, please post your issues/questions/concerns to the ORAchk thread within the ORAchk Thread of the Scalability RAC My Oracle Support Community.

REFERENCES

NOTE:837570.1 - Complete Checklist for Manual Upgrade to Oracle Database 11gR2 (11.2)
NOTE:1363369.1 - Things to Consider Before Upgrading to 11.2.0.3/11.2.0.4 Grid Infrastructure/ASM
NOTE:785351.1 - Oracle 11gR2 Upgrade Companion
NOTE:1268927.2 - ORAchk - Health Checks for the Oracle Stack
NOTE:605251.1 - Where To Locate The Oracle RDBMS Installation Guides, Upgrade Guides and Release Notes