Export Buffer No Memory

4
28.09.2011 Page 1 of 4 SAP Note 520684 - Runtime error "EXPORT_BUFFER_NO_MEMORY" Note Language: English Version: 9 Validity: Valid Since 25.06.2010 Summary Symptom 1. The EXPORT_BUFFER_NO_MEMORY runtime error occurs. 2. The following message is displayed in the syslog: Invalid parameter ObjTooLar transferred to the database interface. 3. The developer trace (dev_w...) contains the following entries: B ***LOG BYE=> invalid interface parameter ObjTooLar [dbexpbuf#3 @ 3538] [dbexpbuf3538 ] B dbexpbuf[0]: Object (RSIX 001MP0SPM_MP10 ) is too large (= 1020963) Other terms Export/import buffer, shared buffer, Export/import shared memory buffer (ESM buffer), CUA buffer, OTR buffer Reason and Prerequisites You can use the ABAP command EXPORT TO SHARED BUFFER to save data clusters in a general work process buffer, the export/import buffer (or shared buffer). There is a new, additional ABAP command as of kernel release 6.10: EXPORT TO SHARED MEMORY, which in turn may be used to save data clusters in a buffer known as the export/import shared memory buffer (abbreviated to ESM buffer). This buffer is an additional instance of the export/import buffer. There are also two other instances of the export/import buffer, the CUA and OTR buffer. What all four buffers have in common is that they only buffer objects up to a certain size. The maximum permissible object size is defined indirectly by the buffer size and is approximately 20% to 25% of the entire buffer size minus the administration information. This restriction was imposed to prevent an individual object from occupying the largest part of the buffer, and the performance of the buffer being adversely affected as a result. The runtime error or the syslog message occurs if you try to export a data cluster or an object that exceeds the maximum permissible object size. Solution 1. First determine which buffer is involved, and the size of the object that caused the error. a) If the "EXPORT_BUFFER_NO_MEMORY" runtime error occurs, you can determine the buffer as follows: - For kernel releases lower than 6.10, it is always the

Transcript of Export Buffer No Memory

Page 1: Export Buffer No Memory

28.09.2011 Page 1 of 4

SAP Note 520684 - Runtime error "EXPORT_BUFFER_NO_MEMORY"

Note Language: English Version: 9 Validity: Valid Since 25.06.2010

Summary

Symptom

1. The EXPORT_BUFFER_NO_MEMORY runtime error occurs.

2. The following message is displayed in the syslog: Invalid parameterObjTooLar transferred to the database interface.

3. The developer trace (dev_w...) contains the following entries:

B ***LOG BYE=> invalid interface parameter ObjTooLar [dbexpbuf#3 @ 3538] [dbexpbuf3538 ]B dbexpbuf[0]: Object (RSIX 001MP0SPM_MP10 ) is too large (= 1020963)

Other terms

Export/import buffer, shared buffer,Export/import shared memory buffer (ESM buffer), CUA buffer, OTR buffer

Reason and Prerequisites

You can use the ABAP command EXPORT TO SHARED BUFFER to save data clustersin a general work process buffer, the export/import buffer (or sharedbuffer).There is a new, additional ABAP command as of kernel release 6.10: EXPORTTO SHARED MEMORY, which in turn may be used to save data clusters in abuffer known as the export/import shared memory buffer (abbreviated to ESMbuffer). This buffer is an additional instance of the export/import buffer.There are also two other instances of the export/import buffer, the CUA andOTR buffer.What all four buffers have in common is that they only buffer objects up toa certain size. The maximum permissible object size is defined indirectlyby the buffer size and is approximately 20% to 25% of the entire buffersize minus the administration information.This restriction was imposed to prevent an individual object from occupyingthe largest part of the buffer, and the performance of the buffer beingadversely affected as a result.The runtime error or the syslog message occurs if you try to export a datacluster or an object that exceeds the maximum permissible object size.

Solution

1. First determine which buffer is involved, and the size of the objectthat caused the error.

a) If the "EXPORT_BUFFER_NO_MEMORY" runtime error occurs, you candetermine the buffer as follows:

- For kernel releases lower than 6.10, it is always the

Page 2: Export Buffer No Memory

28.09.2011 Page 2 of 4

SAP Note 520684 - Runtime error "EXPORT_BUFFER_NO_MEMORY"

export/import buffer.

- For kernel release 6.10 or higher:

A particular ABAP command helps you to recognize which bufferis relevant:

EXPORT TO SHARED BUFFER : Export/import buffer

EXPORT TO SHARED MEMORY : ESM buffer

The short dump issues the object that is too large and the objectsize (data length in bytes).

You now need to increase the respective buffer. This is describedin point 2 .

b) If only the syslog message "ObjTooLar" is displayed, check in thedeveloper trace of the corresponding work process (dev_w-file): Itcontains entries such as the following:

B dbexpbuf[NR]: Object (...) is too large (= SIZE)

NR specifies the buffer instance:

0: Export/import buffer

1: CUA buffer

2: OTR buffer

3: ESM buffer

SIZE specifies the object size in bytes.

Now proceed as described in point 2.

2. Increase the buffer in question so that the object to be exported fitsinto the buffer. In this case, set the buffer size to five times theobject size that was output in the short dump or developer trace or tothe maximum object size that can be expected. Then add the space thatthe administration information requires. The administrationinformation is primarily determined by the number of objects that canbe buffered. Each object that can be buffered requires anadministration area of approximatively 500 bytes. This area is namedin the following directory entry.You can estimate the entire buffer size in bytes using the followingformula: max_size * 5 + max_objects * 500

where max_size is the maximum object size in bytes that can beexpected and max_objects is the number of directory entries.

Caution:

Note that the specifications for the profile parameters for the buffersizes are in kilobytes in each case.

Page 3: Export Buffer No Memory

28.09.2011 Page 3 of 4

SAP Note 520684 - Runtime error "EXPORT_BUFFER_NO_MEMORY"

Therefore, a size that is estimated with the above formula must bedivided by 1024 and rounded up if necessary.A sample calculation for the size of the export buffer or importbuffer can be found at the end of the note.

The profile parameters for each buffer are as follows (see Note702728):

Export/import buffer:

buffer size : rsdb/obj/buffersize

Number of directories: rsdb/obj/max_objects

ESM buffer:

buffer size : rsdb/esm/buffersize_kb

Number of directories: rsdb/esm/max_objects

CUA buffer:

buffer size : rsdb/cua/buffersize

Number of directories: rsdb/esm/max_objects

OTR buffer:

buffer size : rsdb/otr/buffersize_kb

Number of directories: rsdb/otr/max_objects

3. Example:

The developer trace contains the following message:

B ***LOG BYE=> invalid interface parameter ObjTooLar [dbexpbuf#3 @ 3538] [dbexpbuf3538 ]B dbexpbuf[0]: Object (RSIX 001MP0SPM_MP10 ) is too large (= 1020963)

dbexpbuf[0]

The 0 specified in parentheses after dbexpbuf means that the objectis to be stored in the export buffer or import buffer.

is too large (= 1020963)

The number specified in parentheses 1020963 is the size of theobject to be buffered.

To ensure that somewhat larger objects can also be buffered, youshould set a larger value for max_size, for example: max_size =

Page 4: Export Buffer No Memory

28.09.2011 Page 4 of 4

SAP Note 520684 - Runtime error "EXPORT_BUFFER_NO_MEMORY"

2000000.

When calculating the buffer size, we assume that up to 2000 objectsare to be saved in the export buffer or import buffer, that is, theprofile parameter rsdb/obj/max_objects has the value 2000.

This then results in the following buffer size:

max_size * 5 + max_objects * 500 =

2000000 * 5 + 2000 * 500 = 11000000

Since the profile parameter rsdb/obj/buffersize specifies the buffersize in kilobytes, the calculated value would actually have to bedivided by 1024. To simplify matters, we divide by 1000 (rounding up),thus

rsdb/obj/buffersize = 11000

Header Data

Release Status: Released for CustomerReleased on: 25.06.2010 11:15:23Master Language: GermanPriority: Recommendations/additional infoCategory: ConsultingPrimary Component: BC-DB-DBI DB Independent Database Interface

The Note is release-independent

Related Notes

Number Short Text

1614788 Buffering of large hierarchies in BW reporting

809035 Compliance Management "Application buffer too small"

702728 Profile parameter for export/import buffer instances

156957 OLAP: Message 051(BRAIN) when executing a query