how to repair undo log corruption _ square dba - oracle dba talk

Upload: chi-le

Post on 14-Apr-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/30/2019 How to Repair UNDO Log Corruption _ Square DBA - Oracle DBA Talk

    1/4

    Square DBA Oracle DBA Talk

    Home

    About

    Oracle Sites

    RSS

    How To Repair UNDO log corruption

    May 18th, 2009 Posted in Oracle How-To

    Today I had a corrupted segment in my UNDO tablespace. While I have had datafile corruption before I have not seen

    UNDO segment corruption. This fix could have been a more drastic, but as it was it ended up being pretty easy.

    I first found out there was a problem when one of my databases emailed me that ORA-01034: ORACLE not available ,

    ORA-27101: shared memory realm does not exist. Well that is never good. I logged into the server and sure enough the

    database was down. I logged into SQLPlus and started the database backup. Everything start fine so I went to look for thecause. The first place I went look is the alert log. As I expected I saw errors like this one.

    ORA-00600: internal error code, arguments: [kdourp_inorder2], [44], [0], [48], [44], [], [], []

    No DBA ever likes to see ORA-00600. Its too generic tell exactly what is going on and generally means something

    simple broke or something is terribly wrong. Now that the database was backup I started to tail the alert log and noticed

    more ORA 600 errors, then followed by ORA-00474: SMON process terminated with error and PMON: terminating

    instance due to error 474. Ouch database crashed again. It was time to really dig into the issue.

    Continuing to review the alert log I went back to the earliest point where the ORA-00600 errors started and found these

    errors scattered in the alert log.

    ORA-00600: internal error code, arguments: [kdourp_inorder2],

    [44], [0], [48], [44], [], [], []

    ORA-08007: Further changes to this block by this transaction

    not allowed

    Doing block recovery for file 21 block 456408

    SMON: Parallel transaction recovery slave got internal error

    SMON: Downgrading transaction recovery to serial

    It looked like I had corruption somewhere. So using this SQL I was able to determine where my issue was:

    select

    segment_name,

    status

    To Repair UNDO log corruption | Square DBA - Oracle DBA Talk http://www.squaredba.com/how-to-repair-undo-log-corruption

    3/28/2013

  • 7/30/2019 How to Repair UNDO Log Corruption _ Square DBA - Oracle DBA Talk

    2/4

    from

    dba_rollback_segs

    where

    tablespace_name='undotbs_corrupt'

    and

    status = NEEDS RECOVERY;

    My UNDO table space has the corruption. Because I was able to open my database things were looking pretty good. Is I

    had pending transaction in my UNDO table space things would have been a bit more tricky. My action pla was to get a

    second UNDO table space up as quickly as possible and take offline the current UNDO tablespace. This will stop the

    database from crashing.

    I created the tablespace with this SQL

    create undo tablespace undotbs2 datafile

    /u02/oracle/oradata/test/undotbs2.dbf size 500m;

    Alter the database to use the new UNDO tablespace.

    alter system set undo_tablespace=undotbs2 scope=both;

    Then take the original UNDO tablespace offline

    alter tablespace undotbs1 offline;

    Next drop the corrupted segment.

    drop rollback segment "_SYSSMU22$";

    Then finally drop the old UNDO tablespace

    alter tablespace undotbs1 offline;

    Tags: ORA-00474, ORA-00600, ORA-01034, ORA-08007, ORA-27101, Rollback, undo

    This entry was posted on Monday, May 18th, 2009 at 11:33 pm and is filed under Oracle How-To. You can follow any responses to this entry through

    the RSS 2.0 feed. You can leave a response, or trackbackfrom your own site.

    Leave a Reply

    Name (required)

    Mail (will not be published) (required)

    Website

    Looking to replace FCSvr?Cantemo Portal is the ideal replacement for Final Cut Server

    www.cantemo.com

    To Repair UNDO log corruption | Square DBA - Oracle DBA Talk http://www.squaredba.com/how-to-repair-undo-log-corruption

    3/28/2013

  • 7/30/2019 How to Repair UNDO Log Corruption _ Square DBA - Oracle DBA Talk

    3/4

    Follow Square DBA

    Advertisement

    Categories

    DBA Thoughts

    Oracle Articles

    Oracle How-To

    Oracle News

    Oracle Tip

    Site News

    Uncategorized

    Recent Posts

    ORA-01031 when trying to alter user XS$NULL

    instance_groups and parallel_instance_group

    Find all objects in a tablespace

    Move and partitioned index to a new tablespace

    Change a tables default tablespace

    Tags

    3PAR10g11Gagentcarriage returndatabase linksdata warehouseext3filesystemforumsfunctionsgrid controlindexiphoneJFSkill sessionlinuxmoving datanfsobjectsOEMoracleOracle Enterprise ManagerotnPartitioned Tables

    RACRECYCLEBINregexReiserReiserFSRMANRollbacksecurityshrinksqlplusstoragesuntablespaceTO_CHARundoupgradewikiWindowswordpressXFS

    About me

    Visit Oracle Community

    RSS

    Entries (RSS)

    Comments (RSS)

    Powered by WordPress | Sacramento Photography | Sacramento News - 27 queries. 1.082 seconds.

    To Repair UNDO log corruption | Square DBA - Oracle DBA Talk http://www.squaredba.com/how-to-repair-undo-log-corruption

    3/28/2013

  • 7/30/2019 How to Repair UNDO Log Corruption _ Square DBA - Oracle DBA Talk

    4/4

    To Repair UNDO log corruption | Square DBA - Oracle DBA Talk http://www.squaredba.com/how-to-repair-undo-log-corruption

    3/28/2013