<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Contiguous shared memory for oracle in Operating System - HP-UX</title>
    <link>https://community.hpe.com/t5/operating-system-hp-ux/contiguous-shared-memory-for-oracle/m-p/2804546#M939378</link>
    <description>Hi John,&lt;BR /&gt;&lt;BR /&gt;Here is what I think is happening.  In 32-bit HP-UX, your memory is divided into four 1Gb quadrants.  The Oracle SGAs are part of shared memory, and shared memory is limited to quadrants 3 and 4.  The last .25Gb of quadrant 4 is reserved, so essentially you can have up to 1.75 Gb of shared memory, in a 1.0Gb chunk and a 0.75Gb chunk.  Now, on your failover box you are running a database with 500 Mb of shared memory.  My guess is that the SGA for this database is living in quadrant 3.  When you try to failover your production database and it asks for 1.0 Gb of shared memory for the SGA it fails, not because you don't really have it, but because it is spread across two quadrants.  The trick is, to either get your QA instance on the failover box to use its 500 Mb SGA in quadrant 4, or else to get the production database to split up its SGA into two chunks that will fit in the two quadrants.  I'm not enough of a wizard to know how to do that, but that is what I think is happening.&lt;BR /&gt;&lt;BR /&gt;JP&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;</description>
    <pubDate>Wed, 11 Sep 2002 20:02:04 GMT</pubDate>
    <dc:creator>John Poff</dc:creator>
    <dc:date>2002-09-11T20:02:04Z</dc:date>
    <item>
      <title>Contiguous shared memory for oracle</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/contiguous-shared-memory-for-oracle/m-p/2804545#M939377</link>
      <description>I'm running oracle 7.3.4 on 10.20 with a 5 node Service Guard cluster. I tried to verify our primary DB can run on the failover node, but it would not come up, the usual error 12, not enough memory. I've searched the forums till I'm blue in the face, and the hits are all the same, shmmax, maxdsize, swap, etc. Been there, done those long ago... I know these are not the issue, as I've done this several times over the last 3 years, and we've not changed anything. (not even patches for 2 years). My DBA and I suspect that there is a contiguous memory issue. We even tested all five packages on this server at once during Service Guard implementation.&lt;BR /&gt;The 2 machines in question are identical T600's with 3.75GB ram. The failover server is running a QA DB with a 512mb SGA, and another 60mb used by the system. The production DB wants 1GB, 250mb less than should be available.&lt;BR /&gt;How can I determine if I have a problem with contiguous memory? Any easy way to 'see' how it's being used? I suspect Q4 and the kernel tables would tell me, but I'm not sure I know enough about the tables to do that.&lt;BR /&gt;Thanks!&lt;BR /&gt;John</description>
      <pubDate>Wed, 11 Sep 2002 18:58:14 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/contiguous-shared-memory-for-oracle/m-p/2804545#M939377</guid>
      <dc:creator>John Eaton</dc:creator>
      <dc:date>2002-09-11T18:58:14Z</dc:date>
    </item>
    <item>
      <title>Re: Contiguous shared memory for oracle</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/contiguous-shared-memory-for-oracle/m-p/2804546#M939378</link>
      <description>Hi John,&lt;BR /&gt;&lt;BR /&gt;Here is what I think is happening.  In 32-bit HP-UX, your memory is divided into four 1Gb quadrants.  The Oracle SGAs are part of shared memory, and shared memory is limited to quadrants 3 and 4.  The last .25Gb of quadrant 4 is reserved, so essentially you can have up to 1.75 Gb of shared memory, in a 1.0Gb chunk and a 0.75Gb chunk.  Now, on your failover box you are running a database with 500 Mb of shared memory.  My guess is that the SGA for this database is living in quadrant 3.  When you try to failover your production database and it asks for 1.0 Gb of shared memory for the SGA it fails, not because you don't really have it, but because it is spread across two quadrants.  The trick is, to either get your QA instance on the failover box to use its 500 Mb SGA in quadrant 4, or else to get the production database to split up its SGA into two chunks that will fit in the two quadrants.  I'm not enough of a wizard to know how to do that, but that is what I think is happening.&lt;BR /&gt;&lt;BR /&gt;JP&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Wed, 11 Sep 2002 20:02:04 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/contiguous-shared-memory-for-oracle/m-p/2804546#M939378</guid>
      <dc:creator>John Poff</dc:creator>
      <dc:date>2002-09-11T20:02:04Z</dc:date>
    </item>
    <item>
      <title>Re: Contiguous shared memory for oracle</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/contiguous-shared-memory-for-oracle/m-p/2804547#M939379</link>
      <description>I think john is right and if I remember correctly there was patch which would adjust the quadrants . But I don't remember now .&lt;BR /&gt;&lt;BR /&gt;I saw it in the knowledge base section . If you search there with key words shared memory or semaphores , you might get it .</description>
      <pubDate>Wed, 11 Sep 2002 23:36:53 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/contiguous-shared-memory-for-oracle/m-p/2804547#M939379</guid>
      <dc:creator>Ashwani Kashyap</dc:creator>
      <dc:date>2002-09-11T23:36:53Z</dc:date>
    </item>
    <item>
      <title>Re: Contiguous shared memory for oracle</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/contiguous-shared-memory-for-oracle/m-p/2804548#M939380</link>
      <description>Hi, John!&lt;BR /&gt;&lt;BR /&gt;Fitting large databases into the 32bit constraints is likely to be prolematic. You should be able to find several approaches in the Forum... one of them could be to get a SHMEM_MAGIC linked version of Oracle. Then Q2 is available for shared objects also, resulting in 3.75GB.&lt;BR /&gt;&lt;BR /&gt;Another approach could be setting the use_bestfit kernel global to 1.&lt;BR /&gt;&lt;BR /&gt;See Patch text of PHKL_16751:&lt;BR /&gt;&lt;BR /&gt; The global variable (flag) `use_bestfit' determines what&lt;BR /&gt; allocation policy will be used.  The default setting of this&lt;BR /&gt; flag is 0, resulting in first-fit being used for all&lt;BR /&gt; allocations for shared virtual addresses.  To enable the&lt;BR /&gt; system to use best-fit, this flag (use_bestfit) must be set&lt;BR /&gt; to a non-zero value (say 1) using `adb.'  The value can be&lt;BR /&gt; set/reset at any time during system operation.  The policy&lt;BR /&gt; that will be used is based on the current value of this&lt;BR /&gt; flag.&lt;BR /&gt;&lt;BR /&gt;---&lt;BR /&gt;The adb command would look like:&lt;BR /&gt;&lt;BR /&gt;echo "use_bestfit/W1" | adb -w /stand/vmunix /dev/kmem&lt;BR /&gt;&lt;BR /&gt;Maybe this allocation policy could cure your problems.&lt;BR /&gt;&lt;BR /&gt;Regards...&lt;BR /&gt; Dietmar.</description>
      <pubDate>Thu, 12 Sep 2002 06:07:11 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/contiguous-shared-memory-for-oracle/m-p/2804548#M939380</guid>
      <dc:creator>Dietmar Konermann</dc:creator>
      <dc:date>2002-09-12T06:07:11Z</dc:date>
    </item>
  </channel>
</rss>

