Changing data in the undo tablespace or db Oracle buffer cache

Hello

I have serious doubt in the feature of oracle architecture, when a user issues an update statement, the data blocks are transported to the db buffer cache and where the data changes are made? Made a copy data block is stored in the cache db pads and the changes are made to the block in the buffer cache? or the copy of the data block is stored in the undo tablespace and changes are made to the blocks in the undo tablespace?

In singles, the changes to the data blocks are make to the db or undo tablespace buffer cache?


Thanks in advance

Kind regards
007

Did you have a look to the Internet for the answer?

In short, if a trial Oracle wants to update a record in the table, it does:

-Read the record to be changed in the buffercache
-Audits (the record already locked, is the update allowed)
-Put the folder (called image before) in a rollback in the UNDO tablespace segment
-Writing redo information about this change in the UNDO tablespace
-Lock the record
-Write the change in registration in the buffer cache
-Put the change also in the redo buffer
S ' sit and wait... (for a commit or a rollback)

When are committed:
-Release the lock
-Empty folder of restoration since the UNDO tablespace
-Write a record of this change forward in the UNDO tablespace

When rollback:
-Release the lock
-Rinse the record changed the buffercache
-Read the original value
-Empty folder of restoration since the UNDO tablespace
-Write a record of this change forward in the UNDO tablespace

It of here, some more specific complexity when a checkpoint occurs between the change and the commit / rollback or redo buffer has been emptied for redo files

Please any other s/n, correct me if I'm wrong...

See you soon
FJFranken

Tags: Database

