Rollback segments - database logging

Got a problem...
We are trying to move data from one database to another using: INSERT INTO table1 (SELECT a,b,c FROM table2@db2). The problem we are having is that the amount of data being moved with this in sert command is too great - we are getting an error indicating that our rollback segment is not large enough - ORA-01562: failed to extend rollback segment number 4.
Unfortunately, we are not going to be able to increase the size of the rollback segment any further than we already have. Is there a way to disable the database logging that occurs?
I tried using INSERT INTO table1 dbms_disable_logging (SELECT a,b,c FROM table2@db2), but noticed no difference - same error.
Any ideas?
Thank you,
Dan

We use select..into all the time in an unlogged mode for speed and rollback space reasons.
We replicate fifty million row tables with a minimal amount of rollback segment (<50MB).
In unlogged mode we can replicate 50 million rows in under forty minutes - that's smokin!
Oracle version 8 or greater introduced this concept. I am running 8.1.6.
You need to alter the table to disable logging and then perform the select into.
The table alter only takes seconds.
ALTER TABLE IDMDBO.DIM_PLANS NOLOGGING
Then do the select into and then turn logging back on (if so desired).
You can also disable logging at the table space level.
Keep in mind there are only a few database operations that can be performed unlogged and select..into is one of them.
There is currently no way to carte blanche disable transaction logging - hopefully this will be coming soon!
Cheers.
- Brendan Sullivan
null

