Why do 2 diff. undo tablespace required in RAC

Hi -
1 - I can understand that we do require 2 diff. log files as 2 process can not write on the same redo log files.
But I could not understand the logic of using 2 diff. undo tablespaces, when tablespaces can be in shared mode.
They what is the reason of using 2, why can we not have only one undo tablespace in RAC.
2 - Is there any way to check if one particular instance is running under RAC, Can this be confirmed if instance
has got extra process like Lms Lmd ...
your help would be appreciated and apologies for my poor english.
Regards,
Lyxx

Each instance needs its own rollback segments to manage read consistency.
When you set undo_tablespace=UNDOTBS, you tell the instance to self manage the tablespace UNDOTBS and do dynamic creation of rollback segments.
This management of undo tablespaces is not "instance shareable". That's why you need 2 undo tablespace (for a 2 node RAC).
If it's a problem for your environment (don't know why), you can create a single "rollback tablespace" and manage yourself the rollback segments.
Christophe
Edited by: willier on 11 sept. 2008 02:44

Similar Messages

  • Find undo tablespace  assignment in RAC

    Hi Experts,
    We have 6 nodes 10GR2 rac database. It seems that does not assign each instance order with undo tbs.
    How can I find each instance assigned undo tablespace?
    Thanks very much!
    JIm

    Handle:      user589812
    Status Level:      Newbie
    Registered:      Aug 13, 2007
    Total Posts:      829
    Total Questions:      366 (338 unresolved)
    so many questions & so few answers.
    also Do i have a way to drop a datafile in undo tablesapce?UNDO is no different than any other tablespace.

  • Shrinking undo Tablespace

    Shrinking undo Tablespace
    What is the preferred why to shrink the UNDO Tablespace ?
    1.     To create new UNDO TBS , order the DB to work whit it , and drop the oldest.
    2.     To shrink (resize) the exists one .

    Sagi wrote:
    Shrinking undo Tablespace
    What is the preferred why to shrink the UNDO Tablespace ?
    1.     To create new UNDO TBS , order the DB to work whit it , and drop the oldest.
    2.     To shrink (resize) the exists one .The first one would be a better approach as there may be users who are still using the old tablespace. So for all of them, you would see a Pending Offline status. Once all teh segments release the old information stored in them, you can remove the tablespace. By trying to shrink the tablespace, you actually would be increasing the chances to get the 1555 error and also, this won't be happening as already there is a used space in teh datafile.
    HTH
    Aman....

  • Insert as select - why is it writing so much Undo tablespace data?

    Environment: Oracle 10g R2, Sun solaris, ASM
    I have table A with 92 million rows. Table B, which is identical to table A, has 5 million rows. Table A only has three index columns ( no composite indexes ) and the average row length is 109 bytes.
    I issued the command: insert into A select * from B; in order to append the rows from B to A. This command has been executing for over 4 hours. I've been watching the tablespace usage in EM and I can see the undo tablespace usage grow to over 9 GB's and the query is not finished. Meanwhile, the index tablespace has not grown at all. There is no other activity on this instance.
    I've performed similar inserts in the past and it hasn't taken nearly this long. According to my calculations, writing all of the 5 million rows to Undo would only require about half a gig. Also, we thought there might be a 'ghost' session or process that was causing problems earlier, so we shut everything down and rebooted the server. There is no other activity.
    Could anyone explain why it would write so much undo data? It's almost as if Oracle is making a copy of table A ( 92 million rows ) first.
    Thanks,
    BAH

    Thanks, based on the information from the last two posts, maybe it's starting to make sense. Here is the table ( the column names have been changed to protect the innocent...)
    TABLE A=
    col1 NUMBER not null,
    col2 NUMBER,
    col3 VARCHAR2(15),
    col4 NUMBER,
    col5 NUMBER,
    col6 FLOAT,
    col7 FLOAT,
    col8 FLOAT,
    col9 FLOAT,
    col10 FLOAT,
    col11 FLOAT,
    col12 FLOAT,
    col13 FLOAT,
    col14 NUMBER,
    col15 NUMBER,
    col16 NUMBER,
    col17 FLOAT,
    col18 FLOAT,
    col19 FLOAT,
    col20 NUMBER,
    col21 NUMBER,
    col22 FLOAT,
    col23 NUMBER(17,2),
    col24 NUMBER(17,2),
    col25 NUMBER(13,5),
    col26 NUMBER(13,5),
    col27 NUMBER(13,5),
    col28 NUMBER(13,5),
    col29 NUMBER(13,5),
    col30 VARCHAR2(1),
    col31 VARCHAR2(1),
    col32 VARCHAR2(1),
    col33 NUMBER
    pctfree 10
    initrans 1
    maxtrans 255
    storage
    initial 64K
    minextents 1
    maxextents unlimited
    Column 1 is indexed as the primary key. Columns 2 and 3 have separate indexes. I was not aware of the 'Append' hint - so thanks for that. In researching, I found that if you use the append hint, it places all the rows above the HWM. If not, it looks for places within the tablespace. So, based on the info in post #3, perhaps it is writing all of the used blocks out to undo that are being modified with the insert? My calculation was straight forward ( 109 bytes for row length * 5 million rows ). I knew there would be some overhead, but the undo ts is now over 13.3 GB.
    Thanks for the info.

  • Unable to shrink undo tablespace... Help!

    Hi,
    I have problems to shrink the system undo tablespace, which has grown up to 14 GB.
    I use 9.2. Table space owner is 'SYSTEM', undo_management = AUTO.
    I tried to shrink the greatest rollback segments by the commands
    ALTER SESSION SET UNDO_SUPPRESS_ERRORS = TRUE;
    ALTER ROLLBACK SEGMENT "_SYSSMU6$" SHRINK TO 20 M;
    Oracle confirmed these commands, but nothing happened.
    What am I doing wrong?
    Hermann Mueller

    You have seen the discussion about the undo segments, on the temporary tablespaces, you should be aware that the sort segment of a given temporary tablespace is created at the time the first sort operation takes place. The sort segment continues to grow by means of extent allocation until the segment size has reached the total storage demands of all of the active sorts running on the instance. Oracle will keep on allocating temporary space on demand unless the physical limit states otherwise.
    Temporary segments are produced each time a sort operation (explicit -order by- or implicit -aggregation, reindexing-) requires to sort a set that cannot fit into memory. So if you detect excesive sort usage you should aim your monitors towards the sort operations (reports, reindexing, max, min, aggregations, order by ...). If your system has a DDS behaviour, this kind of operations are frequent as a massive sorting has to be peformed against millions of rows.
    A Temporary tablespace will almost always appear to be near 100% full, that's because once oracle has allocated temporary space it doesn't release it back to the free space, it keeps it allocated even when the sort operation has finished. Criteria behind this fact is similar to the one oracle used to have when the rollback segments were in use, Oracle only allocated space and the dba should perform manual actions to release space, and the criteria is performance. Once it has allocated space this big, there are possibilities that the same circumstances that raised the temporary usage high water mark to this level are repeated, so if oracle keeps the mamimum allocated space, it won't have to allocate the same storage once more.
    Main concern with temporary tablespace growth is not free space itself, but the reasons why this amount of space was allocated, so I suggest you to track the sql statements with sort operations. If you are certain the circumstances that motivated this amount of temporary resources to be allocated won't be repeated again, then you could think of resizing down your temporary tablespace. I suggest you to create a new temporary tablespace with the desired size, and alter the default tempoary tablespace to point to this newly crated temporary tablespace, and finally get rid of the original temporary TS.
    ~ Madrid

  • Droping an undo tablespace ????????????????

    Hi Gurus,
    How to drop an undo tablespace in oracle 10.2.
    when i issue drop tablespace undo including contents
    it shows like "ORA-30013: undo tablespace 'UNDO' is currently in use"
    Pls help it out......
    Regards
    Rajesh

    The reason why you cannot drop this tablespace is because it has been declared as the undo tablesapace for the database by means of the UNDO_TABLESPACE instance parameter.
    You have to create a new undo tablespace and change the undo_tablespace instance parameter value to point to the new undo tablespace:
    ALTER SYSTEM SET UNDO_TABLESPACE=<N EW UNDO TS>;
    Afterwards you will have to wait for a while before you are able to drop the current tablespace if there are active transactions or if the information is still required to perform flashback queries (it depends on the UNDO_RETENTION instance parameter), so it is suggested to temporarily reduce this value so you can perform the switch to the new tablespace and you can get rid of the current tablespace.
    ~ Madrid
    http://hrivera99.blogspot.com/

  • UNDO Tablespace backup- RMAN

    Hi Team/champions,
    I am confused in RMAN full DB backup why UNDO tablespce is included even we include the archive logs also.
    in Short ?
    why UNDO tablespace backup is required while taking RMAN backup ?
    Regards,
    Shitesh Shukla

    if I dont want to include the UNDO tablespce in my backup
    what if I took only database files backup excluding TEMP n UNDONOT an option. You have to include UNDO. 11g has optimization for backing up an Undo tablespace.
    In 10gR2 what you could do is
    1. Create a New Undo Tablespace
    2. Switch to the new Undo Tablespace
    3. verify that the Old Undo Tablespace is no longer in use -- confirm that there are no active transactions in undo segments in it
    4. drop the old Undo tablespace
    5. Run your RMAN Backup
    You run the risks of
    a. Waiting a long time at step 3
    b. ORA-1555s for users after you drop the Undo tablespace in step 4.
    Hemant K Chitale
    http://hemantoracledba.blogspot.com

  • Partial Recovery - Skip UNDO Tablespace

    Hi,
    I was performing a partial database recovery using skip tablespace option using RMAN. I was wondering if I can skip undo tablespace.
    I was not able to conclude whether I can do that? If not, why?
    As per my understanding,
    1. Datafiles are restored - If they have any uncommited data, then archive logs which will be applied for media recovery, will have the undo data to perform those roll backward.
    2. While performing media reccovery using archive logs, it will generate it's own undo data.
    Why do we need the stale undo data (generated till datafiles restoration point)?
    Thanks,
    Janak Agrawal

    Soli,
    Thread that you have specified, talks about datafiles which does not have any uncommitted data (As the database was normally shutdown). In this case, we can drop and recreate the undo tablespace.
    But I am talking about a past point-in-time recovery using RMAN, where the datafiles which will be restored may have the uncommitted data. To rollback these uncommited trnasactions, will we have data in next archivelogs, which will be used for media recovery or the data (needed to rollback) will have only in undo tablespace. Let me give you an example.
    At 9 am I want to restore the datbase till 8.15 AM. Full backup is available till 8 AM and then from 8 to 8:15 arvhive logs are available. While doing recovery, datafiles will be restored till 8 AM. If at 8 AM there is some uncommitted data in datafiles, will it require data from undo tablespace to rollback or first archive log after 8 AM w'd take care of roll back? If archive logs can take care of rollback, why can't I skip the undo tablespace while doing recovery?
    Santosh,
    As you mentioned, UNDO data will require for read-consistency. But the same data will be available in archive logs (which will require after datafiles restore) which can generate their own UNDO data.
    Please clarify. I am sorry if I am missing anything here.
    Thanks,
    Janak Agrawal

  • Problem with UNDO tablespace

    Hi guys.
    Our database has 50GB of undo tablespace. I decided to create a second undo tablespace and switch to the new one. Since doing that yesterday, the size of the old undo is 49GB (was thinking that the values will drop to zero) and the new tablespace keeps increasing in size! Its size now is about 20GB. I do have the following question.
    a) If I restart the database, it the value of the old undo going to fall to zero?
    b) undo_retention=86400. Setting this value to a lesser value say 800seconds, it is going to act the performance of the database? Is it going to release the space on the old undo?
    Thanks and any help is appreciated.
    David

    The undo tablespace will not automatically shrink size, since you have a new undo tablespace in place. You can drop the old one if you don't plan to use it.
    Set lower undo_retention will certainly help to contain the undo space usage. However you should query v$undostat and v$rollstat to estimate the amount of undo space required for the current workload then size the undo tablespace accordingly. Turn off the auto extend on undo tablespace.

  • Drop Undo Tablespace taking more than 1 hr

    Hi,
    To give you background, I had given an "insert into .. select" command which was inserting 3 millions of rows of rowidth approx 5000 bytes. The window on which it was given, was closed by mistake.
    After sometime when I checked the size of undo_tablespace, it was 5.5GB. I decided to create a new one and drop the old undo_tbsp.
    I have successfully created new undo tablespace and changed the same in spfile also.
    now when i am dropping the old undo tablespace, its taking long time. its almost an hour, but the tablespace has not been dropped yet.
    I have given following command
    drop tablespace undotbs_01 including contents;
    Any idea, why is it taking so much time, and how long should I wait?
    If someone can give me any other idea on how can I drop the tablespace, that will be great.
    Regards,
    Archana.

    To give you background, I had given an "insert into .. select" command which was inserting 3 millions of rows of rowidth approx 5000 bytes. The window on which it was given, was closed by mistake.This could be the cause.
    I wonder the killed/closed session doesn't hangup with a latch or lock.
    Since the old undo tbs had active transaction, it might have to pending offline status. If so, you can drop it.
    Jaffar

  • Question about Undo Tablespace?

    Hello;
    The size requirement of the undo tablespace is related to the number and size of transactions that occur on the database.But I dont need to query any of these transaction for a schema or table by using flashback so is there a way of disabling writing any transactions on a table or schema to undo tablespace ?
    Edited by: Ecimen on 04.Mar.2013 03:50
    Edited by: Ecimen on 04.Mar.2013 03:51

    Rob_J wrote:
    Hi,
    No, that's not what I meant. What I meant was that if you say your logging tables are creating a lot of UNDO it must mean that you are writing/updating/deleting a lot of information from them. I was just throwing out the thought that if this is the cause of the issue, can you reduce the amount of data you write to these tables? In other words, do you need all this logging data? It's a question for the business and/or designers of your application to answer.
    RobHello Rob;
    i got it now , and yes we need to logging all this data because its production database occuring many transactions always...
    Edited by: Ecimen on 04.Mar.2013 06:28
    Edited by: Ecimen on 04.Mar.2013 06:31

  • Undo Tablespace - newbie question

    Q1. Is an Undo Tablespace mandatory in a database ? I thought the only mandatories were SYSTEM, SYSAUX and TEMP ?
    Q2. What happens if you do not have an Undo Tablespace ?
    Q2. How does an Undo Tablespace relate to Undo / Rollback Segments in a database ?

    >
    Just to give simple, one-liner replies though its all covered in the doc link given by Helios,
    Q1. Is an Undo Tablespace mandatory in a database ? I thought the only mandatories were SYSTEM, SYSAUX and TEMP ?Yes, it is a mandatory tablespace loss of which would be requiring you to do a closed database recovery.
    Q2. What happens if you do not have an Undo Tablespace ?The system tablespace's Undo segment would be used. But that's a bad idea and you should have one .
    Q2. How does an Undo Tablespace relate to Undo / Rollback Segments in a database ?Because Undo segments are no where else but within the Undo tablespace only.
    HTH
    Aman....

  • Undo tablespace issue

    Hello,
    I have a question regarding undo tablespace utilization. Currently there are no active transactions, all previous transactions have been commited, there is only one user session on my test database, undo retention is set to 900. I am trying to drop the old undo tablespace (I have created a new one, and switched to it - alter system undo_tablespace= new_undo;) but I get ORA-30013: undo tablespace 'old_undo' is currently in use.
    I have bounced the database, but made no progress. dba_undo_extents stiil have active segments from the old_undo and dba_rollback_segs indicate there are two online segments from the old_undo.
    Why is the old undo being used? WHo is using it?
    Thank you and
    Rgds

    SQL> SELECT * FROM V$VERSION;
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    PL/SQL Release 11.2.0.1.0 - Production
    CORE 11.2.0.1.0 Production
    TNS for Linux: Version 11.2.0.1.0 - Production
    NLSRTL Version 11.2.0.1.0 - Production
    SQL> select distinct status, segment_name, tablespace_name from dba_undo_extents where status='ACTIVE';
    STATUS SEGMENT_NAME TABLESPACE_NAME
    ACTIVE SYSSMU112241730627$ UNDOTBS8
    ACTIVE SYSSMU161513093487$ UNDOTBS8
    SQL> show parameter undo
    NAME TYPE VALUE
    undo_management string AUTO
    undo_retention integer 900
    undo_tablespace string UNDOTBS11
    Thanks!

  • Backup/restore of undo tablespace

    Hi,
    from backup basic doc:
    "You should not have to concern yourself with undo segments or manage
    them directly as part of your backup and recovery process. "
    Does this mean that undo tablespaces need not be or should not be backed up? And in the same vein, there is no point in restoring them as well. Right?
    Thanks,
    Raghu.

    Agreed, but what if a user drop a table and you can not live without it, then you need to perform incomplete recovery and it requires you to restore all the datafiles including undo datafile. And if you do not include the undo tablespace in your backup stratigies, then you run out of options. Anyways, In any case , I would strictly include undo tablespace in my backup policy.
    hare krishna
    Alok

  • ORA-01111: for undo tablespace

    Hi,
    We have large archive gap in standby.
    When we try to apply archive log manually using recover standby database, it throws the below error
    SQL> recover standby database;
    ORA-00283: recovery session canceled due to errors
    ORA-01111: name for data file 35 is unknown - rename to correct file
    ORA-01110: data file 35: '/data/db/tech_st/11.1.0/dbs/UNNAMED00035'
    ORA-01157: cannot identify/lock data file 35 - see DBWR trace file
    ORA-01111: name for data file 35 is unknown - rename to correct file
    ORA-01110: data file 35: '/data/db/tech_st/11.1.0/dbs/UNNAMED00035'
    We have added File 35 in Primary in undo tablespace , hence it's throwing error.
    Please advice.
    Thanks

    Hi,
    If you have the same filesystem on both primary and standby database, then why dont you try backing up single file and restoring to standby database.
    Connect to your primary database:
    rman target /
    run
    allocate channels...;
    backup datafile 35;
    Copy the backup piece to standby database. On standby database:
    rman target /
    catalog start with 'backup location';
    restore datafile 35;
    then on your sqlplus:
    recover standby database;
    Hope this will resolve your problem.

Maybe you are looking for