Oracle 9i - Rollback Segment Needs Recovery

I have been noticing for a few days that my UNDO tablespace has been growing in size for no apparent reason. My datafiles have only increased by 400 Meg over last 4 days, but UNDO tablespace has grown from 100 Meg - 5.6 Gig....
I decided to create a new UNDO tablespace and drop the old one.....
I created a new tablespace, changed the UNDO configuration to point to new tablespace and bounced the instance. The instance came back up fine, using the new UNDO tablespace....I then went to take the old tablespace offline and drop it....It went offline fine, but when I went to remove it, I received an Oracle error saying tablespaces was using rollback segment _SYSSMU24$.....
I looked in the alert log and I'm getting a message:
SMON: about to recover undo segment 24
SMON: mark undo segment 24 as needs recovery
When I query the dba_rollback_segs table, it shows that all rollback segments prior to _SYSSMU24$ are online, 24 & 25 are listed as NEEDS RECOVERY, and all others below that are offline....
Any help on resolving this issue would be appreciated....

Metalink overrides any thing said, adviced, or written in this forum, if you have already opened a Service Request, as suggested by Daniel Morgan.
Just in case this may be helpful to you or others facing a similar situation, I suggest you to check this case Re: Error while Droping Undo Tablespace.
Make sure you have a full useful database backup as well as the required archive log files.
~ Madrid

