2
Database startup can fail with ORA-00064 Errors with huge sga_target of over 40Gig (Doc ID 886312.1) Modified: Mar 7, 2012 Type: PROBLEM In this Document Symptoms Changes Cause Solution References APPLIES TO: Oracle Server - Enterprise Edition - Version: 10.2.0.4 to 11.2.0.3 - Release: 10.2 to 11.2 This problem can occur on any platform. SYMPTOMS Attempting to start the database with SGA_TARGET of 100GB (with a total of about 500GB of physical memory available) can fail with: ORA-00064: object is too large to allocate on this O/S (1,15429280) CHANGES The SGA_TARGET instance parameter has been dynamically increased to a value higher than 40GB, like in: SQL> alter system set sga_target=100G; SQL> shutdown SQL> startup ORA-00064: object is too large to allocate on this O/S (1,15429280) CAUSE The cause of this problem has been identified in Bug:5051962, which has been closed as not-a-bug. It is caused by the granule size needed for the new SGA size to be different than the one currently in use by the instance at the time the ALTER SYSTEM SET SGA_TARGET command is run. SOLUTION This is expected behaviour: the granule size is set based on the size of the SGA. If you set a SGA parameter (such as SGA_TARGET) to a value which exceeds the value of the granule size that was calulcated at instance startup, then you must set the _ksmg_granule_size instance parameter as well to choose a larger granule size. As this parameter is not dynamically changeable, an instance restart is required. The following table, shows granule sizes for specific SGA sizes and releases of Oracle: SGA size 10g granule size 11g granule size 11g granule size with fix 8813366 installed <= 1GB 4MB 4MB 4MB 1GB - 4GB 16MB 16MB 16MB 4GB - 8GB 16MB 64MB 16MB 8GB - 16GB 16MB 64MB 32MB 16GB - 32GB 16MB 256MB 64MB Document 886312.1 https://support.oracle.com/epmos/faces/DocContentDisplay?_adf.ctrl-stat... 1 of 2 6/17/2014 8:32 AM

MOS_886312_1_Database Startup Can Fail With ORA-00064 Errors With Huge Sga_target of Over 40Gig

  • Upload
    vik

  • View
    12

  • Download
    0

Embed Size (px)

DESCRIPTION

Database Startup failing with huge pages

Citation preview

Page 1: MOS_886312_1_Database Startup Can Fail With ORA-00064 Errors With Huge Sga_target of Over 40Gig

Database startup can fail with ORA-00064 Errors with huge sga_target of over 40Gig (Doc ID 886312.1)

Modified: Mar 7, 2012 Type: PROBLEM

In this Document Symptoms Changes Cause Solution References

APPLIES TO:

Oracle Server - Enterprise Edition - Version: 10.2.0.4 to 11.2.0.3 - Release: 10.2 to 11.2This problem can occur on any platform.

SYMPTOMS

Attempting to start the database with SGA_TARGET of 100GB (with a total of about 500GB of physical memory available) can fail with:

ORA-00064: object is too large to allocate on this O/S (1,15429280)

CHANGES

The SGA_TARGET instance parameter has been dynamically increased to a value higher than 40GB, like in:

SQL> alter system set sga_target=100G;

SQL> shutdown

SQL> startup

ORA-00064: object is too large to allocate on this O/S (1,15429280)

CAUSE

The cause of this problem has been identified in Bug:5051962, which has been closed as not-a-bug. It is caused by the granule sizeneeded for the new SGA size to be different than the one currently in use by the instance at the time the ALTER SYSTEM SETSGA_TARGET command is run.

SOLUTION

This is expected behaviour: the granule size is set based on the size of the SGA. If you set a SGA parameter (such as SGA_TARGET) toa value which exceeds the value of the granule size that was calulcated at instance startup, then you must set the _ksmg_granule_sizeinstance parameter as well to choose a larger granule size. As this parameter is not dynamically changeable, an instance restart isrequired.

The following table, shows granule sizes for specific SGA sizes and releases of Oracle:

SGA size 10g granule size 11g granule size 11ggranulesizewith fix8813366installed

<= 1GB 4MB 4MB 4MB

1GB - 4GB 16MB 16MB 16MB

4GB - 8GB 16MB 64MB 16MB

8GB - 16GB 16MB 64MB 32MB

16GB - 32GB 16MB 256MB 64MB

Document 886312.1 https://support.oracle.com/epmos/faces/DocContentDisplay?_adf.ctrl-stat...

1 of 2 6/17/2014 8:32 AM

Page 2: MOS_886312_1_Database Startup Can Fail With ORA-00064 Errors With Huge Sga_target of Over 40Gig

32GB - 64GB 16MB 256MB 128MB

64GB - 128GB 16MB 512MB 256MB

128GB - 256GB 16MB 512MB 512MB

> 256GB 16MB 512MB 512MB

See also document:947152.1 for details on the granule size and its impact.

The following SQL statement can be used to check the actual granule size in use by the instance:

SQL> select bytes from v$sgainfo where name like 'Granule Size';

So in order to implement the solution for the issue at hand, either:

set SGA_TARGET to a value less than or equal to the previous one, or:1.set _ksmg_granule_size to a higher value (in this case the value was set to 32MB). When using a text parameter file, add thefollowing parameter:

_ksmg_granule_size=33554432

When using a server parameter file, issue:

alter system set "_ksmg_granule_size"=33554432 scope=spfile;

In either case, restart the instance for the changes to take effect.

2.

REFERENCES

BUG:5051962 - ORA-64 OBJECT IS TOO LARGE TO ALLOCATE ON THIS O/S (1,4740456)

Document 886312.1 https://support.oracle.com/epmos/faces/DocContentDisplay?_adf.ctrl-stat...

2 of 2 6/17/2014 8:32 AM