3 Replies Latest reply: Jan 18, 2013 10:46 AM by Uwehesse-Oracle RSS


      Hi All,

      Oracle DB version :

      We have a DWH database of 2.5 Tb size, physical memory of OS is 64 GB and with SGA 52 Gb and PGA 8 Gb.
      Most of the queries are going for Nested loops and when we use USE_HASH hint in the query, it is running faster.
      We have huge fact tables and few huge dimensions tables as well.

      I was going through the underscrore parameter "_pga_max_size" which defaults to 200 m.
      By increasing this parameter we can control the optimizer to use more hashing rather than going for other methods (like NL).

      1. Is my above statement correct ?
      2. If yes, what could be ideal value for this parameter.

      Thanks in advance,
        • 1. Re: _PGA_MAX_SIZE on DWH
          If you want to be scientific about it, run your queries with various hinted plans, and query v$sql_workarea to see what memory they need to run optimally.

          Here is an excellent discussion of the problem you may be facing:
          • 2. Re: _PGA_MAX_SIZE on DWH
            This is undocumented parameter and you can use it after Oracle Support suggestion. PGA limitations is 100 Mb per process, so if you use Parallel Execution, you can involve more PGA.
            • 3. Re: _PGA_MAX_SIZE on DWH
              Instead of using hints or undocumented parameters even, you may consider to use WORKAREA_SIZE_PLOLICY=MANUAL in your critical sessions and give them a large SORT_AREA_SIZE then.

              Kind regards
              Uwe Hesse

              "Don't believe it, test it!"