Similar Messages

  • ROLLBACK SEGMENT NEEDS RECOVERY AND HOW TO RESOLVE IT

    제품 : ORACLE SERVER
    작성날짜 : 1995-02-06
    Subject :
    This article discusses what it means when a rollback segment needs
    recovery and how to resolve it.
    OVERVIEW
    This bulletin discusses why a rollback segment is the status of
    "needs recovery", what the status means, and how to resolve it.
    INTRODUCTION
    Rollback segments can be monitored through the data dictionary view,
    dba_rollback_segments. There is a status column that describes what state
    the rollback segment is currently in. Normal states are either online or offline.
    Occasionally, the status of "needs recovery" will appear.
    This is considered to be a corrupted rollback segment.
    When a rollback segment is in this state, bringing the rollback segment
    offline or online either through the alter rollback segment command or
    removing it from the rollback segments parameter in the init.ora usually has no effect.
    UNDERSTANDING
    A rollback segment falls into this status of needs recovery whenever
    Oracle tries to roll back an uncommitted transaction in its transaction
    table and fails.
    Here are some examples of why a transaction may need to rollback:
    1-A user may do a dml transaction and decides to issue rollback
    2-A shutdown abort occurs and the database needs to do an instance recovery
    in which case, Oracle has to roll back all uncommitted transactions.
    When a rollback of a transaction occurs, undo must be applied to the
    data block the modified row/s are in. If for whatever reason, that data
    block is unavailable, the undo cannot be applied. The result is a
    'corrupted' rollback segment with the status of needs recovery.
    What could be some reasons a datablock is unaccessible for undo?
    1-If a tablespace or a datafile is offline or missing.
    2-If the object the datablock belongs to is corrupted.
    3-If the datablock that is corrupt is actually in the rollback segment
    itself rather than the object.
    HOW TO RESOLVE IT
    1-MAKE sure that all tablespaces are online and all datafiles are
    online. This can be checked through dba_data_files under the
    status column. For tablespaces, look in dba_tablespaces.
    If that still does not resolve the problem then
    2-PUT the following in the init.ora-
    event = "10015 trace name context forever, level 10"
    Setting this event will generate a trace file that will reveal the
    necessary information about the transaction Oracle is trying to roll
    back and mostimportantly, what object Oracle is trying to apply
    the undo to.
    3-TAKE the corrupted rollback segment out of the rollback_segments parameter in the init.ora
    4-SHUTDOWN the database (if normal does not work, immediate, if that does
    not work, abort) and bring it back up.
    Note: An ora-1545 may be encountered, or other errors, that is ok.
    5-CHECK in the directory that is specified by the user_dump_dest parameter
    (in the init.ora or show parameter command) for a trace file that was
    generated at startup time.
    6-IN the trace file, there should be a message similiar to-
    error recovery tx(#,#) object #.
    TX(#,#) refers to transaction information.
    The object # is the same as the object_id in sys.dba_objects.
    7-USE the following query to find out what object Oracle is trying to
    perform recovery on.
    select owner, object_name, object_type, status
    from dba_objects where object_id = <object #>;
    8-THIS object must be dropped so the undo can be released. An export or
    relying on a backup may be necessary to restore the object after the corrupted
    rollback segment goes away.
    9-AFTER dropping the object, put the rollback segment back in the init.ora
    parameter rollback_segments, removed the event, and shutdown and startup
    the database.
    In most cases, the above steps will resolve the problematic rollback segment.
    If this still does not resolve the problem, it may be likely that the corruption is
    in the actual rollback segment.
    At this point, if the problem has not been resolved, please contact
    customer support.

    Yes we were having the performance issues when it is getting locked? in this what i want to know
    why it happens suddenly?
    or what package this piece of code is calling?
    or is there any possiblity of system will degrade the performance like sys user etc...?
    where exactly i found the root cause for further analysis?
    so that next time onwards if particular objects is locking we come to know why it happens is there any logical false or how do we eliminate this issue last time?
    coz in our environment sometimes most of lockings are from the same table?
    pls let me know where i have to concentrate for debug and how to troubloshoot and reslove this
    sorry for the inconvience.. i m expecting the answer from here. if anybody wants some more info i ll let him know.
    as of till now i got some docs i start to read this.
    Regards
    M.Murali..
    Note: will system/sys degrade the performance ?if so how ?

  • UNDO Segment in Needs Recovery Mode

    Hi,
    1) I created a different UNDO Tablespace and point UNDO_TABLESPACE to it.
    2) The i made the UNDO Tablespace OFFLINE.
    3) When i query the status column of dba_rollback_segs it displays that one UNDO Segment needs recovery.
    4) When i query v$datafile to find the status of the datafiles associated with the UNDO Segment it displays that all the data files are OFFLINE.
    SQL> select segment_name,status,tablespace_name from dba_rollback_segs where tablespace_name like 'UNDO%';
    SEGMENT_NAME STATUS TABLESPACE_NAME
    SYSSMU11580673410$ ONLINE UNDO_TS
    SYSSMU1064169346335$ NEEDS RECOVERY UNDO_TBS
    SYSSMU107348590359$ OFFLINE UNDO_TBS
    SQL> Select status ,name,file# from v$datafile where ts# in (Select ts# from v$tablespace where name='UNDO_TBS');
    STATUS NAME FILE#
    OFFLINE /x1/oradata/db1/undo_tbs_05.dbf 13
    OFFLINE /x1/oradata/db1/undo_tbs_06.dbf 14
    OFFLINE /x2/oradata/db1/undo_tbs_02.dbf 20
    OFFLINE /x2/oradata/db1/undo_tbs_03.dbf 21
    OFFLINE /x1/oradata/db1/undo_tbs_04.dbf 22
    OFFLINE /x2/oradata/db1/undo_tbs_01.dbf 27
    The dabase is in noarchivelog mode and the version is 11.2.0.2.0.
    Please suggest what should i do. I am unable to drop the old UNDO_TBS.

    I tried doing the following ( but it simply doesnot work)
    1) set undo_management='MANUAL' and OFFLINE_ROLLBACK_SEGMENTS=_SYSSMU106 in init.ora
    2) Did a clean shutdown using SHUTDOWN IMMEDIATE and then STARTUP
    3)
    SQL> select segment_name,status,tablespace_name from dba_rollback_segs where tablespace_name like 'UNDO%';
    SEGMENT_NAME STATUS TABLESPACE_NAME
    SYSSMU11580673410$ ONLINE UNDO_TS
    SYSSMU1064169346335$ NEEDS RECOVERY UNDO_TBS
    SYSSMU107348590359$ OFFLINE UNDO_TBS
    SQL> drop rollback segment "_SYSSMU106";
    Rollback segment dropped.
    SQL> select segment_name,status,tablespace_name from dba_rollback_segs where tablespace_name like 'UNDO%';
    SEGMENT_NAME STATUS TABLESPACE_NAME
    SYSSMU11580673410$ ONLINE UNDO_TS
    SYSSMU1064169346335$ NEEDS RECOVERY UNDO_TBS
    SYSSMU107348590359$ OFFLINE UNDO_TBS
    SQL> drop tablespace UNDO_TBS including contents and datafiles;
    drop tablespace UNDO_TBS including contents and datafiles
    ERROR at line 1:
    ORA-01548: active rollback segment '_SYSSMU106_4169346335$' found, terminate
    dropping tablespace
    SQL> Select status ,name,file# from v$datafile where ts# in (Select ts# from v$tablespace where name='UNDO_TBS');
    STATUS NAME FILE#
    OFFLINE /x1/oradata/db1/undo_tbs_05.dbf 13
    OFFLINE /x1/oradata/db1/undo_tbs_06.dbf 14
    OFFLINE /x2/oradata/db1/undo_tbs_02.dbf 20
    OFFLINE /x2/oradata/db1/undo_tbs_03.dbf 21
    OFFLINE /x1/oradata/db1/undo_tbs_04.dbf 22
    OFFLINE /x2/oradata/db1/undo_tbs_01.dbf 27
    Edited by: SID3 on Mar 21, 2012 4:41 AM

  • Creating rollback segments using PUBLIC

    One of our dba's dropped and recreated the 6 rollback segments ( 8i ) but didnt use the PUBLIC option. When the server was rebooted they came up as offline. Another dba did the same but used the PUBLIC option and they are now fine.
    I have looked through the ORacle docs on creating rollback segments and it doesnt seem to say that using the PUBLIC option is essential . I seems to think that u need to do this if using parallel server option.
    So what is the real truth ?
    George

    Private rollback segments need to be defined in init.ora.
    -Antti

  • TRANSACTION을 ROLLBACK SEGMENT에 할당하는 방법(SET TRANSACTION USE)

    제품 : ORACLE SERVER
    작성날짜 : 2003-04-04
    TRANSACTION을 ROLLBACK SEGMENT에 할당하는 방법
    ==============================================
    (SET TRANSACTION USE ROLLBACK SEGMENT)
    Purpose
    Batch job 등을 사용할 때 특별히 크게 만든 rollback segment를 사용하도록
    할 수가 있다. transaction에 특정한 rbs를 지정하는 방법을 알아보자.
    Explanation
    Oracle은 다음과 같은 규칙에 의해 각 Transaction이 사용하는 Rollback
    segment를 결정한다.
    1. Active Transaction의 수가 가장 작은 Rollback Segment에 할당한다.
    2. 만약 1의 조건에 만족하는 Rollback segment가 하나 이상이면, 가장
    마지막에 할당된 rbs 다음의 rbs를 할당한다. 이것은 undo 기능을 더
    오래 지속시키도록 해 준다.
    그러나, Application이 큰 rollback segment가 필요하다면 위와 같이
    자동적인 rollback segment의 할당이 아닌 Manual하게 특정 rollback
    segment를 할당 가능하다.
    다음의 방법을 사용한다.
    1) 큰 rollback segment를 만든다. 큰 rollback segment 를 만들기
    위해서는 rbs tablespace에 영역이 충분히 커야 하므로 필요할 경우
    tablespace를 확장하는 작업을 한다.
    <tablespace 확장>
    $ sqlplus system/manager
    sql> alter tablespace rbs add datafile '?/rbs1SID.dbf' size 100m;
    <rollback segment 생성>
    sql> create rollback segment big_rbs storage(initial 10m next 10m)
    tablespace rbs;
    sql> alter rollback segment big_rbs online;
    2) Transaction 를 assign 한다.
    <sqlplus>
    SQL> set transaction use rollback segment big_rbs;
    <pro*c>
    exec sql commit work;
    exec sql set transaction use rollback segment big_rbs;
    <forms>
    dbms_transaction.use_rollback_segment('big_rbs');
    이와 같이 지정하면 이후에 commit 또는 rollback이 일어날 때까지
    한 transaction에만 해당된다.

  • ROLLBACK SEGMENT의 MINEXTENTS를 20 이상으로 하면 좋은 이유

    제품 : ORACLE SERVER
    작성날짜 : 2003-06-19
    ROLLBACK SEGMENT의 MINEXTENTS를 20 이상으로 하면 좋은 이유
    =========================================================
    PURPOSE
    이 자료는 다음과 같은 주제에 대하여 소개하는 자료이다.
    이 문서는 database application의 요구 사항을 충족시키기 위해 고려되어
    져야 할 rollback segment tablespace 구성에 관한 내용을 담고 있다.
    Creating, Optimizing, and Understanding Rollback Segments
    -Rollback Segment 구성과 기록 방식
    -Transaction에 Rollback Segment를 할당하는 Oracle 내부 메커니즘
    -Rollback Segment 크기와 갯수
    -Rollback Segment의 크기와 갯수 결정을 위한 테스트
    -Rollback Segment extent의 크기와 갯수
    -Rollback Segment의 minextents를 20 이상으로 하면 좋은 이유?
    -Rollback Segment의 Optimal storage parameter와 Shrink
    Explanation
    Rollback Segment 구성과 기록 방식
    Rollback segment는 extent라 불리는 연속적인 여러 개의 block으로 구성된다.
    Rollback segment는 ordered circular 방식으로 extent를 쓰게 되는데,
    current extent가 full이 되면 next extent로 옮겨 가며 사용하게 된다.
    Transaction은 rollback segment 내의 current location에 record를 쓴 다음,
    record의 size 만큼 current pointer를 옮겨 간다.
    Rollback segment에 현재 record가 쓰여지고 있는 위치를 "Head"라고 한다.
    또한, "Tail"이란 용어는 rollback segment에서 가장 오래된 active
    transaction record의 시작 위치가 되는 부분을 말한다.
    Transaction에 Rollback Segment를 할당하는 Oracle 내부 메커니즘
    새로운 transaction이 rollback segment 를 요청하면, 각 rollback segment
    를 이용하고 있는 active transaction 갯수를 확인하여 가장 적은 갯수의
    active transaction 을 가진 rollback segment를 할당하게 된다.
    Rollback segment는 transaction load를 처리하기에 충분한 크기를 가져야
    하고, 필요한 만큼의 rollback segment를 사용할 수 있도록 적당한 갯수의
    rollback segment를 가져야 한다.
    1. 한 transaction은 단 하나의 rollback segment만을 사용할 수 있다.
    2. 같은 extent에 여러 transaction이 기록할 수 있다.
    3. Rollback segment의 Head는 Tail에 의해 현재 사용 중인 extent를
    침범하지 않는다.
    4. 링 형태로 구성되어 있는 rollback segment의 extent들은 다음 extent를
    찾을 때 절대 건너 뛰는 일이 없으며, 순서를 뒤바꾸어 사용하지도 않는다.
    5. Head가 next extent를 찾지 못하면, 새로운 extent를 추가로 할당하고,
    그 extent를 링 안에 포함시킨다.
    위와 같은 원리를 감안할 때, transaction size 뿐만 아니라 transaction
    time도 상당히 중요한 고려 사항이라는 것을 알 수 있다.
    Rollback Segment 크기와 갯수
    Rollback segment size가 충분한지 판단하는 기준은 transaction activity에
    직접적으로 영향을 받는다. 주로 일어나는 transaction activity에 근거하여
    rollback segment size를 결정하여야 하고, 잘 일어나지 않는 특수한 경우의
    큰 transaction이 문제라면 별도의 rollback segment로 관리되어야 한다.
    Transaction 발생 중 Head가 너무 빨리 wrap around 시켜서 tail을 catch하
    지 않도록 하여야 하며, 자주 변경되는 data에 대해 long-running query가
    수행되었을 경우 read-consistency가 유지될 수 있도록 rollback segment
    가 wrap around되지 않아야 한다.
    Rollback segment 갯수를 적당히 잡아야 하는 이유는 process들 간에
    contention을 방지하기 위함이고, V$WAITSTAT, V$ROLLSTAT, V$ROLLNAME
    view를 통해서 contention을 확인할 수 있으며, 조회문은 다음과 같다.
    sqlplus system/manager
    select rn.name, (rs.waits/rs.gets) rbs_header_wait_ratio
    from v$rollstat rs, v$rollname rn
    where rs.usn = rn.usn
    order by 1;
    위의 query에 의해 조회된 rbs_header_wait_ratio 가 0.01 보다 크면,
    rollback segment 갯수를 추가한다.
    Rollback Segment의 크기와 갯수 결정을 위한 테스트
    1. Rollback segment tablespace 생성
    2. 테스트하기 위해 생성할 Rollback segment 갯수 결정
    3. 같은 크기의 extent로 rollback segment 생성
    extent 갯수는 최대 확장 시 10 - 30 개 정도가 되도록 extent 크기를 결정
    4. Rollback segment의 minextents는 2이다.
    5. 테스트할 rollback segment와 system rollback segment만 online 상태로 한다.
    6. Transaction을 수행하고, 필요하면 application을 load한다.
    7. Rollback segment contention을 확인한다.
    8. Rollback segment가 최대 얼마까지 확장하는지 모니터링한다.
    Rollback Segment extent의 크기와 갯수
    Rollback segment가 자라나는 최대 사이즈를 알 수 있는데, 이 수치를
    "minimum coverage size"라 한다. 만약, contention이 발생한다면 rollback
    segment 갯수를 늘려 가면 테스트를 반복한다. 또한, extent 갯수가 10개
    미만이나 30개 이상이 될 필요가 있다면 extent 크기를 늘리거나 줄이면서
    테스트를 반복해 나가면 된다.
    Rollback segment의 extent 크기를 정할 때, 각 extent는 모두 같은 크기로
    생성할 것을 recommend한다.
    Rollback tablespace의 크기는 extent size의 배수로 지정한다.
    최적의 성능을 위한 rollback segment의 minextents는 20 이상이어야 한다.
    Rollback Segment의 minextents를 20 이상으로 하면 좋은 이유?
    Rollback segment는 dynamic하게 allocate되고, 더 이상 필요 없게 되었을 때
    (만약, Optimal parameter가 셋팅되어 있으면) 모두 commit된 extent에
    대해서는 optimal size 만큼만 남기고 release(deallocate)된다.
    Rollback segment가 적은 수의 extent를 가질 수록, space 할당/해제 시
    extent 수가 많을 때보다 큰 사이즈의 space가 할당되고, 해제된다.
    다음과 같은 예를 들어 보자.
    200M 정도의 rollback segment가 있는데, 100M 짜리 2개의 extent로 이루어져
    있다고 가정해보자. 이 rollback segment에 추가로 space를 할당해야 할 일이
    생겼을 때, 모든 rollback segment extent는 같은 크기를 가져야 한다는 점을
    감안할 때, 100M 짜리 extent를 하나 더 할당해야 할 것이다.
    이 결과 직전의 rollback segment 크기에 비하여 50% 만큼의 크기 증가분이
    생겨나게 된 것인데, 실제 필요로 하는 space보다 더 많은 space가 할당되었을
    것이다.
    이와 반대로, 10M 짜리 extent 20개로 구성된 200M 짜리 rollback segment를
    생각해보자.
    여기에 추가로 space를 할당해야 할 일이 생겼을 때, 10M 짜리 extent 하나만
    추가되면 되는 것이다.
    Rollback segment가 20개 또는 그 이상의 extent로 구성되어 있다면 extent가
    하나 더 증가할 경우가 생겼을 때, rollback segment의 전체 크기가 5% 이상은
    늘어나지 않는다는 것이다.
    즉, space의 할당과 해제 작업이 보다 유연하고 쉽게 일어날 수 있다.
    요약하면, rollback segment의 extent 갯수를 20 이상으로 잡으면 space
    할당과 해제가 "보다" 수월해진다.
    실제로 extent 갯수를 20 이상으로 잡았을 때, 처리 속도가 훨씬 빨라진다는
    사실이 많은 테스트 결과 밝혀졌다.
    한가지 확실한 사실은, space를 할당하고 해제하는 작업은 cost가 적게 드는
    작업이 아니라는 사실이다.
    실제로 extent가 할당/해제되는 작업이 일어날 때, performance가 저하되는
    일이 발생한다는 것이다.
    Extent 하나에 대한 cost는 별 문제가 안 된다고 할지라도, rollback segment
    는 끊임없이 space를 할당하고 해제하는 작업을 반복하기 때문에 작은 크기의
    extent를 갖는 것이 cost 측면에서 훨씬 효율적이라는 결론이다.
    Rollback Segment의 Optimal storage parameter와 Shrink
    Optimal은 deallocate 시에 rollback segment 내에 optimal size 만큼의
    extents를 유지하기 위해 사용하는 rollback segment storage parameter이다.
    다음과 같은 명령으로 사용한다.
    alter rollback segment r01 storage (optimal 1m);Optimal size는 storage 절 안에서 기술되어야 한다.
    Optimal size 이상이 되면, 모두 commit된 extent에 대해서는 optimal size
    만큼만 남기고 release된다.
    즉, optimal에서 지정한 크기 만큼만 rollback segment를 유지하겠다는
    뜻이며, 일정한 크기로 늘어났다가 다음번 tx이 해당 rbs를 취할 경우
    optimal size만큼 resize하는 option이다.
    rbs의 가장 최근에 사용된 extent가 다 차서 다른 extent를 요구할 때
    이 optimal size와 rbs size를 비교하게 되며, 만약 rbs size가 더 크다면
    active tx에 관여하지 않는 tail extent에 대하여 deallocation이 이루어진다.
    특정 rollback segment가 너무 큰 space를 차지해서 다른 rollback segment가
    extent를 발생할 수 있는 여유 공간을 부족하게 만들기 때문에 이를 극복하기
    위해서 optimal size를 지정할 필요가 있다.
    즉, optimal parameter를 지정하면 space availability 측면에서 효율적이다.
    다음과 같이 shrink 명령을 수행하는데, size를 지정하지 않으면 optimal
    size 만큼 shrink된다.
    alter rollback segment [rbs_name] shrink to [size];Shrink 명령 수행 후, 바로 줄어들지 않는 경우가 있는데,
    transaction이 있는 경우는 줄어들지 않고, transaction이 종료되면 줄어든다.
    Optimal이 적용되는 시간은 session이 빠져 나가고 약 5~10 분 정도 걸린다.
    적당한 OPTIMAL SIZE?
    => 20 ~ 30 extents 정도가 적당한데, batch job의 성격에 따라 size는 달라
    지며 각 optimal의 합이 datafile의 size를 넘어도 전혀 상관없다.
    Optimal size를 initial, next와 같게 주면 extent가 발생하는 매번 shrink가
    일어나므로 좋지 않다.
    RBS들의 평균 크기를 구하여 이것을 optimal 크기로 지정하여 사용하는 것을
    권한다.
    다음의 query를 이용하여 peak time에 rollback segment들의 평균 크기를 구한다.
    select initial_extent + next_extent * (extents-1) "Rollback_size", extents
    from dba_segments
    where segment_type ='ROLLBACK';
    이 크기의 평균값(bytes)을 rollback segment들의 optimal size로 사용할 수
    있다.
    주의할 사항은 너무 자주 shrink된다거나 optimal 값을 너무 작게 주면
    ora-1555 : snapshot too old error가 발생할 확률이 높아지므로,
    사용하지 않는 것이 좋을 수도 있고, 되도록 큰 값으로 셋팅해야 한다.
    Rollback segment의 optimal size를 확인할 수 있는 view는 V$ROLLSTAT
    이라는 dynamic view로서 OPTSIZE column에서 확인이 가능하다.
    Example
    none
    Reference Documents
    <Note:69464.1>

  • Difference Between Rollback Segments and UNDO Tablespace

    Hi guys,
    Can you tell difference between Rollabck segments and UNDO Tablespaces.
    I think that rollback Segemnts and UNDO tablespaces are similar both are used for storing before imags of data, which is going to be modified.
    but my question still both the rollback abck segments and UNDO tablespaces exists.
    why and what is the reason of both existing and at what time, we can use..them at which scenarios's
    Regards,
    Pavan Kumar N

    Undo segments in undo tablespaces, introduced in 9i, are the successor of rollback segments.
    They are automatically managed by Oracle.
    Rollback segments exist for reasons of backwards compatibility.
    That said, you should switch to undo segments and stop using rollback segments.
    Other than that: could you please avoid rehearsing the complete documentation in this forum?
    Sybrand Bakker
    Senior Oracle DBA

  • How to recovery rollback segment

    I come into contact with a big problem about system RBS tablespace:
    Because of abnormal shutdown of Oracle database server,when restart oracle server and it crashed,
    following is the detail:
    1. I got some error numbers:
    ORA-27073 skgfcfi: async I/Os remaining to be dequeued for this file
    ORA-01115 IO error reading block from file string (block #2 string)
    ORA-01110 data file string: 'd:\oracle\oradata\swapp\RBS01.DBF'
    2. I startup database with mount mode, then execute sql to get rollback segment detailed info,
    I found that the status of all rollback segment of tablespace RBS is "NEED RECOVERY".
    and I can not bring it offline or online and drop tablespace.that is mean I can not recover it.
    additional, current database running under NOARCHIVELOG mode.
    Would you give me a hand? thanks and best regard.
    null

    Sorry this forum is for Oracle Repository, not database issues. Please contact Oracle SUpport for assistance with recovering your RBS.
    DAvid

  • Rollback segment corruption on oracle 7.3

    We have an oracle 7.3 database on solaris(sparc) 2.6.
    In the midddle of the transactions, the following error message occured:
    ORA 1578 Data block corrupted(file #2, block#8274)
    ORA-1110 Datafile 2:'/user1/oradb/rbstbl.dbf'
    (this datafile corresponds to the rollback segment table space).
    Action Taken:
    1. Tried to make the rollback segments offline, but out of 11, 2 rollback segments could not be taken offline. The status for these 2 was 'pending offline'.
    2. Made the table space and datafile offline.
    3. Created new rollback segments with new datafile and rollback segments, duly commenting the same in init.ora.
    4. The status for these 2 rollback segments has now changed to 'needs recovery'. This status is preventing us from taking any further action.
    We would like to drop the old table space.
    We need you kind help in getting out of this loop!
    Pls. mail your reply to [email protected]

    Kathleen,
    Sorry, the character set scanner only supports 8.0.6 and above. Can you first migrate your US7ACII database to 9.2, and run the scanner before changing database character set to WE8ISO8859P15? Also you can read this paper http://www.oracle.com/technology/tech/globalization/pdf/mwp.pdf
    to understand why you may have invalid data in your US7ASCII database and the best way to migrate it. I am also wondering about your choice of P15 versus P1 and WIN1252? If you need further information you can contact me directly at [email protected]

  • Error while creating the rollback segment (Oracle 8i & OS Win NT)

    hi
    I am using Oracle 8i and when i am creating the new rollback segment for my database i have got following error message
    ORA-01593 Rollback segment optimal size (30 blks) is smaller than the computed initial size (2560 blks)
    CREATE ROLLBACK SEGMENT "RBS11" TABLESPACE "RBS1"
    STORAGE ( INITIAL 120K NEXT
    120K OPTIMAL
    240K MINEXTENTS 2
    MAXEXTENTS 100)
    Note:- db_block size is 8k
    Tablespace RBS1 is the Locally managed Tablespace having datafile of 50m and uniform size of 10m
    But Given statement processed while i am using Tablespace RBS (winch is data dictionary managed)
    Plz, suggest me to cause of that error and solution

    You said 120K optimal and initial is 120K with minextents of 2. The optimal size then will be smaller than the initial allocation for the rbs.
    ORA-01593: rollback segment optimal size (string blks) is smaller than the computed initial size (string blks)
    Cause: Specified OPTIMAL size is smaller than the cumulative size of the initial extents during create rollback segment.
    Action: Specify a larger OPTIMAL size.

  • How to check/find the size of current ROLLBACK segment in oracle 10g

    How to check/find the size of current ROLLBACK segment in oracle 10g ? Kindly help

    A rollback segment name like "_SYSSMU231$" is used when you have Automatic Undo Management enabled.
    The only relevant parameters are :
    1. UNDO_MANAGEMENT=AUTO
    2. UNDO_RETENTION=n minutes ==> this is what everyone should be interested in
    3. The sizes of the Undo Tablespace datafiles and whether AUTOEXTEND is ON or OFF
    No one should be interested in the size of a single undo segment when Automatic Undo Management is enabled.
    Possible causes of ORA-01555 errors in Automatic Undo Management
    a. UNDO_RETENTION is too low
    b. Undo tablespace is too small
    Hemant K Chitale

  • How does oracle know the databse is inconsistent and needs recovery?

    Hello,
    How does Oracle know that the datafiles are inconsistent and db needs recovery when rebuilding the db off of the online/hot backups? Whereas, it doesn’t ask for recovery when rebuilding the database from cold backup (I understand that, for cold backup, database is shutdown immediate and hence the db is consistent). In both scenarios, a new control file is created (that means it won’t have SCN) and only datafile header will have the SCN. What’s that piece of info that oracle check to know if the database is consistent or inconsistent during the backup restore and recovery and where that info resides?
    Thank you for any hints and answers.
    Jay

    Oracle uses the datafiles to identify if they are consistent. If the datafiles backup was taken when the database was OPEN, they are marked as "fuzzy" in the header. Also, likely, the Checkpoint SCNs may be different if tablespace checkpoints (e.g. by ALTER TABLESPACE BEGIN BACKUP) are at different points in time.
    If the backup was a cold backup with the database shutdown normal/immediate, the headers are marked appropriately.
    When you run CREATE CONTROLFILE, it has to read the datafiles because the controlfile, itself, has no SCN and LogSequenceNumbers information.
    Hemant K Chitale

  • Rollback segment + oracle 8i

    Hi,
    I am working in oracle 8i. I am having a doubt in rollback segment. what is the use of optimal parameter in rollback segment and whether its important or not.
    Rgds...

    This might help:
    http://download-west.oracle.com/docs/cd/A87860_01/doc/server.817/a76956/rollbak.htm#586

  • Oracle error: Ora-01555 : snapshot too old: rollback segment number 1......

    System Error: Unknown Database error (type qqdb_ResourceException) on WMS_WH1: Execute failed for SQL statement ............... error from database is: ORA-01555: snapshot too old: rollback segment number 1 with name "_SYSSMU1$" too small...
    Any ideas ? Please help.
    Thank you.

    You either have
    - an UNDO tablespace that is way too small (rollback segments that are too small); or
    - an application that does way too many COMMITs (common with apps ported from SQL Server)
    From the added info, I would guess that the Java program has a major loop and does processing on each of the values it gets in that loop. At the end of each turn in the loop, it does a commit. Then it tries to look at the next record in the master list. After a while (say around 388 loops ;-) ) it dies.
    The reason is that when it looks for information in the master query, it needs to rebuild that information to the moment that query was initiated. It uses rollback (AKA undo) to rebuild that. But rollback is not guaranteed to exist after a commit (unless forced) and once a commit happens, that area can be reused. When it is reused, the information is no longer there to rebuild the row, and that raises an ORA-01555
    Edited by: Hans Forbrich on Sep 11, 2009 3:44 PM

  • Not able to see rollback segment in oracle 10g

    hi all
    I created rollback segment by using command
    CREATE ROLLBACK SEGMENT rs1 TABLESPACE rbs_ts
    and made it online but not able to see
    segment name by using
    select * from dba_rollback_segs
    Please help me
    Ragards
    Edited by: 174313 on Dec 1, 2008 3:19 PM

    You can start with the following links in 10g documentation.
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/mgmt_db.htm#sthref2230
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/logical.htm#CHDGJJEJ
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/logical.htm#CNCPT305

Maybe you are looking for

  • "Save to Adobe PDF" app

    Just upgraded my iMac at work to Mac OS X 10.6 Snow Leopard.... finally!!!! But still running CS4 with Acrobat 9 (v9.5.2) I edit master files using MS Word that are saved on my local server. I distribute those files as PDFs saved to another server. W

  • How do you remove something ( Eg. an app) off of iCloud?

    How do you remove something ( Eg. an app) off of iCloud?

  • Junk Mail from a specific individual making me insane....how can I block it

    I'm getting junk mail from a friend of a friend, and I mark his messages as junk EVERY TIME I GET ONE. Yet, somehow, alas, every message from him gets through to my inbox. How can this (and a homicide) be prevented? If you mark a message "Junk" why i

  • Web Elements 2.0 Pass Thru HTML

    <font size="2"><font size="2"><p>Hello, </p><p>I am reading the Web Elements 2.0 doc from the ZIP file on the Diamond site and it says you need to enable pass thru html on the BO Enterprise Server.</p><p>Are they referring to the Internet Server here

  • Adding event deletes calendar

    I have three calendars called Scripts (has repeating events that run scripts), Special and Reminders. I created these a few weeks ago. I just tried to add a repeating event to the Reminders calendar. I tried two different ways: With all calendars sho