cancel
Showing results for 
Search instead for 
Did you mean: 

Rollback segment error

Former Member
0 Kudos
282

Hi Everybody,

while extracting data from Source system i am getting roll back segment error.

anybody can suggest me what exactly it is..

Regards,

Ramesh

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi

If the error you are getting is

<b>ORA-01595: error freeing extent of rollback segment</b>. Can you tell more about the DUMP in ST22, which would help in debugging the issue.

Two factors are necessary for this to happen.

1. A rollback segment has extended beyond OPTIMAL.

2. There are two or more transactions sharing the rollback segment at the time of the shrink.

What happens is that the first process gets to the end of an extent, notices the need to shrink and begins the recursive transaction to do so. But the next transaction blunders past the end of that extent before the recursive transaction has been committed.

The preferred solution is to have sufficient rollback segments to eliminate the sharing of rollback segments between processes. Look in V$RESOURCE_LIMIT for the high-water-mark of transactions. That is the number of rollback segments you need. The alternative solution is to raise OPTIMAL to reduce the risk of the error.

Regards,

GPK.

Answers (2)

Answers (2)

Former Member
0 Kudos

This is really an issue for your DBA.

There are different kinds of rollback segment errors (I'm assuming Oracle DB) so you to know the ORA error msg.

Rollback segments have two uses, one is to allow you to rollback (reverse) a table insert/updt/delete, the other is to maintain a "Read consistent" image of the table, e.g. your extractor begins to read the R3 tables and then along comes another transaction that is updating the data on R3. Oracle will use rollback segments to allow your extractor to read the table as it existed when your extractor started, so you don't have to worry about whether your extractor did or didn't pick up a new/changed record that occurred while your extractor was running.

Rollback segments are usually in their own tablespace. They expand and shrink as needed and there are a number of housekeeping processes that Oracle performs.

So without the specific error msg, you don't know whether this is a tablespace issue, or the segments were too old, etc. The DBA may need to increase the tablespace, increase the number of rollback segements and/or size. Or maybe the circumstances were unusual and the job can simply be run again without changes.

Don't think this is any kind of server memory error as mentioned, at least not if you are seeing a reference to a "Rollback error". Server memeory limitations can certainly be a problem for extractors, because as mentioned, the data that is to be passed to BW is written to an internal table in memory, and when that's used up, you are SOL, and have to change memory settings, packet sizes, or maybe even the extractor itself.

Former Member
0 Kudos

Thanks everybody for your timely co-operation. This has been taken care by my Basis team.

Regards,

Ramesh

Former Member
0 Kudos

Hi Ramesh,

Can you please let the group know, what has been done by your BASIS support in order to solve this issue.

Regards,

GPK.

Former Member
0 Kudos

Hi,

When data is transfered from R/3 to BW, the temporary memory is used there. When you are doing very large data extraction , There may be chance of scarcity of this memory. So ask your Basis guy to extend this Memeory .

With rgds,

Anil Kumar Sharma .P