Page 1 of 2 12 LastLast
Results 1 to 15 of 18
  1. #1
    Join Date
    May 2004
    Posts
    95

    Unanswered: Memory not alocated

    Hi,

    I've got an Oracle 10g installed in a 8GB RAM linux machine, but when I create and/or configure a database to use more memory (PGA or SGA), it gives me an out of memory error. The maximum memory I can alocate to a database is 4GB.
    I don't know if the problem is that the system administrator, configured the machine as our old DB server, wich was a 4GB RAM, or that he installed the Oracle, creating a database with the typical options (~4GB) and it seems that somehow that memory stayed alocated.

    I can grow the PGA to 3GB but the SGA only to 2.3GB. I would like to distribute about 7GB of memory to the Oracle database, and can't find a way to do so.

    If anyone have an idea to resolve this problem, with system and Oracle parameters, I would apreciate.

    Thanks.

  2. #2
    Join Date
    Aug 2003
    Location
    Where the Surf Meets the Turf @Del Mar, CA
    Posts
    7,776
    Provided Answers: 1
    I have not tried increasing the SGA in many years (Oracle V7) & don't know if V10 behaves the same.
    There is/was a NOTE ion Metalink which descibed the procedure to modify a file to change the base address of the SGA to allow for a size greater than 2.75GB.
    Once the file was modified, then oracle was relinked.

    Other than you just want to make the SGA larger, do you have any specific proof that the proposed change is 1) necessary & 2) will NOT impact performance negatively?
    You can lead some folks to knowledge, but you can not make them think.
    The average person thinks he's above average!
    For most folks, they don't know, what they don't know.
    Good judgement comes from experience. Experience comes from bad judgement.

  3. #3
    Join Date
    May 2004
    Posts
    95
    Thanks for the reply.
    I can't find the article on metalink, do you have the link?

    Secondly, I'me just making some tests of configuration because we are upgrading the Oracle machine, and I want to see which is the best configuration.

    For your information, the database will have several schemas with diferent kinds of use, most of them will be OLTP with short result set's of SELECT's, but some schemas will be DATA WAREHOUSE with few INSERT's and UPDDATE's but with large quantity of record's and so big result SELECT's.

    I placed the default block size with 8192 bytes, to contemplate both kind of databases.

    Thanks.

  4. #4
    Join Date
    Aug 2003
    Location
    Where the Surf Meets the Turf @Del Mar, CA
    Posts
    7,776
    Provided Answers: 1
    >I can't find the article on metalink, do you have the link?
    RELATED DOCUMENTS
    -----------------
    [1] Note 211424.1
    How to Enable a Large SGA(over 1.7GB) on RedHat Advanced Server 2.1 - An Overview

    [2] Note 200266.1
    Increasing usable address space for Oracle on 32-bit Linux

    [3] Note 261889.1
    Bigpages vs. Hugetlb on RedHat Linux

    [4] Note 262004.1
    Configuring RHEL 3 and Oracle 9iR2 with Hugetlb and Remap_file_pages

    [5] Note 259772.1
    Red Hat Release 3.0; Advantages for Oracle

    [6] Note 264236.1
    Big Performance Degradation Using 'hugemem' Kernel vs SMP Kernel

    [7] Note 275318.1
    The Bigpages Feature on Linux

    [8] Note 270382.1
    HowTo Verify the Current SGA Attach Address on Linux

    [9]
    Note 317055.1
    How to Configure RHEL 3.0 for Very Large Memory with ramfs and hugepages

    [10]
    Note 317141.1
    How to Configure RHEL 4.0 for Very Large Memory with ramfs and hugepages
    You can lead some folks to knowledge, but you can not make them think.
    The average person thinks he's above average!
    For most folks, they don't know, what they don't know.
    Good judgement comes from experience. Experience comes from bad judgement.

  5. #5
    Join Date
    Jan 2004
    Posts
    99
    or change the SHMMAX (I'm sure its this one) parameter in /etc/sysctl.conf parameter this should be half the physical RAM on the server. The default value does not allow you to increase the SGA greater than 2-3GB.

    Also check what value your SGA_MAX_SIZE parameter has been set to if set.

    ps. you can run sysctl -p, once the value has been changed.

  6. #6
    Join Date
    Jan 2004
    Posts
    99
    On a seperate note you should only allocate half the physical RAM to oracle, were running a server with 64GB of ram of which 32GB is allocated to oracle.

    The rest of the memory is used by the OS or will eventually be used by the OS for caching.

  7. #7
    Join Date
    Jan 2004
    Posts
    99
    In terms of tuning you could allocate some memory to a keep pool to cache small frequently used static tables.......the rest of the ram can be distributed to db_cache_size and shared_pool_size.

    Obviously this depends on the application and types of queries, hope your developers are using bind variables!

  8. #8
    Join Date
    May 2004
    Posts
    95
    I've configured the db server for using VLM, follow all the steps on ORACLE documentation (and similar ones, because all say the exact same thing), but it still only allows me to use a maximum of about 3GB ram. If I increase the values for shared pool above that, the instance doesn't startup.

    Thanks.

  9. #9
    Join Date
    Jan 2004
    Posts
    99
    what is the shmmax parameter set to?

    cat /etc/sysctl.conf

    kernel.shmmax

  10. #10
    Join Date
    May 2004
    Posts
    95
    it's:

    kernel.shmmax=4294967296
    kernel.sem=250 32000 100 128
    kernel.shmall=2097152

  11. #11
    Join Date
    Jan 2004
    Posts
    99
    what is the sga_max_size parameter set to? with your current configuration you should be able to use a total of 4GB for your SGA.

  12. #12
    Join Date
    May 2004
    Posts
    95
    to use VLM, the sga_size and/or sga_max_size cannot be set

  13. #13
    Join Date
    Jun 2003
    Location
    Toronto, Canada
    Posts
    5,516
    Provided Answers: 1
    Standard 32-bit Linux architecture limits any user virtual address space to 3GB, so obviously the SGA cannot be larger than that. Even with a "hugemem" kernel the limit is 4GB.

    If you want to utilize memory above 4GB you'll have to migrate to the 64-bit architecture.

  14. #14
    Join Date
    May 2004
    Posts
    95
    not true

    if you consider Oracle information on metalink:
    Note 317141.1
    How to Configure RHEL 4.0 for Very Large Memory with ramfs and hugepages

    or
    Tuning and Optimizing Red Hat Enterprise Linux for Oracle 9i and 10g Databases
    http://www.puschitz.com/TuningLinuxForOracle.shtml

    it can be use at a limit of 32GB (half of 64GB).

  15. #15
    Join Date
    Jan 2004
    Posts
    99
    were using a SGA size of 32GB half of the physical ram without any additional config such as VLM/hugemem.

    OS Details:
    redhat advanced server 4 64Bit Arch though!
    2.6.9-34.ELlargesmp

    have you had a look at the puschitz articles?

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •