SPOOL_INTERNAL_ERROR dumps normally occur due to spool overflow or with error: no more memory for open spool handle. There are certain steps that you can follow to troubleshoot such issues and resolve them quickly.
How to analyze the SPOOL_INTERNAL_ERROR dump?
Execute ST22 and open the dump, to check the exact cause of the issue.
Under the error analysis section, a detailed description of the error will be displayed. In the below screenshot, the error occurred due to “spool overflow”. This points to an overflow of the number range object SPO_NUM.
How to monitor or check the available spool numbers?
Execute report RSPO_SHOW_SPO_NUM to check the current number of spool requests in the system.
In the above screenshot, we can see that the current number of spool requests in the system is 28,142 and the maximum number of spool requests allowed is 32,000 as per the SPO_NUM number range interval. So, when the spool number reaches the 32000 limits, SAP will start throwing SPOOL_INTERNAL_ERROR dumps and the jobs will start failing. Also, the overall printing would get impacted.
How to resolve SPOOL_INTERNAL_ERROR dumps?
1) Increase the interval for number range object SPO_NUM to a maximum of 999,999 (Check note 48284 for reference)
Login to client 000 and Execute SNRO, enter object value SPO_NUM. Then click on “Goto” –> Interval Editing
Click on “Intervals” with the change icon.
Change the value for “To Number” to 999999 and click on save. This range is sufficient to avoid these dumps.
2) Deletion of old spools
Execute report RSPO1041 and delete spools older than the required days as per the customer requirements. The default retention period is 8 days (Profile Parameter rspo/req_lifetime). So, adjust this value using report RSPO1041. Select the required options as shown below and execute the report.
Select options as per your need and click on the “Continue” button.
After this, remember to run “Consistency Check of Spool Database” or execute report RSPO1043
Remember to schedule report RSPO1041 as a daily job. So that the spools will be removed on daily basis as per the retention policy.
Spool error: no more memory for open spool handle
If you see errors like ERROR => EmIAllocMmResourceEg: EgAlloc(…. in workprocess trace files along with SPOOL_INTERNAL_ERROR or SPOOL_NO_CONVERSION dumps, then it indicates that the global part of the extended memory is not sufficient.
Solution: Review memory profile parameter em/global_area_MB and em/initial_size_MB
SPOOL_INTERNAL_ERROR
System can no longer create spool requests & creating spool requests takes a long time. Finally, the system cannot create any more requests and the short dump SPOOL_INTERNAL_ERROR occurs. In the dump itself and in the syslog, the system issues the message «Spool full» or «Spool overflow».
In the standard SAP system, the number of spool requests that can be created is limited to 32000. If you reach this limit, there are no more free numbers and the errors described above occur.
You can raise the upper limit for spool requests. As of Release 4.0, you can set the upper limit to anywhere between 2 and 31 numbers (previously 99,000).
However, we recommend that you do not set the interval higher than 999,999 because the human user finds higher numbers difficult to process. (This is not a technical restriction; it concerns the handling only.)
Proceed as follows:
Step 1) Log on to the system in client 000 and Execute t-code SNRO.
Step 2) Select the object SPO_NUM and click the Change button.
Step 3) On the next screen, click the Interval Editing button or press the F7 key
Step 4) Then again select the Change Interval button
Step 5) In the To number column, change the upper limit of interval, for example, 01 to 999,999.
Step 6) Now once changes are made click the SAVE button to save the changes
A message Data was saved will be displayed on the bottom of your screen
The size of the interval also determines the maximum number of spool requests that can exist in the system. To ensure that the system performance does not deteriorate, you must use RSPO0041 or RSPO1041 on a regular basis to delete spool requests that are no longer required. The number of spool requests that can be held «officially» in the system depends to a great extent on the capacity of the database and the database computer. Only the number of spool requests simultaneously held in the system is relevant, not the size of the number intervals.
You can use the spool number monitor in transaction RZ20 to specify threshold values in which the system must create an alert if a certain percentage of the spool numbers are allocated.
Просмотр нерешенных тем
Сообщения без ответов | Активные темы
Правила форума
ВНИМАНИЕ! Прежде чем задавать вопрос, ознакомьтесь со ссылками ниже:
Вопросы по отличиям версий SAP, Add-On, EHP — сюда
Вопросы по SAP Front End (SAPlogon, SAPgui, guiXT и т.д.) — сюда
Вопросы по LSMW — сюда
Вопросы по архивации в SAP — сюда
Вопросы по SAP GRC — сюда
Вопросы по SAP Business Workplace (почте SAP) и SAP Office — сюда
Вопросы по miniSAP (SAP mini basis) — сюда
Вопросы по SAP HANA — сюда
Вопросы по лицензированию продуктов SAP — сюда
Автор | Сообщение | |||
---|---|---|---|---|
Заголовок сообщения: SPOOL_INTERNAL_ERROR (см. ST22)
|
||||
|
Добрый день.Я не совсем уверен, что правильно выбрал ветку для данной темы, поэтому заранее прошу прощения если это так. Возникла такая проблема с фоновыми заданиями. С определённого момента перестали запускаться, смотрю в sm37 у всех заданий ошибка дампа SPOOL_INTERNAL_ERROR (см. ST22). Смотрю в транзакции st22 ошибка связана с Spool Overflow. В инете говорят что это связано с тем что превышен лимит номеров диапазонов спулов фоновых заданий и что необходимо в манданте 000 увеличить этот диапазон, у меня как у консультанта в 000 мандант доступа нет, но я посмотрел в продуктивной системе в транзакции SNRO объект SPO_NUM там лимит заканчивается на 32000, а номер последнего спула фонового задания 15300. Или это надо смотреть в 000 манданте и там же нумерацию исправлять, может кто сталкивался с этим? А то не знаю даже как и быть.
|
|||
Вернуться к началу |
|
|||
шрам |
Заголовок сообщения: Re: SPOOL_INTERNAL_ERROR (см. ST22)
|
|
надо просто обратиться к специалисту SAP BASIS.
|
Вернуться к началу |
|
Skif |
Заголовок сообщения: Re: SPOOL_INTERNAL_ERROR (см. ST22)
|
|
шрам написал: надо просто обратиться к специалисту SAP BASIS. а базисника сократили давно — нафик он нужен
|
Вернуться к началу |
|
Maksimka |
Заголовок сообщения: Re: SPOOL_INTERNAL_ERROR (см. ST22)
|
|
Господа хорошие, еслиб я мог обратится к базиснику, я бы обратился, может быть вы можете подсказать в чём дело? действительно ли тут имеет место быть причина номеров диапазонов?
|
Вернуться к началу |
|
Skif |
Заголовок сообщения: Re: SPOOL_INTERNAL_ERROR (см. ST22)
|
|
Maksimka написал: Господа хорошие, еслиб я мог обратится к базиснику, я бы обратился, может быть вы можете подсказать в чём дело? действительно ли тут имеет место быть причина номеров диапазонов? почисть спул
|
Вернуться к началу |
|
Maksimka |
Заголовок сообщения: Re: SPOOL_INTERNAL_ERROR (см. ST22)
|
|
Я извиняюсь за интеллект, но я не совсем понимаю как чистить спул, или мне в sm37 просто по удалять уже отработанные задания? Последний раз редактировалось Maksimka Пн, июн 30 2014, 11:52, всего редактировалось 1 раз.
|
Вернуться к началу |
|
jack_nsk |
Заголовок сообщения: Re: SPOOL_INTERNAL_ERROR (см. ST22)
|
||
|
|||
Вернуться к началу |
|
||
Maksimka |
Заголовок сообщения: Re: SPOOL_INTERNAL_ERROR (см. ST22)
|
|
jack_nsk написал: Standard Jobs -> Deletes old spool data Понял спасибо, запустил sa38 и запустил программу чистки спула. Спул почистился, но вот странно в просмотре sm37 стандартный job этот, который запускается ежедневно и чистит спул так же имеет динамическую ошибку что и созданные мной. Что с ним в таком случае делать?
|
Вернуться к началу |
|
jack_nsk |
Заголовок сообщения: Re: SPOOL_INTERNAL_ERROR (см. ST22)
|
||
|
|||
Вернуться к началу |
|
||
Maksimka |
Заголовок сообщения: Re: SPOOL_INTERNAL_ERROR (см. ST22)
|
|
Я понял. Спасибо!
|
Вернуться к началу |
|
Кто сейчас на конференции |
Сейчас этот форум просматривают: нет зарегистрированных пользователей |
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения |
- What is spool overflow ?
- How to troubleshoot spool overflow ?
- How to delete old spool requests ?
- How to avoid spool overflow issue ?
- How to check spool numbers?
- How to set the spool number in SAP ?
- How to define storage location (Temse) of spool requests ?
What is spool overflow ? :
Spool request that got generated are stored in a temporary sequential file
called Temse. Please note that these are stored in Temse because these are
not stored permanently.The size of the Temse is limited by the parameter
definition.
The default size of Temse is 32,000 and it can be increased till 2 billion.
However, defining very high value can effect the database performance. Due to limited storage capacity of Temse, when this file got full, this throws an SAP
spool overflow error.
If this happens, customers could not print from SAP.
If you check in SM21 and ST22 transactions, you may encounter some error
log or dumps like
- ERROR IN SPOOL call : SPOOL OVERFLOW
- SPOOL_INTERNAL_ERROR
- System internal error in the spool system
How to troubleshoot spool overflow ?
To resolve this spool issue, some of the old spools can be deleted from the sap
system. Go to transaction SPAD. From the initial screen, navigate to Administration -> Clean_up_spool. Once you click this, Spool Administration: Delete old spool requests screen will be displayed.
In that screen, you will be prompted to choose requests for deletion like
- Old spool requests older than the maximum set age
- Requests already printed
- All spool requests
and enter value for minimum age (in days) text box.
Select the check boxes as per the requirement (eg: delete all requests already
printed and minimum age in days equal to 30 days) and execute to delete old
spool requests, which will clear Temse and will resolve spool over flow issue.
Apart from this there are others ways of resolving spool overflow issue. They
are
1) Run the report RSPO0041 from SE38 transaction to delete old spool requests
2) Run the report RSPO0043 from SE38 transaction, which checks the Temse/spool consistency and reorganizes the spool
How to avoid spool overflow issue ?
- These reports RSPO0041 and RSPO0043 should be scheduled as background jobs with proper variants on a periodic basis which avoids spool overflow issue.
- You can try to increase the spool numbers from default 32000 to a bit higher value but please note do not set this too high as it may impact database performance
- Proactive monitoring check can be made in RZ20 transaction to see how much is the fill level of spool numbers.
How to check spool numbers ?
To check spool numbers : Go to RZ20 transaction, navigate to SAP CCMS Monitor Templates -> Spool System.
Here you can check the status of spool servers and the used numbers percentage of spool numbers. If you find that used numbers is greater than 80%, you can manually run above mentioned reports or delete old spool requests from SPAD tcode as mentioned earlier.
How to set the spool number in SAP ?
Using Transaction SNRO (Number range object maintenance) and object SPO_NUM, you can set the spool number in an SAP system.
Once you provide object as SPO_NUM, click on change icon. It displays another screen. In that screen, click on Number Ranges push button. It displays another screen «Number range for spooler numbers». Click on change icon here and set the value of spooler(from number and to number). Please note that a change request may be generated here based on the client settings(if automatic recording of changes is set in SCC4 transaction of the client)
How to define storage location (Temse) of spool requests ?
Every Temse object contains a header in TST01 table and the actual object. This can be either stored in table TST03 or in file system. You can set a parameter rspo/store_location in RZ10 to define whether to store Temse objects TST03 table or in filesystem.
If value G is set to this parameter, it will be stored in filesystem and if it is db it is stored in TST03 table.