» 11gR2_Aix – Dedicated Server Proceses Have Large Usla Heap Segment Compared To Older Versions

2025-10-25Linux/AIX / Oracle / RAC / RMAN

Kojeg li neugodnog iznenađenja nakon upgradea sa 9i/10g na 11gR2 !? Opet Oracle bug – ne tako kritičan, ali i ovaj zadaje glavobolju!

Kako/Zašto?

Jedan informacioni sistem, koji je radio na Oracle verziji 10g, upgradean je na 11gR2.

Naime, nakon upgradea, odmah je primijećeno veće zauzeće RAM memorije. Pošto je znalo biti i oko 1000 spojenih korisnika istovremeno, dolazilo je do znatnih usporenja i pada performansi. Zajedno sa network i system administratorima sam morao naći uzrok ove pojave – drž, ne daj, kopaj, traži uzrok, usporedjuj sa sistemskim izvještajima od ranije – sve dok se ne sjetih ovog buga, na kojeg sam davno naletio tražeći informacije o relinkanju Oracle binariesa. Tad sam samo letimično preletio preko njega, ne čitajući detaljno, a čak sam i stavio ovaj MOS Note ID (“11gR2/Aix – Dedicated Server Proceses Have Large Usla Heap Segment Compared To Older Versions [ID 1260095.1]“) u Favorites, planirajući ga kasnije detaljno proučiti, no zaboravih na to. Ipak, u podsvijesti mi je ostala natuknica na sta se ovaj “bug” odnosio, pa sam ga brže-bolje “prostudirao”. 🙂

Naime, o čemu se radi !?

Radi se o bugu “PROCESSES CONSUMING ADDITIONAL MEMORY DUE TO ‘USLA HEAP‘”.

Od verzije 11gR2, Oracle server proces (oracle binary) je linkan sa dodatnim link opcijama: –bexpful i -brtllib

Opcije -bexpfull i -brtllib su dodane, kako bi se omogućila “hot patching” funkcionalnost. U prethodnim verzijama 9i, 10g i 11gR1 ove opcije nisu korištene.

Rješenje?

IBM i Oracle preporučuju upgrade AIX OS-a na verziju 6.1 TL07 ili 7.1 TL01, te potom instalaciju Oracle Patcha Patch:13443029.

Patch 10190759 je za verzije starije od AIX 6.1 TL07 i 7.1 TL-01. U našem slučaju se radi o AIX 6.1 TL06.

Kako izgleda u praksi?

Kao što je opisano u MOS Note ID 1260095.1, zauzeće “USLA heap” je otprilike ovoliko:

Oracle Release -> (work USLA heap times 4k pages size)

11.2.0.1.0 -> 7M bytes

11.1.0.7.0 -> 60KB

10.2.0.4.0 -> 420KB

Ovako možete provjeriti, koliko “USLA heap” memorije jedan oracle proces stvarno zauzima:

– Oracle 10.2.0.4:

oracle$ ps -ef|grep oracleISPRO1

oracle 63701024 1 0 07:34:56 – 0:00 oracleISPRO1 (LOCAL=NO)

oracle$ echo expr $(svmon -P 63701024 | grep “work USLA heap” | awk ‘{print $7}’) * 4 kBytes

436 kBytes

– Oracle 11.1.0.7:

oracle$ ps -ef|grep oracleRSKPROD

oracle 39649488 1 0 Jun 19 – 15:50 oracleRSKPROD (LOCAL=NO)

oracle$ echo expr $(svmon -P 39649488 |grep “work USLA heap” | awk ‘{print $7}’) * 4 kBytes

76 kBytes

– Oracle 11.2.0.1:

oracle$ ps -ef|grep oracleCALCDB

oracle 57475154 1 0 08:23:11 – 0:02 oracleCALCDB (LOCAL=NO)

oracle$ echo expr $(svmon -P 57475154 | grep “work USLA heap” | awk ‘{print $7}’) * 4 kBytes

7220 kBytes

– Oracle 11.2.0.3 i 11.2.0.3.2 bez instaliranog patcha:

oracle$ ps -ef|grep oracleRMCPROD

ora11g 44105964 1 0 11:24:30 – 0:00 oracleRMCPROD (LOCAL=NO)

oracle$ echo expr $(svmon -P 44105964 | grep “work USLA heap” | awk ‘{print $7}’) * 4 kBytes

7484 kBytes

– Oracle 11.2.0.3 sa instaliranim patchom (10190759 za verzije starije od AIX 6.1 TL07 i 7.1 TL-01; 13443029 za verzije od AIX 6.1 TL07 i 7.1 TL-01 pa nadalje):

oracle$ opatch lsinventory

Installed Top-level Products (1):

Oracle Database 11g 11.2.0.3.0

There are 1 products installed in this Oracle Home.

Interim patches (1) :

Patch 10190759 : applied on Wed Jun 13 13:28:21 CEST 2012

Unique Patch ID: 14249255

Created on 8 Dec 2011, 15:26:38 hrs UTC

**Bugs fixed:

10190759**

oracle$ ps -ef|grep oracleRMCPROD

oracle 36569230 1 0 14:01:09 – 0:25 oracleRMCPROD (LOCAL=NO)

oracle$ echo expr $(svmon -P 36569230| grep “work USLA heap” | awk ‘{print $7}’) * 4 kBytes

80 kBytes

Mi smo morali odlučiti kako i šta dalje – da li se vratiti na 10g, isprobati onaj workaround opisan na My Oracle Support websajtu, instalirati ovaj interim patch ili preći na 11.2.0.3 sa najnovijim patchsetom. Testirali smo sa 11.2.0.3, ali bug postoji i u toj verziji, iako Oracle Support tvrdi da je bug rješen već u verziji 11.2.0.2.99, tako da nam to ne donosi ništa. Stoga je odluka pala na instaliranje patcha.

Edit 23.07.2012.:

Otvorio sam Service Request kod Oracle Supporta i pitao ih u vezi ovog problema – njihov odgovor je:

“Hi Dejan,

The issue you reported was investigated in:

Bug 13443029 – AIX: Excess “work USLA heap” process memory use in 11.2 on AIX (Doc ID 13443029.8)

fixed in 11.2.0.4.

Please apply Patch 13443029 – MEMORY LEAK FIX FOR ONLINE PATCHING / HOT PATCHING FOR RDBMS 11.2.0.3 AIX PPC64 on top of 11.2.0.3. This patch can be safely applied on top of 11.2.0.3.2 (your release) too. It is available for download at:

https://updates.oracle.com/download/13443029.html

Please read carefully the README file before applying the patch.

For reference please also read:

_11gR2/Aix – Dedicated Server Proceses Have Large Usla Heap Segment Compared To Older Versions_ (Doc ID 1260095.1)

_Things to Consider Before Upgrading to 11.2.0.3 to Avoid Poor Performance or Wrong Results_ (Doc ID 1392633.1) “