Similar Questions

  • The UNDO tablespace and its data file cannot be removed

    I would like to delete an UNDO tablespace after you have created a new, but can't. I could follow a large number of instructions TOM and others, but tablepspace is still listed in the State to RECOVER. Please see what I've done below. Your help will be appreciated.
    SQL > drop tablespace UNDOTBS2;
    Drop tablespace UNDOTBS2
    *
    ERROR on line 1:
    ORA-01548: active rollback segment "_SYSSMU29_1272378969$" found, terminate
    drop the tablespace
    SQL > drop rollback segment "_SYSSMU29_1272378969$";
    Drop rollback segment "_SYSSMU29_1272378969$".
    *
    ERROR on line 1:
    ORA-30025: DROP segment ' _SYSSMU29_1272378969$ ' (in the undo tablespace) not
    permit

    Have you tried that
    http://arjudba.blogspot.com/2008/08/ora-01548-active-rollback-segment.html

  • undo_segments in the undo tablespace

    (1) at least how undo_segments in undo tablespace?

    Is optimal?
    If I increase the size of the undo tablespace, undo_segments counts also have increased!

    Version of DB is 10g

    Hello

     

    The two time oracle maintains exactly 10 segments. (you can see nom_segment begins by _SYSSMU11)

    I'm not clear on what exactly 10 segments. I have undo tablespace of ~ 250 GB with 6676 stored in dba_rollback_segs.

    3) why undo tablespace with the only spaceMo 46,8125 '?


    (4) I mean why he is stiil 450Mo undo_retention even through time or same validation has occurred?

    Just Oracle - Doc

    Once a transaction is committed, the undo data are more necessary for purposes of recovery rollback or transaction. However, for consistent read purposes, long-running queries may require old undo information to produce older images of data blocks. In addition, the success of several Oracle Flashback features can also depend on the availability of the old cancellation information. For these reasons, it is desirable to keep the old information of cancellation for as long as possible.

    Introduction to the management of the automatic cancellation

    With undo tablespace, you would see extended with the status ACTIVE, EXPIRED, extents still to RUN.

    Active cancellation extended are used by transactions and will be always active, because they are needed for the restoration.

    Extensions has expired are not used by transactions, the data contained in these extended is committed and the time UNDO_RETENTION is passed, so it is not necessary for the coherence of reading and can be reused.

    Not expired extensions are extended no assets but honor UNDO_RETENTION. Transactions belonging to these bodies of cancellation are determined, but the retention time has failed, and it may be necessary for the coherence of reading!

    Paste the query result - below

    ! undo_extent_stat.SQL more

    status of collar for a30

    Select the State,

    round (sum_bytes / (1024 * 1024), 0) like MB,.

    Tour ((sum_bytes / undo_size) * 100, 0) as PERC

    Of

    (

    Select the State, sum (bytes) sum_bytes

    of dba_undo_extents

    Status group

    ),

    (

    Select sum (a.bytes) undo_size

    from dba_tablespaces c

    Join v$ tablespace b on b.name = c.tablespace_name

    Join v$ datafile on a.ts # b.ts = #.

    where c.contents = 'UNDO '.

    and c.status = 'ONLINE '.

    );

    Anand

  • import data into the different tablespace

    Hello

    I had exported a my schema of production data now I want to import data in the schema of the trial, I had mentioned the tablespace default for the trial scheme, but when I import data is not taking default tablespace of schema of its database taking default tablespace. How to import data into the different tablespace. In remap_tablespace where I can specify the touser.

    my version of oracle database:

    BANNER
    ----------------------------------------------------------------
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
    PL/SQL Release 10.2.0.1.0 - Production
    CORE 10.2.0.1.0 Production
    AMT for 32-bit Windows: Version 10.2.0.1.0 - Production
    NLSRTL Version 10.2.0.1.0 - Production

    -------------------------------------------------------------------------------------------------------------------------------------------

    Raj wrote:
    Hello

    I had exported a my schema of production data now I want to import data in the schema of the trial, I had mentioned the tablespace default for the trial scheme, but when I import data is not taking default tablespace of schema of its database taking default tablespace. How to import data into the different tablespace. In remap_tablespace where I can specify the touser.

    my version of oracle database:

    BANNER
    ----------------------------------------------------------------
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
    PL/SQL Release 10.2.0.1.0 - Production
    CORE 10.2.0.1.0 Production
    AMT for 32-bit Windows: Version 10.2.0.1.0 - Production
    NLSRTL Version 10.2.0.1.0 - Production

    -------------------------------------------------------------------------------------------------------------------------------------------

    If your storage source and destination areas are different, you must use the remap_tablespace option.
    example:

    System $impdp / * directory = data_pump_dir dumpfile = logfile = schema_refresh.log remap_schema = Prd_schema:Tst_schema remap_tablespace = prd_TBS:tst:TBS schema_refresh.dmp

  • How to reduce the UNDO Tablespace

    Hello
    We had an UNDO Tablespace to 22 GB but it's using just 2GB. How to shrink the undo tablespace. We use the database in production cluster 3 node 10.2.0.4
    Is there is way we can worry about UNDO Tablespace or should I create an UNDO tablespace and assign the undo tablespace to DB and let fall the old CANCEL?
    How to ensure that the transactions are done and free to abandon the old CANCEL?
    That's what we must restart all three nodes each node has its own UNDO Tablespace.

    Need help on this issue.

    would appreciate your quick response.


    Thank you

    No you have not.

    concerning
    Mohamed

  • Impossible to drop the undo tablespace

    Hello

    ORACLE VERSION: 11.1.0
    OPERATING SYSTEM: WINDOWS XP

    I have been uable to drop the undo tablespace. Here I create a new undo tablespace and trying to drop the old undo tablespace.

    I had given alter system set UNDO_TABLESPACE = newundo tablespace.

    And try to drop the old one and get the error like this
    SQL> create undo tablespace undotbs02 datafile 'F:\APP\POORNAPRASADS\ORADATA\ORCL\UNDOTBS02.dbf' size 200m;
    
    Tablespace created.
    
    SQL> sho parameter undo
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    undo_management                      string      AUTO
    undo_retention                       integer     900
    undo_tablespace                      string      UNDOTBS1
    SQL> alter system set undo_tablespace=undotbs02;
    
    System altered.
    
    SQL> sho parameter undo
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    undo_management                      string      AUTO
    undo_retention                       integer     900
    undo_tablespace                      string      UNDOTBS02
    SQL> drop tablespace undotbs1 including contents and datafiles;
    drop tablespace undotbs1 including contents and datafiles
    *
    ERROR at line 1:
    ORA-30013: undo tablespace 'UNDOTBS1' is currently in use
    
    
    SQL> drop tablespace undotbs1 including contents and datafiles;
    drop tablespace undotbs1 including contents and datafiles
    *
    ERROR at line 1:
    ORA-30013: undo tablespace 'UNDOTBS1' is currently in use

    There are active sessions that use of old undo segments. I think you should kill these sessions in order to relase these segments

    - - - - - - - - - - - - - - - - - - - - -
    Kamran Agayev a. (10g OCP)
    http://kamranagayev.WordPress.com
    [Step by step installation Oracle Linux and automate the installation by using Shell Script | http://kamranagayev.wordpress.com/2009/05/01/step-by-step-installing-oracle-database-10g-release-2-on-linux-centos-and-automate-the-installation-using-linux-shell-script/]

  • Block in the Undo tablespace corruption

    Dear all,


    I'm using oracle 10.1.0.2.0. Today because of the abnormal termination block corrouption in undo tablespace found and database will not open.
    In the alert log file

    Errors in the e:\oracle\product\10.1.0\admin\orc1\udump\orc1_ora_3188.trc file:
    ORA-01578: block ORACLE (corrupted file # 37, block # 25) data
    ORA-01110: data file 37: ' E:\ORACLE\PRODUCT\10.1.0\ORADATA\ORC1\UNDOTBS0. DBF'

    Sea Jul 07 10:18:42 2010
    1578 error happened during db open, close the database
    USER: termination litigation because of the 1578 error
    Sea Jul 07 10:18:43 2010
    Errors in the e:\oracle\product\10.1.0\admin\orc1\bdump\orc1_arc3_3900.trc file:
    ORA-01578: ORACLE data block corrupted (file #, block #)

    Sea Jul 07 10:18:43 2010
    Errors in the e:\oracle\product\10.1.0\admin\orc1\bdump\orc1_arc3_3900.trc file:
    ORA-01578: ORACLE data block corrupted (file #, block #)

    Sea Jul 07 10:18:43 2010
    Arc0: Assessment of the archive log 2 sequence of thread 1 479
    Sea Jul 07 10:18:43 2010
    Errors in the e:\oracle\product\10.1.0\admin\orc1\bdump\orc1_dbw0_3692.trc file:
    ORA-01578: ORACLE data block corrupted (file #, block #)

    Sea Jul 07 10:18:43 2010
    Errors in the e:\oracle\product\10.1.0\admin\orc1\bdump\orc1_ckpt_1552.trc file:
    ORA-01578: ORACLE data block corrupted (file #, block #)

    Sea Jul 07 10:18:43 2010
    Errors in the e:\oracle\product\10.1.0\admin\orc1\bdump\orc1_mman_3912.trc file:
    ORA-01578: ORACLE data block corrupted (file #, block #)

    Sea Jul 07 10:18:44 2010
    Newspapers archived by another process
    Sea Jul 07 10:18:44 2010
    Errors in the e:\oracle\product\10.1.0\admin\orc1\bdump\orc1_pmon_3744.trc file:
    ORA-01578: ORACLE data block corrupted (file #, block #)

    Sea Jul 07 10:18:44 2010
    Errors in the e:\oracle\product\10.1.0\admin\orc1\bdump\orc1_arc1_3668.trc file:
    ORA-01578: ORACLE data block corrupted (file #, block #)

    Sea Jul 07 10:18:44 2010
    Errors in the e:\oracle\product\10.1.0\admin\orc1\bdump\orc1_arc1_3668.trc file:
    ORA-01578: ORACLE data block corrupted (file #, block #)

    Sea Jul 07 10:18:45 2010
    Errors in the e:\oracle\product\10.1.0\admin\orc1\bdump\orc1_reco_1076.trc file:
    ORA-01578: ORACLE data block corrupted (file #, block #)

    Sea Jul 07 10:18:45 2010
    Errors in the e:\oracle\product\10.1.0\admin\orc1\bdump\orc1_smon_2660.trc file:
    ORA-01578: ORACLE data block corrupted (file #, block #)

    Sea Jul 07 10:18:45 2010
    Errors in the e:\oracle\product\10.1.0\admin\orc1\bdump\orc1_lgwr_1796.trc file:
    ORA-01578: ORACLE data block corrupted (file #, block #)

    Instance of stopped by USER, pid = 3188
    ORA-1092 marked during: ALTER DATABASE OPEN...

    Concerning

    Errors in the e:\oracle\product\10.1.0\admin\orc1\udump\orc1_ora_3188.trc file:
    ORA-01578: block ORACLE (corrupted file # 37, block # 25) data
    ORA-01110: data file 37: ' E:\ORACLE\PRODUCT\10.1.0\ORADATA\ORC1\UNDOTBS0. DBF'

    You have rman or backup to hot/cold? If so try like:
    * 1.*

    sqlplus "/as sysdba"
    shutdown immediate;
    startup mount;
    /*restore undo datafile then*/
    recover datafile 37;
    alter database open;
    

    * 2 If you have backup rman, then try

    rman terget /
    blockrecover datafile 37 block 25;
    

    * 3.* If you don't have a backup, you can start your database without this undo tablespace.

    1. backup current database;

    2. change pfile (parameter file) change undo_tablespace and undo_management as:

    undo_management=manual
    undo_tablespace=UNDOTBS2
    

    If you do not use pfile create pfile from spfile as:

    sqlplus "/as sysdba"
    create pfile='pfilelocation' from spfile='spfilelocation';
    

    3. then start database as:

    Connected to:
    Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - Production
    With the Partitioning, OLAP and Data Mining options
    
    SQL> shutdown immediate;
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
    SQL> startup mount pfile D:\oracle\product\10.2.0\admin\TEST\pfile\init.ora.5162
    010113556
    SP2-0714: invalid combination of STARTUP options
    SQL> startup mount pfile= D:\oracle\product\10.2.0\admin\TEST\pfile\init.ora.516
    2010113556
    ORACLE instance started.
    
    Total System Global Area  138412032 bytes
    Fixed Size                  1288172 bytes
    Variable Size              62916628 bytes
    Database Buffers           67108864 bytes
    Redo Buffers                7098368 bytes
    Database mounted.
    SQL> alter database open;
    alter database open
    *
    ERROR at line 1:
    ORA-01157: cannot identify/lock data file 2 - see DBWR trace file
    ORA-01110: data file 2: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\UNDOTBS01.DBF'
    
    SQL> select name from v$datafile;
    
    NAME
    --------------------------------------------------------------------------------
    
    D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\SYSTEM01.DBF
    D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\UNDOTBS01.DBF
    D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\SYSAUX01.DBF
    D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\USERS01.DBF
    
    SQL> alter database datafile
    'D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\UNDOTBS01.DBF' offline drop;
    
    Database altered.
    
    SQL> alter database open;
    
    Database altered.
    
    SQL> create undo tablespace UNDOTBS2
    datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\UNDOTBS2' size 200M;
    
    Tablespace created.
    
    SQL> create spfile from pfile;
    
    File created.
    
    SQL>
    
  • Bug in data modeling: create undo tablespace

    The output of the DDL script for the Undo type tablespace has a spelling error:

    CREATE UNDO TABLESPACE UndoTBS1 PETIT_FICHIER
    DATA FILE
    ' C:\oracle\product\10.2.0\oradata\VolksNet\UNDOTBS01. DBF ' SIZE 512 M AUTOEXTEND ON NEXT MAXSIZE 16 K UNLIMITED
    LOCAL MANAGEMENT MEASURE
    GUARANTEE OF TENSIONING
    ;

    It spells TENSION instead of RETENTION.

    Thank you, I logged a bug.

    Please note that we have a feedback customer specific applications to track issues for data modeling, although it is still an early release of the adopter. The link is http://apex.oracle.com/pls/otn/f?p=2306:10

    Sue

  • It will frequently commit resolve ora-30036 (cannot extend the undo tablespace)

    I use 11.2.0.3 database. I confused on the use of validation to resolve ora-30036.

    I have the script in migration once that has many updates and I'm getting ORA-30036 (unable to extend segment by 4 in the "UNDOTBS" undo tablespace) .

    Our undo tablespace in NO mode autoextend and like this is just a one time event, we will not increase it.   He is currently 6 GB.

    We would commit determination ORA-30036 in my case? If not why? Is there a better solution to solve it.


    When I say commit frequent, I won't commit after each line, I just want to commit after may be million lines, so that my active cancellation extend turn into cancellation remaining will extend and Oracle will be able to use it in case of pressure of space.


    Note:

    UNDO_MANAGEMENT: AUTO

    UNDO_RETENTION: 2700

    Undo tablespace retention is NOGAURANTEE.

    I have the script in migration once that has many updates and I'm getting ORA-30036 (unable to extend segment by 4 in the "UNDOTBS" undo tablespace).

    Our undo tablespace in NO mode autoextend and like this is just a one time event, we will not increase it.   He is currently 6 GB.

    Why don't you increase it?

    You must use the correct size of UNDO necessary for the work that will be done.

    A lot of shops to create a for big lots new UNDO tablespace and then switch to it for batch processing. Once the task is completed, they switch back to the normal UNDO. That prevents the normal RETURN of autoextending far where it is normally necessary:

    ALTER SYSTEM SET UNDO_TABLESPACE

  • ORA-01555 - Tuning for the UNDO tablespace.

    Dear DBA Kings/Queens,

    I often "ORA-01555 snapshot too old error" due to the special delete statement. Which removes the lines about 50 000 all day as a batch. Eventhough, I reduced to 50 000 to 10 000 and 1000. No luck.
    Can someone tell me how to set UNDO tablespace.
    -----------------------------------------------------------------------------
    Oracle9i Enterprise Edition Release 9.2.0.7.0 - 64 bit Production
    PL/SQL Release 9.2.0.7.0 - Production
    CORE 9.2.0.7.0; Production
    AMT for Solaris: release 9.2.0.7.0 - Production
    NLSRTL Version 9.2.0.7.0 - Production
    -----------------------------------------------------------------------------
    SQL > show Cancel parameter

    VALUE OF TYPE NAME
    ------------------------------------ ----------- ------------------------------
    UNDO_MANAGEMENT string AUTO
    UNDO_RETENTION integer 10800
    undo_suppress_errors Boolean TRUE
    undo_tablespace string UNDOTBS1
    -----------------------------------------------------------------------------

    Size in GB:

    TOTAL USED FREE USED_PCNT NOM_TABLESPACE
    ------------------------------ ---------- ---------- ---------- ----------
    UNDOTBS1 13.5; 1.34; 12.17; 9.89

    Which removes the lines about 50 000 all day as a batch

    Has often committed?
    -do not commit frequently.

    -Increase the setting "undo_retention.

    -reduce the duration of operation (plan use of execution to check your query)... perhaps may create index. Or to commit all the 5000 rows

    -For collecting statistics on the table

    Edited by: Surachart Opun (HunterX) July 23, 2009 12:04 AM

  • JSF ADF how to set validation control activated when they change data in the table

    Using JDev 10.1.3.4 and Oracle ADF/BC

    I have a search engine simple with two fields of research related to the parameters of the entity VO. Below, I have a table in the view with two editable text fields. In the component actions table, I put a buttons of commit and rollback.

    The buttons of commit / rollback do not enable until I have refresh the form after a change. I would like to use partial-page rendering to immediately change the buttons to the correct state after a change.

    I tried the PPR combinations and/or a listener valuechange, but do not know how to button controls update on edit.

    Any ideas?

    Thank you.

    Steve

    In 10.1.3 interface user id of the component in editable tables can be used declaratively to PPR something (since their id during execution is generated for each entry in the single table).

    You need a small piece of backup bean code to achieve this.

    I blogged a solution for you here... with a link to a working example updated space.

    http://radio.weblogs.com/0118231/2008/12/10.html#a931

  • Loss of change data and the markup for the photos moved originals on external hard drive. How can I get that back?

    I transferred the originals to an external hard drive to free up space on my hard drive.  After doing this, all that I had done some missing photos, as well as all the indicators I used.

    Is it possible to get this back?

    Hi Samuel,

    You have an exclamation point on the images in Lightroom?

    If so please click on the following link: the help of Adobe Photoshop Lightroom | Locate missing photos

    Have you moved the images in Lightroom or out of Lightroom?

    Are you sure you're in the right catalog?

    Concerning

    Sarika

  • Change data type column - performance of indexes in Oracle 10 g

    Hello
    I have a table with too many lines (lines more than 2000000). I changed the data type (NUMBER of VARCHAR2) of an indexed column (the index is only for this column), using a temporary backup table:

    CREATE TABLE BKTABLE AS SELECT FIELD, ROWID AS IDROW ORIGNALTABLE;
    UPDATE ORIGNALTABLE SET FIELD = NULL;
    ALTER ORIGNALTABLE CHANGE THE FIELD VARCHAR2 (256);
    ORIGNALTABLE UPDATE A FIELD SET = (SELECT FIELD OF BKTABLE B WHERE B.IDROW = A.IDROW);

    This way worked OK.

    There is no performance problem knew about the ORIGNALTABLE index? Need to rebuild this index?

    Thks!

    Need to rebuild this index?

    YES

    ALWAYS
    View the name of the operating system (OS) & version for DB Server System.
    View the results of
    SELECT * from version $ v
    or post the Oracle version with 4 decimals

  • the data from the tables of production in Oracle in pipe delimited flat f

    Hello
    Please someone tel me the query how to extract data in oracle in pipe delimited flat files using plsql stored procedure as updates.plz incremental tel me its urgent

    How to extract data in oracle in pipe delimited flat files plsql stored procedure

    You can try utl_file.

    and also do incremental updates.

    This part, I do not understand. Updates of what? The above file?

    Please tel me its urgent

    Who cares.

  • How to find the Date and the time of Installation of Oracle on Windows?

    Hello

    Is it possible to find the installation Date and time of Oracle on Windows?


    Concerning
    Rajesh

    If you have never recreated/restored/reincarnated the database, then COLUMN of v database $ should tell you when you created the database.

    If you are looking for the time of installing Oracle home, check the logs under OraInventory.

    Reply by Satish sir at the following link:
    installation of a database date/time!

    HTH
    Girish Sharma

Maybe you are looking for