Similar Messages

  • R0 Rollback Segment in Import of 10gR2 into 11gR2 Database

    I have a new install of Oracle Database Server Enterprise Edition 11.2.0.3.6 on AIX 7.1.
    I used the DBCA to create two databases and used export datapump and import datapump to upgrade two 10gR2 database to 11gR2.
    One of the import logs includes the following messages:
    Processing object type DATABASE_EXPORT/ROLLBACK_SEGMENT
    ORA-39083: Object type ROLLBACK_SEGMENT failed to create with error:
    ORA-02221: invalid MAXEXTENTS storage option value
    Failing sql is:
    CREATE ROLLBACK SEGMENT "R0" TABLESPACE "SYSTEM" STORAGE(INITIAL 131072 NEXT 131072 MINEXTENTS 2 MAXEXTENTS 2147483645)
    I verified that the source database has R0 with maxextents of 2147483645.
    I can copy and modify the CREATE ROLLBACK statement and lower the value assigned to MAXEXTENTS, or use MAXEXTENTS UNLIMITED, then run the command in the target database.
    In light of the fact that the DBCA did not create R0 in my two 11gR2 databases, I want to know if I still need to create R0 in the one that showed the error in the import log. Has anyone else noticed the disappearance of R0?
    Here are the rollback segments that exist in the 11gR2 database at this time:
    SQL> Select SEGMENT_NAME, OWNER, TABLESPACE_NAME, INITIAL_EXTENT, NEXT_EXTENT, MIN_EXTENTS, MAX_EXTENTS, PCT_INCREASE, STATUS
    from SYS.DBA_ROLLBACK_SEGS;
    SEGMENT_NAME OWNER TABLESPACE_NAME INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS PCT_INCREASE STATUS
    SYSTEM                         SYS       SYSTEM     114688 57344 1 32765 ONLINE
    _SYSSMU1_3638931391$ PUBLIC UNDOTBS1 131072 65536 2 32765 ONLINE
    _SYSSMU2_3033359625$ PUBLIC UNDOTBS1 131072 65536 2 32765 ONLINE
    _SYSSMU3_2670780772$ PUBLIC UNDOTBS1 131072 65536 2 32765 ONLINE
    _SYSSMU4_286801445$ PUBLIC UNDOTBS1 131072 65536 2 32765 ONLINE
    _SYSSMU5_1738828719$ PUBLIC UNDOTBS1 131072 65536 2 32765 ONLINE
    _SYSSMU6_3548494004$ PUBLIC UNDOTBS1 131072 65536 2 32765 ONLINE
    _SYSSMU7_700714424$ PUBLIC UNDOTBS1 131072 65536 2 32765 ONLINE
    _SYSSMU8_2755301871$ PUBLIC UNDOTBS1 131072 65536 2 32765 ONLINE
    _SYSSMU9_2087597455$ PUBLIC UNDOTBS1 131072 65536 2 32765 ONLINE
    _SYSSMU10_3267518184$ PUBLIC UNDOTBS1 131072 65536 2 32765 ONLINE
    11 rows selected.
    Thanks,
    Bill

    Srini,
    Both the 10gR2 and 11gR2 versions of the database are using automatic undo management.
    Connected to:
    Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - 64bit Production
    With the Partitioning, OLAP and Data Mining options
    SQL> show parameter undo
    NAME TYPE VALUE
    _undo_autotune boolean TRUE
    undo_management string AUTO
    undo_retention integer 14400
    undo_tablespace string UNDOTBS1
    SQL>
    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    SQL> show parameter undo
    NAME TYPE VALUE
    undo_management string AUTO
    undo_retention integer 14400
    undo_tablespace string UNDOTBS1
    SQL>
    Do you know anything about Oracle no longer automatically creating R0 in 11gR2?
    Thanks,
    Bill

  • How to online datafile of rollback segment of NO archive log available

    I set offline datafile of rool back segement and rename it
    but when I try to online , get error to recover
    I try to recover but unfortunately all archive log was deleted ( kind of cron job in unix aotu delete these file)
    Pls advice how can I set this data file online without the archive log ( while databse still up and running) Oracle version is 8i not possible to drop datafile by sql.
    in roll back segment I have 3 data files as below and the rb04.dbf is offline
    usr/Systems/1354RM_1_7.1_Master/databases/dbsnml/data/rbs01.dbf
    /usr/Systems/1354RM_1_7.1_Master/databases/dbsnml/data/rbs03.dbf
    /usr/Systems/1354RM_1_7.1_Master/databases/dbsnml/data/rbs04.dbf
    sequence of what I did is below:
    SQL> alter database datafile '/usr/Systems/1354RM_1/databases/dbsnml/data/rbs04.dbf' offline;
    Database altered.
    SQL> alter tablespace RBS rename datafile '/usr/Systems/1354RM_1/databases/dbsnml/data/rbs04.dbf' to '/usr/Systems/1354RM_1_7.1_Master/databases/dbsnml/data/rbs04.dbf';
    Tablespace altered.
    SQL> alter database datafile '/usr/Systems/1354RM_1_7.1_Master/databases/dbsnml/data/rbs04.dbf' online;
    alter database datafile '/usr/Systems/1354RM_1_7.1_Master/databases/dbsnml/data/rbs04.dbf' online
    ERROR at line 1:
    ORA-01113: file 13 needs media recovery
    ORA-01110: data file 13:
    '/usr/Systems/1354RM_1_7.1_Master/databases/dbsnml/data/rbs04.dbf'
    SQL> recover datafile '/usr/Systems/1354RM_1_7.1_Master/databases/dbsnml/data/rbs04.dbf';
    ORA-00279: change 71449081 generated at 12/23/2008 20:18:05 needed for thread 1
    ORA-00289: suggestion :
    /usr/Systems/1354RM_1_7.1_Master/OSRES/data/warm_repl/WarmArchive/arch_1_455922.
    arc
    ORA-00280: change 71449081 for thread 1 is in sequence #455922
    Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
    ORA-00308: cannot open archived log
    '/usr/Systems/1354RM_1_7.1_Master/OSRES/data/warm_repl/WarmArchive/arch_1_455922
    .arc'
    ORA-27037: unable to obtain file status
    HP-UX Error: 2: No such file or directory
    Additional information: 3

    SQL> alter tablespace RBS rename datafile '/usr/Systems/1354RM_1/databases/dbsnml/data/rbs04.dbf' to '/usr/Systems/1354RM_1_7.1_Master/databases/dbsnml/data/rbs04.dbf';Did you rename the file at OS level after you issued above command? Oracle will not rename the file at OS level.
    Other than that, if you plan to change rollback segment tablespace, better create a new one and create new rollback segment in new tablespace and drop the old one.

  • Rollback segment is filling up during creation of the database

    Hi
    The Rollback segment is showing around 520mb immediately after
    creation of the database after following the wizard provided in
    the enterprise manager of oracle. What might be the reason. How
    to reduce it. Could any one give me a solution for this matter.
    Thanks in Advance.

    I tried creating the password file using the following command:
    orapwd file=/home/oracle/product/9.2.0/dbs/orapwHR.ora
    password=HR entries=5
    and got the same error:
    ORA-01501 Create Database failed.
    ORA-01990 -ERROR opening password file '/home/oracle/product/9.2.0/dbs/orapw'
    ORA-27037 Unable to obtain file status.
    Linux error: 2: No such file or directory.
    Additional information: 3.
    Does anybody know how to fix this problem?
    Thanks,
    Katya

  • System Error:Database access error,rollback segment number with name "" too small

    Hi Experts,
    In SXMB_MONI  XML messages for File2File scenario are failing
    with the below message:
    Database access error
    com.sap.aii.utilxi.misc.api.ResourceException: ORA-01555: snapshot too
    old: rollback segment number with name "" too small ORA-22924: snapshot
    too old at com.sap.aii.utilxi.blob.api.AIIBlob.getByteArray
    (AIIBlob.java:85) at
    com.sap.aii.utilxi.blob.api.AIIBlobImpl.getByteArray
    (BlobServices.java:156)
    I have refered this link http://scn.sap.com/thread/3147106
    Kindly suggest,
    Gagan.

    This may be due memory issue on the server. refer the note/thread as
    http://scn.sap.com/thread/3456694
    3807  - Error messages regarding rollback and undo segments
    Regards
    Ramg

  • How to make rollback segments online on database startup?

    I create some rollback segments in users tablespace, but how can I auto make these rollback segment online on database startup?
    thanks!!

    Add the name of the rollback segments to rollback_segments parameter in the init.ora file.
    edwin

  • 질문-Redo LOG 와 RollBack Segment 와의 상관관계에 대해서

    Redo LOG 와 RollBack Segment 와의 상관관계 및 기능에 대해서 정확하게 알고 싶은데여?

    저도 이부분에 대해서 한참 고민을 해봤고..
    작년인가에.. 미국 오라클 본사에 있는 아는 분하고..
    한국 오라클에서 십여년간 일하신 분에게도 여쭈어 보았는데..;;;
    오라클은 SCN기반이고, redo log 와 rollback segment가 모두
    scn기반으로 움직인다는 것의 상관관계를 빼고는 전혀 두개는
    서로 연관성이 없다고 합니다.
    redo log는 DB가 비정상종료되었을 경우에, commit을 했으나
    데이터파일에 적용하지 못한 데이터에 대해서 rollforward를 수행하고,
    또한 DB에 대한 변경사항대해서 저장만 하는 기능을 할 뿐 redo를
    가지고 rollback을 하지는 않습니다. 즉 redo는 말 그대로 REDO
    다시쓰기(재실행) 이지요. commit했으나 데이터파일에 쓰지 않은 데이터를
    다시쓰기(재실행)하는 기능입니다.
    그렇다면.. rollback segment는 commit하지 않은 데이터에 대해서
    rollback을 하는 기능을 가집니다. rollforward와는 전혀 관계가
    없겠죠..
    이 두가지 작용을 통해서 DB에서 트랜잭션의 rollforward, rollback을
    수행하나 그것은 SCN을 기반으로 작동 될 뿐 서로 어떤 연관성은
    가지고 있지 않다고 합니다.
    글 수정:
    민천사 (민연홍)
    그렇다면 대량 트랜잭션이 일어나고 redo log에 write하는 데이터와
    undo에 쓰는 데이터는 관련성이 없을까요? 이 때 redo log는 트랜잭션에
    대한 복구를 위한 로그를 남기는 역할 일 뿐이지 undo와 관련성을
    가지지 않습니다. 관련성을 따지자면 "redo는 undo로 복제되는 실 데이터(변경전 데이터)에
    대해서 복구로그를 쌓는다"는 것이됩니다. 차후에 트랜잭션 rollback
    은 redo를 참조하는 것이 아니라 undo만을 참조하고, rollback하는
    과정의 로그를 redo에 기록하는 것일 뿐입니다.

  • Cleanup log running transactions ..rollback segments

    Is there any metric in OEM which does the following...
    Am trying to read the document and find the metric which does the following ..not having much luck...
    #* Description : Process to monitor and notify DBA about any in-doubt
    #* transaction which is holding ROLLBACK Segment and
    #* troubling system resources for longer time.
    Thank you

    Below are more details on what it does...trying to find if any metric in OEM does this...thank you
    $sql_text  = "select c.USN  ";
       $sql_text .= ",d.name       ";
       $sql_text .= ",c.EXTENTS , ";
       $sql_text .= "a.username , a.osuser , a.sid , a.process, a.status  ";
       $sql_text .= ",b.start_time ";
       $sql_text .= ",b.status trans_stat, b.used_ublk*value as Bytes_Used ";
       $sql_text .= ",b.used_urec  as Records_used          ";
       $sql_text .= ",start_uext   as First_Extent          ";
       $sql_text .= ",a.MACHINE           ";
       $sql_text .= ",a.TERMINAL        ";
       $sql_text .= ",a.PROGRAM     ";
       $sql_text .= "from v\$session     a,                        ";
       $sql_text .= "     v\$transaction b,                        ";
       $sql_text .= "     v\$rollname    d,                        ";
       $sql_text .= "     (select value from v\$parameter          ";
       $sql_text .= "          where name = 'db_block_size' )  e , ";
       $sql_text .= "     v\$rollstat    c ,                       ";
       $sql_text .= "     dba_rollback_segs f                      ";
       $sql_text .= "where b.ses_addr = a.saddr (+)                ";
       $sql_text .= " and c.usn      = b.xidusn (+)                ";
       $sql_text .= " and d.usn      = c.usn                       ";
       $sql_text .= " and f.segment_id = c.usn                     ";
       $sql_text .= " and a.status     = 'INACTIVE'                ";
       $sql_text .= " and b.used_urec <=${rec_used}                ";
       $sql_text .= " and (round((sysdate - to_date(start_time,'mm/dd/yy HH24:mi:ss'))*1440)) >= ${time_interval} ";
       $sql_text .= " and a.username  <>  'DMIRROR'  

  • Is "SET TRANSACTION USE ROLLBACK SEGMENT" only a hint

    I have two users, one makes some inserts in a table.
    The other makes a select which visits many rows.
    I have a big rollback-segment.
    To ensure, both users use this rollback-segment I created a logon-trigger:
    CREATE OR REPLACE TRIGGER a_logon AFTER LOGON
    ON DATABASE
    WHEN ( USER IN ( 'SCOTT', 'BOB' ) )
    BEGIN
    SET TRANSACTION USE ROLLBACK SEGMENT rbs_big;
    END;
    But I still get "snapshot to old" messages from the select, which contains the name off an other rollback-segment in the message.
    The trigger really fires, i tested it by adding an insert-statement to a log-table.
    What`s wrong ?

    The set transaction use rollback segment lasts only until you commit or rollback first time and all other transactions in that session will not be forced to that rbs anymore. Other possible solution could be that other users are accessing same tables / updating them so those sessions can't keep the read consistent image available anymore for your sessions.

  • Illegal rollback Segment operation in Automatic Undo mode

    Hi,
    I use oracle database 9.2.0.1 and I try to install SCM repository but when I run ckcreate I saw an error message in
    the log file that Illegal rollback Segment operation in Automatic Undo mode because oracle 9.2 use automatic undo mode .So how can i install the repository.
    Ghassan Hallaq

    ORA-30019: Illegal rollback Segment operation in Automatic Undo mode
    You have hit bug '2108361'. I think you could safely ignore it in your case.

  • Datafile containing rollback segment crashed

    Hi,
    In one of our production box (oracle 8.1.7.4 and HP UX), datafile containing rollback segment crashed. To open the database, i commented rollback segment line in init file and started the db and brought the crashed datafile to offline for dropping as
    alter database datafile '/db10/rollback/rbs01.dbf' offline drop;
    and then tried to drop the tablespace containing that datafile but it threw an error saying an active rollback segment R0 is still there in the tablespace. I donot know how to drop this and create new rollback segments. Any help would be greatly appreciated.
    Thanks
    Guna

    Hi,
    Serious case. In case of a failure the instance recovery is automatic but the rollback segments are needed. Having the database open does not mean everything is OK. Just read that :
    Crash or instance recovery consists of the following steps:
    +# Rolling forward to recover data that has not been recorded in the datafiles, yet has been recorded in the online redo log, including the contents of rollback segments. This is called cache recovery.+
    +# Opening the database. Instead of waiting for all transactions to be rolled back before making the database available, Oracle allows the database to be opened as soon as cache recovery is complete. Any data that is not locked by unrecovered transactions is immediately available.+
    +# Marking all transactions system-wide that were active at the time of failure as DEAD and marking the rollback segments containing these transactions as PARTLY AVAILABLE.+
    +# Rolling back dead transactions as part of SMON recovery. This is called transaction recovery.+
    +# Resolving any pending distributed transactions undergoing a two-phase commit at the time of the instance failure.+
    +# As new transactions encounter rows locked by dead transactions, they can automatically roll back the dead transaction to release the locks. If you are using Fast-Start Recovery, just the data block is immediately rolled back, as opposed to the entire transaction.+
    What did you do exactly after the crash ? Can you post commands/output + last 50-100 lines of your alert.log ?
    Best regards
    Phil

  • ROLLBACK SEGMENTS OPERATION

    Hello Everyone
    This is the first time I am a forum member and I'm figuring out how it works because I have a very big problem
    Look, I'm a support engineer and, as you know, the code of the application is not own by me.
    Three weeks ago I received a report which is related with the Rollback operation.
    There's a process which delete old data from my database and, normally, this process has three parts, as shown in the alert_dbinstance.log:
    Wed May 17 03:00:08 2000
    alter ROLLBACK SEGMENT CLEANUP_RS0 ONLINE
    Wed May 17 03:00:08 2000
    Completed: alter ROLLBACK SEGMENT CLEANUP_RS0 ONLINE
    Wed May 17 04:52:25 2000
    alter ROLLBACK SEGMENT CLEANUP_RS0 SHRINK
    Wed May 17 04:52:26 2000
    Completed: alter ROLLBACK SEGMENT CLEANUP_RS0 SHRINK
    Wed May 17 04:52:26 2000
    alter ROLLBACK SEGMENT CLEANUP_RS0 OFFLINE
    Completed: alter ROLLBACK SEGMENT CLEANUP_RS0 OFFLINE
    But, one day, the server crashed and this process didn't finish:
    Sat May 20 03:00:03 2000
    alter ROLLBACK SEGMENT CLEANUP_RS0 ONLINE
    Sat May 20 03:00:03 2000
    Completed: alter ROLLBACK SEGMENT CLEANUP_RS0 ONLINE
    Sat May 20 04:39:09 2000
    the next messages about this process are these:
    Sun May 21 03:00:04 2000
    alter ROLLBACK SEGMENT CLEANUP_RS0 ONLINE
    Sun May 21 03:00:04 2000
    ORA-1636 signalled during: alter ROLLBACK SEGMENT CLEANUP_RS0 ONLINE...
    Sun May 21 03:10:10 2000
    Thread 1 advanced to log sequence 303
    Current log# 1 seq# 303 mem# 0: /usr/users/fraude/dblinks/redo_db/dbfraude_log0.dbf
    Sun May 21 03:11:48 2000
    alter ROLLBACK SEGMENT CLEANUP_RS0 SHRINK
    Sun May 21 03:11:49 2000
    Completed: alter ROLLBACK SEGMENT CLEANUP_RS0 SHRINK
    Sun May 21 03:11:49 2000
    alter ROLLBACK SEGMENT CLEANUP_RS0 OFFLINE
    Completed: alter ROLLBACK SEGMENT CLEANUP_RS0 OFFLINE
    Since this day, the delete process sends this message:
    --- Fault (4) Notify (3) : 2000-06-01 03:00:01 ---
    Message (400020): Database Operation Failed
    Partition: 0
    Module (13000): Daily Cleanup
    Description: ORA-00955: name is already used by an existing object
    My question here is : Is there a way, using oracle, to identify this object? Can I find the objects with a failure register in a table? in a log file?
    thanks for your comments and your efforts. I'll be very thankful.
    null

    It seems you should look here:
    ORA-1636 signalled during: alter ROLLBACK SEGMENT CLEANUP_RS0 ONLINE...
    Looks like you have ORA-01636 error:
    rollback segment 'string' is already online
    I suggest you check Oracle documentation about this error. Seems to me your process try to access rollback segment that is already in use.
    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by German Garcia Ibarra ([email protected]):
    [b]Hello Everyone
    This is the first time I am a forum member and I'm figuring out how it works because I have a very big problem
    Look, I'm a support engineer and, as you know, the code of the application is not own by me.
    Three weeks ago I received a report which is related with the Rollback operation.
    There's a process which delete old data from my database and, normally, this process has three parts, as shown in the alert_dbinstance.log:
    Wed May 17 03:00:08 2000
    alter ROLLBACK SEGMENT CLEANUP_RS0 ONLINE
    Wed May 17 03:00:08 2000
    Completed: alter ROLLBACK SEGMENT CLEANUP_RS0 ONLINE
    Wed May 17 04:52:25 2000
    alter ROLLBACK SEGMENT CLEANUP_RS0 SHRINK
    Wed May 17 04:52:26 2000
    Completed: alter ROLLBACK SEGMENT CLEANUP_RS0 SHRINK
    Wed May 17 04:52:26 2000
    alter ROLLBACK SEGMENT CLEANUP_RS0 OFFLINE
    Completed: alter ROLLBACK SEGMENT CLEANUP_RS0 OFFLINE
    But, one day, the server crashed and this process didn't finish:
    Sat May 20 03:00:03 2000
    alter ROLLBACK SEGMENT CLEANUP_RS0 ONLINE
    Sat May 20 03:00:03 2000
    Completed: alter ROLLBACK SEGMENT CLEANUP_RS0 ONLINE
    Sat May 20 04:39:09 2000
    the next messages about this process are these:
    Sun May 21 03:00:04 2000
    alter ROLLBACK SEGMENT CLEANUP_RS0 ONLINE
    Sun May 21 03:00:04 2000
    ORA-1636 signalled during: alter ROLLBACK SEGMENT CLEANUP_RS0 ONLINE...
    Sun May 21 03:10:10 2000
    Thread 1 advanced to log sequence 303
    Current log# 1 seq# 303 mem# 0: /usr/users/fraude/dblinks/redo_db/dbfraude_log0.dbf
    Sun May 21 03:11:48 2000
    alter ROLLBACK SEGMENT CLEANUP_RS0 SHRINK
    Sun May 21 03:11:49 2000
    Completed: alter ROLLBACK SEGMENT CLEANUP_RS0 SHRINK
    Sun May 21 03:11:49 2000
    alter ROLLBACK SEGMENT CLEANUP_RS0 OFFLINE
    Completed: alter ROLLBACK SEGMENT CLEANUP_RS0 OFFLINE
    Since this day, the delete process sends this message:
    --- Fault (4) Notify (3) : 2000-06-01 03:00:01 ---
    Message (400020): Database Operation Failed
    Partition: 0
    Module (13000): Daily Cleanup
    Description: ORA-00955: name is already used by an existing object
    My question here is : Is there a way, using oracle, to identify this object? Can I find the objects with a failure register in a table? in a log file?
    thanks for your comments and your efforts. I'll be very thankful.
    <HR></BLOCKQUOTE>
    null

  • DAL Exception: ORA-01562: failed to extend rollback segment number 4

    Hi,
    in our application log, we got sometimes an error ORA-01562: failed to extend rollback segment number 4 and the application hangs and some transactions are blocked. checking the aler database file, we don't found this error but it's appearing often in our system.
    would you lease advise what to do to avaoid this error, or is there a script to find oracle SQl where using too much rollback segment.
    My configuration is : Oracle 10g r2 in linux SUSE.
    thank you
    Lucienot.

    Hi,
    Please refer MOS tech note *ORA-1562 and ORA-1650 Unable to Extend Rollback Segment [ID 1066542.6]*
    thanks,
    X A H E E R

  • Want to decrease size for ROLLBACK Segments

    my database is oracle8i. Previous DBA increased rollback size to 18GB. i need space on my unix box.
    i want to reduce size of rollback segment and utilized this space for other purpose.
    This is my stats
    Tablespace Name FILE_NAME SIZE IN MB
    ROLLBACK /u01/rbsdata/rbs01.dbf 5000
    ROLLBACK /u01/rbsdata/rbs02.dbf 5000
    ROLLBACK /u01/rbsdata/rbs03.dbf 6000
    There are 12 rollback segments allocated to him
    SEGMENT_NAME FILE_NAME SIZE
    rbs0 /u01/rbsdata/rbs01.dbf 5000
    rbs12 /u01/rbsdata/rbs01.dbf 5000
    Now Could any one suggest to reduxe size with best performing and not affected my production database.
    Thanks
    Chetan

    Hi Chetan,
    You can adapt the following script as per your needs. It will search for all rollback segments other than 'SYSTEM' and construct the sql order to reduce the size of each rollback segment.
    connect user/*******@test
    SET SERVEROUTPUT ON size 50000
    SET HEAD OFF FEEDBACK OFF VERIFY OFF
    SPOOL D:\shrink.sql
    BEGIN
         -- RBS to be shrinked
         FOR toto IN (select Segment_Name from DBA_SEGMENTS
    where Segment_Type = 'ROLLBACK'
    and segment_name not in 'SYSTEM')
         LOOP
              DBMS_OUTPUT.PUT_LINE('alter rollback segment '||toto.Segment_Name||' '||'shrink to 60M;');
         END LOOP;
    END;
    SPOOL OFF
    SET HEAD ON FEEDBACK ON VERIFY ON
    spool d:\shrink.log
    select to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss') "Shrinked" from dual;
    @D:\shrink.sql
    spool off
    Exit
    R.Tirou

  • SYSTEM Rollback Segment bad

    I ported a database over to a new server.
    It seems there may be transactions pending...which I don't care about.
    I can log as SYS and run queries, but I cannot run DML or DDL statements.
    I have narrowed down the problem to the SYSTEM rollback segment.
    I am running in Automatic Undo mode.
    How do I clear transactions from a rollback segment?
    I don't think I can alter or create a new SYSTEM rollback segment.

    There is no error message.
    When I issue any DML/DDL statement Oracle just hangs forever...and never issues an error message.
    Here is the latest printout from the alert.log file:
    Tue Jul 11 14:33:03 2006
    LGWR: Primary database is in CLUSTER CONSISTENT mode
    Tue Jul 11 14:33:03 2006
    ARCH: Evaluating archive log 3 thread 1 sequence 14697
    ARCH: Beginning to archive log 3 thread 1 sequence 14697
    Creating archive destination LOG_ARCHIVE_DEST_1: 'D:\ORA92\RDBMS\ARC14697.001'
    ARCH: Completed archiving log 3 thread 1 sequence 14697
    Tue Jul 11 14:33:05 2006
    LGWR: Primary database is in CLUSTER CONSISTENT mode
    Thread 1 advanced to log sequence 14700
    Thread 1 opened at log sequence 14700
    Current log# 3 seq# 14700 mem# 0: D:\ORADATA\9.2\ICDB\LOG\LOG3A.ORA
    Successful open of redo thread 1
    Tue Jul 11 14:33:06 2006
    SMON: enabling cache recovery
    Tue Jul 11 14:33:06 2006
    Successfully onlined Undo Tablespace 1.
    Tue Jul 11 14:33:06 2006
    SMON: enabling tx recovery
    Tue Jul 11 14:33:06 2006
    Database Characterset is WE8MSWIN1252
    replication_dependency_tracking turned off (no async multimaster replication found)
    Completed: alter database open
    Tue Jul 11 14:33:53 2006
    SMON: Parallel transaction recovery tried
    Tue Jul 11 14:34:45 2006
    create rollback segment system
    tablespace system
    storage (
    initial 112K
    minextents 1
    maxextents 1
    Tue Jul 11 14:34:45 2006
    ORA-1535 signalled during: create rollback segment system
    tablespace system
    s...
    Tue Jul 11 14:35:02 2006
    Thread 1 cannot allocate new log, sequence 14701
    All online logs needed archiving
    Current log# 3 seq# 14700 mem# 0: D:\ORADATA\9.2\ICDB\LOG\LOG3A.ORA
    Tue Jul 11 14:35:12 2006
    drop rollback segment system
    Tue Jul 11 14:35:12 2006
    ORA-1544 signalled during: drop rollback segment system...
    Tue Jul 11 14:41:33 2006
    alter rollback segment system offline
    Tue Jul 11 14:41:33 2006
    ORA-30019 signalled during: alter rollback segment system offline...

Maybe you are looking for