7 Replies Latest reply on Jul 3, 2013 7:29 AM by user9085814

    BUFFER memory allocation for exp/imp

    user9085814


      Hi All,

       

      To improve performance of conventional export (exp) and import (imp) , is it better to use BUFFER parameter always ?

      If yes , then the from which area the BUFFER is accessing memory in original exp/imp .

       

      Thanks

        • 1. Re: BUFFER memory allocation for exp/imp
          sb92075

          user9085814 wrote:

           


          Hi All,

           

          To improve performance of conventional export (exp) and import (imp) , is it better to use BUFFER parameter always ?

          If yes , then the from which area the BUFFER is accessing memory in original exp/imp .

           

          Thanks

           

           

          it is better to use expdp & impdp to replace obsoleted exp & imp utilities.

          • 2. Re: BUFFER memory allocation for exp/imp
            user9085814

            Thanks For reply ..

             

            But I just want to know , BUFEER memory allocation to exp operation is done where ?

             

            Thanks


            • 3. Re: BUFFER memory allocation for exp/imp
              Mark D Powell

              With exp and imp utilities the buffer= parameter allocates buffer space from the OS.  These are command line utilities and the buffer is used to hold export file (dump file) blocks.  With conventional export and import I have found this to be a very beneficial parameter.

               

              HTH -- Mark D Powell --

              • 4. Re: BUFFER memory allocation for exp/imp
                sb92075

                user9085814 wrote:

                 

                Thanks For reply ..

                 

                But I just want to know , BUFEER memory allocation to exp operation is done where ?

                 

                Thanks

                 

                 

                 

                BUFFER allocation comes from RAM

                 

                Original Import

                • 5. Re: BUFFER memory allocation for exp/imp

                  Outside the SGA. Basically it functions the same way as arraysize in sql*plus: it determines how many records are fetched in one go.

                   

                  -----------

                  Sybrand Bakker

                  Senior Oracle DBA

                  • 6. Re: BUFFER memory allocation for exp/imp
                    jgarry

                    I've found  DIRECT=Y compress=N recordlength=65535 faster for my situation.  See also Screaming Imports keeping in mind there may be some outdated information on the intertubes.

                    • 7. Re: BUFFER memory allocation for exp/imp
                      user9085814

                      Thanks for the reply ...

                       

                      Further to your reply , I have noted down what i have understood on Export using (BUFFER,RECORDLENGTH )

                      Please help me if i am wrong anywhere .

                       

                      BUFFER size is allocated in the RAM (client side ) of client side (from where the utility is running ) .

                      In conventional export if you have a tuned BUFFER size , then it improves the performance as because it will reduce the sqlnet round trip to the Database Server .

                      As RECORDLENGTH specifies i/o for export operation , so we should  use this parameter to improve the writing of data from the buffer to the export file .

                       

                      But If we put DIRECT=Y then  BUFFER parameter won't be respected .Because " The BUFFER parameter applies only to conventional path Export. It has no effect on a direct path Export. For direct path Exports, use the RECORDLENGTH parameter to specify the size of the buffer that Export uses for writing to the export file.

                       

                      In DIRECT=Y , the export will be faster , is it only because of that it bypass the db_buffer and the requested data will directly come to the export session's program global area (PGA).

                       

                      What i am trying to ask is .....

                      In DIRECT=Y .... there is no BUFFER memory associated with it , does it not increase the round trip of sqlnet .

                       

                      Thanks