Undo tablespace in RAC

hi all,
In RAC environment, if iam having two nodes, why i have to maintain two undotablespaces in shared area? is it not possible to use one undo tablespace for both the instances instead of two undo tablespaces?
thank you

Hello Buddy,
It is not possible use one UNDO tablespace for more than one instance in RAC architecture.
Unless that you implement rollback segs (forget it, totally unrecommended), then the entire database can use only one rollbackseg on shared storage.
You must maintain unless one undo tbs per instance on your cluster database cause consistent reads on local instances.
Best Regards,
Rodrigo Mufalani
http://mufalani.blogspot.com

Similar Messages

  • 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

  • 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.

  • Is it OK to Switching Undo Tablespaces without DB stop ?

    We use Oracle11g R2.
    I read Oracle Doc and It looks OK.
    But, how could I make sure UNDO tablespace mode(ONLINE,PENDING OFFLINE) ?
    Switching Undo Tablespaces
    You can switch from using one undo tablespace to another. Because the UNDO_TABLESPACE initialization parameter is a dynamic parameter, the ALTER SYSTEM SET statement can be used to assign a new undo tablespace.
    The following statement switches to a new undo tablespace:
    ALTER SYSTEM SET UNDO_TABLESPACE = undotbs_02; 
    Assuming undotbs_01 is the current undo tablespace, after this command successfully executes, the instance uses undotbs_02 in place of undotbs_01 as its undo tablespace.
    If any of the following conditions exist for the tablespace being switched to, an error is reported and no switching occurs:
      The tablespace does not exist
      The tablespace is not an undo tablespace
      The tablespace is already being used by another instance (in an Oracle RAC environment only)
    The database is online while the switch operation is performed, and user transactions can be executed while this command is being executed. When the switch operation completes successfully, all transactions started after the switch operation began are assigned to transaction tables in the new undo tablespace.
    The switch operation does not wait for transactions in the old undo tablespace to commit. If there are any pending transactions in the old undo tablespace, the old undo tablespace enters into a PENDING OFFLINE mode (status). In this mode, existing transactions can continue to execute, but undo records for new user transactions cannot be stored in this undo tablespace.
    An undo tablespace can exist in this PENDING OFFLINE mode, even after the switch operation completes successfully. A PENDING OFFLINE undo tablespace cannot be used by another instance, nor can it be dropped. Eventually, after all active transactions have committed, the undo tablespace automatically goes from the PENDING OFFLINE mode to the OFFLINE mode. From then on, the undo tablespace is available for other instances (in an Oracle Real Application Cluster environment).

    After you switch the UNDO_TABLESPACE parameter to the new tablespace, at the minimum, you have to wait for active transactions to complete (commit/rollback) before you can take the old Undo Tablespace offline.  Note that if you take the old Undo Tablespace  offline too quickly, you may prevent long running queries from reading from the old Undo Tablespace and may cause them to error with ORA-01555.  So you need to wait a reasonable time (e.g look at MAXQUERYLEN in V$UNDOSTAT) before you take the old Undo Tablespace offline.
    Hemant K Chitale

  • Dropping the 4th undo tablespace, 4th thread from a 3 instance database

    I migrated a 4 instance RAC database from a 4 node server to a 3 node RAC database server. However, I still have the 4th undo tablespace and the 4th redo log thread. Are there any precautions I need to take before dropping the 4th undo tablespace? Must I also drop the 4th redo log thread, or will the database function properly even without a 4th node to go with the 4th thread?
    I presume I have to also disable the 4th public thread? Is this the command below?
    Alter database disable public thread=4;

    I guess it does not matter that group 12 in thread 4 is "CURRENT" since the thread is not being used. But I don't believe I can drop a "CURRENT" group, can I?
    SQL> select group#, thread#, bytes, members, status from v$log;
        GROUP#    THREAD#      BYTES    MEMBERS STATUS
             1          1   52428800          2 CURRENT
             2          1   52428800          2 INACTIVE
             3          1   52428800          2 INACTIVE
             4          2  104857600          2 INACTIVE
             5          2  104857600          2 INACTIVE
             6          2  104857600          2 CURRENT
             7          3   52428800          2 INACTIVE
             8          3   52428800          2 INACTIVE
             9          3   52428800          2 CURRENT
            10          4   52428800          2 INACTIVE
            11          4   52428800          2 INACTIVE
            12          4   52428800          2 CURRENT
    12 rows selected.

  • Undo Tablespace queries

    Hi All,
    I am bit confused with reading about the undo table space. so i need some clarification
    1. There are 2 undo tablespace in our application. Could someone explain how the 2 undo tablespace works? I didn't find any details about this.
    2. Both the undo tablespace is 100% utilized. Where the the new transaction will go? Will new transaction force the used blocks to be expired if needed?
    3. What should be the ideal size of undo tablespace with respect to the total storage size?
    4. is Archive log related to undotable space? if yes then When the archive logs get generated?
    Thanks

    1. In an RAC database, each Instance has to have it's own Undo Tablespace.
    In a non-RAC (single instance) database, only one Undo Tablespace may be active at any time. The other Undo Tablespace would be inactive but can be switched to with an ALTER SYSTEM SET UNDO_TABLESPACE command.
    2. Even if an Undo Tablespace is "100% used" Oracle can expire (and even drop) old extents and segments that are no longer needed by the Undo_Retention value. Thus, undo data for older transactions that have committed (more than Undo_Retention period has elapsed since the commit) will be overwritten.
    3. There's no "ideal size". Undo sizing is based on Transaction volumes, fluctuations in transaction volumes, query patterns etc.
    4. No, there is no direct relation between the two. However, all Undo that is generated also is written to Redo -- i.e. Redo captures Undo as well as it captures changes to Tables, Indexes etc.
    I suggest that you read the Oracle Concepts documentation at
    http://download.oracle.com/docs/cd/E11882_01/server.112/e16508/toc.htm
    Hemant K Chitale
    http://hemantoracledba.blogspot.com

  • Undo tablespace full even with no active transaction and undo_retention 10s

    The 9.2.0.4 instance is AUM (auto undo management). The undo table space is 50G and is almost full.
    I have set the undo_retention to 10, previously it was 10800 (3hours). I restart the database. Wait quite long time.
    And search on the dba_undo_extents.
    select sum(bytes/(1024*1024*1024)),status from dba_undo_extents d where d.tablespace_name='UNDOTBS2' group by status;
    SUM(BYTES/(1024*1024*1024)) STATUS
    .574447632 EXPIRED
    45.5358887 UNEXPIRED
    It is hard to explain. 10 seconds already passed, at least all the extents should be expired.
    Why so many 45G is still unexpried.
    Is there a bug for undo tablespace? how to fix it.
    It is a rac instance, I am trouble shooting the undo tablespace issues.
    The UNDOTBS2 is for node2 to use.

    If you start the database in exclusive (one instance) mode then the database instance can have only one undo tablespace so I would not expect Oracle to do anything with the undo tablespace for the non-running instance.
    Run you database as normal and generate undo. See if the status changes. If if does that would imply that Oracle does not expire undo unless the undo segments (rbs segments) are accessed. Please post back with results of what you see.
    Between having batch production running on all my databases that use undo tablespaces and the fact we use uniform extent undo tabllespaces I am not in a position to try to duplicate what you are seeing.
    HTH -- Mark D Powell --

  • How to protect UNDO TABLESPACE in 9iR2

    We can put REDO LOGs onto different disks by the means of multiplexing, so that even though one datafile is corrupted, the whole system would still be operational. But UNDO TABLESPACE doesn't provide such a mechanism. If the datafile of the active UNDO TABLESPACE is corrupted, it's dead.
    I don't think a system would risk its availability on the single failure of the UNDO TABLESPACE. So there must be some tricks to circumvent this problem. Can anyone tell me that?
    Thanks!

    951368 wrote:
    I am sorry... I should have been more clear...
    The issue i have is : My primary is a 3 node RAC and i created the same 3 node physical standby, now we had a 4th node at our standby, standby allowed me to add all the required cluster parameteres like instance#,thread# for 4th node, but i was stopped at creating a undo tablespace for the 4th node. What is the procedure? do i need to create it at primary or is there a way i can directly create at standby?
    ThanksHi,
    So you have 3 nodes primary and wanted to add 4th node on standby?
    Create the 4th undo tablespace in primary using
    sql > create undo tablespace "undotbs4" datafile 'xxxxx' size xxxx;
    The primary won't touch this undo as none of the instances should pointing to this new undo.
    In the standby on 4th node define 'undo_tablespace' to undotbs4.
    Cheers

  • If I have two undo tablespace, under what situation oracle will use another

    if I have two undo tablespaces, under what situation oracle will use another
    one is default undo tablespace, another is created manually
    will it use it when the default one is full?
    it seem like to be it won't use the second undo tablespace.
    thanks
    Edited by: user11402556 on Jul 3, 2010 2:18 PM

    You can have two Undo Tablespaces created with the CREATE UNDO TABLESPACE syntax.
    However, the current database instance will use the Undo Tablespace specified by the instance level parameter undo_tablespace.
    When you want to switch the datafiles of an undo tablespace from, say, one mount point to another (or when you want to "resize" an undo tablespace that has grown very large for specific one-off / adhoc jobs), you would create another undo tablespace, reset the instance level parameter to the new undo tablespace and wait for a decent interval (e.g. at least undo_retention or autotuned undo retention) before dropping the old undo tablespace.
    So yours is not a hypothetical question. Having two undo tablespaces is a real-world practice -- but the two are concurrently present for only a short duration, while transactions and queries switch from one to the other.
    (In RAC, each database instance must have it's own Undo tablespace as well).
    Hemant K Chitale

  • Tablespace temp rac

    hi everybody i have a rac with 2 nodes in one node the tablespace temp is empty and in the other node is full, why this occurs?

    Hi
    How are you measuring this temp space usage? Temporary tablespace is a database specific shared object, not instance specific ( unlike undo tablespace). Read my blog entry for further details: http://orainternals.wordpress.com/2012/02/13/temporary-tablespaces-in-rac/
    Cheers
    Riyaj Shamsudeen
    Blog: http://orainternals.wordpress.com/
    Oracle ACE Director and OakTable member http://www.oaktable.net
    Fall 2012: [Advanced RAC seminar | http://www.orainternals.com/services/training/advanced-rac-training/]

  • Separate UNDO tablespace for each instance

    Version: 10.2.0.4, 11.2.0.2
    I've noticed that there is an UNDO tablespace for each instance in RAC. Since UNDO tablespace lies in the shared storage, isn't it better to have just one UNDO tablespace for all instances?

    Max wrote:
    Version: 10.2.0.4, 11.2.0.2
    I've noticed that there is an UNDO tablespace for each instance in RAC. Since UNDO tablespace lies in the shared storage, isn't it better to have just one UNDO tablespace for all instances?Each instance in the RAC system can only use one undo tablespace at a time. In other words, instances cannot share undo tablespaces. Each instance in the cluster, being an independent transaction-processing environment, maintains its own UNDO area for undo management.
    Either automatic undo management or rollback segment undo can be used to manage undo space. If the automatic rollback method will be used, set the global parameter undo_management to auto in the server parameter file, and set the undo_tablespace parameter to assign the undo tablespace to the instance.
    The RAC system allows the creation and use of several undo tablespaces. When the instance is started, it uses the first available undo tablespace. A second instance will use another undo tablespace. Thus, each instance in a RAC system will have exclusive access to a particular undo tablespace at a given time. The undo tablespace cannot be shared among the instances at the same time. Only once an undo tablespace is released by an instance, it can be assigned to another instance. However, all instances can read blocks from any or all undo tablespaces for the purpose of constructing read-consistency images.
    source:http://www.dba-oracle.com/real_application_clusters_rac_grid/undo_management.htm

  • ORA-01555 even though undo tablespace is with autoextend ON

    Hi,
    I don't get it, how come I get ORA-01555 even though my undo tablespaces are (it's a RAC system) both autoextend ON
    Thanks

    912294 wrote:
    Hi,
    I don't get it, how come I get ORA-01555 even though my undo tablespaces are (it's a RAC system) both autoextend ON
    Thanksthe session that reports ORA-01555 is the victim; not the culprit.
    typically the session that throws ORA-01555 has LONG running SELECT against some table (TAB_A).
    ORA-01555 results when another session is doing DML against TAB_A & doing COMMIT inside LOOP.

  • While dropping the old undo tablespace we get an error

    Hello friends ,
    i Cannot drop old undo tablespace. While dropping the old undo tablespace we get an error
    ERROR at line 1:
    ORA-01548: active rollback segment '_SYSSMU77$' found, terminate dropping
    tablespace
    SQL> select tablespace_name, status, segment_name from dba_rollback_segs where status != 'OFFLINE';
    TABLESPACE_NAME STATUS SEGMENT_NAME
    SYSTEM ONLINE SYSTEM
    APPS_UNDO NEEDS RECOVERY _SYSSMU77$
    Please help
    Thanks
    Edited by: Vicky C on Dec 23, 2012 9:23 AM

    Hi peter
    We not using rman backup only cold backup.. i tried using cold backup in ramn block media recovery but that recovery needs archive log
    RMAN> BLOCKRECOVER DATAFILE 158 BLOCK 48829;
    Starting blockrecover at 18-DEC-12
    allocated channel: ORA_DISK_1
    channel ORA_DISK_1: sid=437 devtype=DISK
    channel ORA_DISK_1: restoring block(s) from datafile copy /var/undo/undo02.dbf
    starting media recovery
    media recovery failed
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: failure of blockrecover command at 12/18/2012 16:45:11
    ORA-00604: error occurred at recursive SQL level 1
    ORA-01422: exact fetch returns more than requested number of rows
    ORA-00279: change 5975281035000 generated at 12/08/2012 06:00:58 needed for thread 1
    ORA-00289: suggestion : /prod/archlogs/1_465484_683651989.dbf
    ORA-00280: change 5975281035000 for thread 1 is in sequence #465484
    ORA-00278: log file '/prod/archlogs/1_465484_683651989.dbf' no longer needed for this re covery
    we did not have block media recovery needed archivelog
    Regards
    Vignesh C

  • Regarding Maxsize of Undo Tablespace

    Dear expetrs
    While executing a procedure i got error.
    Error In Insertion..ORA-30036: unable to extend segment by 16384 in undo tablesp
    ace 'UNDOTBS1'
    then i increase the size of the Undo Tablespace
    then again i got error.
    ORA-01144: File size (7680000 blocks) exceeds maximum of 4194303 blocks
    plz give me answer as soon as possible.
    thnaks.

    1) resize your datafile to 4194303 * db_block_size
    alter database datafile < path/filename > resize <4194303 * db_block_size> ;
    you find db_block_size by:
    sqlplus /nolog
    SQL> connect / as sysdba
    SQL> show parameter db_block_size
    or by simply have a look in the pfile (init<SID>.ora) in $ORACLE_HOME/dbs
    2) add another file to the undo tablespace:
    SQL>alter tablespace undotbs1 add datafile <path/filename> size <n> M;
    a tablespace may have up to 1022 datafiles.
    hope this helps
    roman

  • Undo tablespace recovery from RMAN backup

    Hi,
    Lets's assume we have RMAN backup and archivelog backups, and now
    my undo tablespace's disk crashed ,how can i recover?
    Can i recover while database is up?
    Thanks,
    Kumar.

    to recover UNDO tablespace from RMAN backup you must shutdown the database and start it in the MOUNT state to recover the missing files as follows
    rman target /
    RUN
    STARTUP MOUNT;
    ALLOCATE CHANNEL ch3 TYPE Disk;
    RESTORE datafile 'c:\u01\prod3\undo01.dbf';
    RECOVER datafile 'c:\u01\prod3\undo01.dbf';
    ALTER DATABASE OPEN;
    RELEASE CHANNEL ch3;
    hope this will help you

Maybe you are looking for

  • Check printing is running and running.

    Hi, Check printing in payroll is running and running. I looked at database end , nothing slowing. pLease let me know where and what can I have to check? Thanks

  • Sorting problem in 10g

    dear all, We have a new 10g database and have loaded a dump from 9i. We followed all procedures as written in documentations. The database is working fine but we experience one problem. We connect to the database with our application that was develop

  • Asset Leasing Process

    Hi Experts, I am facing with a difficult scenario with asset to lease, I have already a suggestion for this if any body have another idea about this, please help me with other suggestions. This is my scenario, I have a new material (produced or purch

  • Printing on photosmart c4283 vista x64

    Hi, I am able to print the test page and the diagnostics page from the software driver installed on vista 64bit. However, printing from Notepad just the word "test" fails. 1. The vista window that displays the list of documents in the pool shows the

  • MONITOR ISSUE WITH FLASH CS3 (again)

    Hello, me again with the same issue..still Just to recap After publishing my files, my site appears Ok on large monitors like 23 inch. Everything just work fine. The main window is 1024/728 pixels. But, the top of the site gets  chopped up on laptops