Does a single transaction, spreeds accross multiple rollback segments?

Hi,
Does a single transaction, spreeds accross multiple rollback segments?
What if , there is not enough space in the allocated rollback segment?
Thanks
Naveen.

With the additional note/ caveat that, assuming you're using a moderately recent version of Oracle and using automatic UNDO management, which you really, really ought to be doing, Oracle is constantly adding, removing, and expanding the rollback segments, making it all but impossible for a rollback segment to be too small unless it (along with all the other active redo segments) exceed the size of your UNDO tablespace.
Justin

Similar Messages

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

  • General - rollback segments

    Been reading manuals, I have few question to clarify about rollback segments ( Lets leave undo tablespace and automatic undo management aside )
    1) Rollback segments can be created in a tablespace - is there a max size/limit which could be specified for a rollback segment to use within a tablespace? - From reading manuals, the storage clause doesnt mention about max size/limt for a rollback segment; is it possible for rollback segment to fill-up tablespace (ummm due to some wired query[read consistency]/transaction) ?
    2) We can create a separate rollback tablespace and have multiple rollback segments.
    If there are 3 user tablespaces (T1/T2/T3), 1 rollback tablespace (RT).
    - I create 1 rollback segment in tablespace T1, T2, T3
    - I create 2 rollback segments in rollback tablespace RT
    A user with "default tablespace T1" when running a transaction, which rollback segment will be used by this user (when rollback segment is not explicitly specified)?
    Oracle-Student

    user11359766 wrote:
    Will the transaction spill over to the second rollback segment (i.e start using the 2nd rollback segment which is available and not being used by any other active transaction) or oracle will return an error since the first rollback segment assigned is filled up and the transaction is still active?This will be applied to both SMU and MMU.
    From the same link above,
    http://download.oracle.com/docs/cd/B10501_01/server.920/a96524/b_deprec.htm#634941
    For the duration of a transaction, the associated user process writes rollback information only to the assigned rollback segment.I hope its self explanatory that the transaction can't roll over to any other roll back segment once its own gets out of space. In teh case of SMU also, if the undo datafile can't grow, your transaction would be stopped.
    HTH
    Aman....

  • Rollback segment error

    Hello experts,
    My problem is as follows:
    I need to perform a large transaction on one of my tables in my
    database. I have to delete a large number of records using a
    command as follows:
    Delete from mytable where ordernumber like '2000%';
    Each time i launch this command i have the following error:
    ERROR at line 1:
    ORA-01562: failed to extend rollback segment (id = 3)
    ORA-01628: max # extents (30) reached for rollback segment R03
    I know that i have a problem with my rollback segment. I have
    thus created a large rollback segment so that my transaction can
    use it.
    I don't know how to tell my transaction use the large rollback
    segment that i created.
    (i know there is a command called set transation user rollback
    segment large_rs1, i have tried it on sqlplus. it gives me
    error: ORA-01453: SET TRANSACTION must be first statement of
    transaction)
    Please help
    thanks in advance for a reply
    Kind regards
    Yogeeraj

    First, you have to create a bigger rollback segment (i.e. RBBIG).
    Then, before each query, you must type:
    set transaction use rollback segment rbbig;
    This will force the use of the specified rollback segment.
    Hope this helps.

  • How can I avoid using rollback segment for batch updates.

    I am currently trying to avoid associating a large amount of space for rollback segment as this gets filled up only during the nightly batch updates. All that space will never be used during the day. Hence want to know if there is any way of avoiding the use of rollback segment at the session level.
    Rajesh

    No, but what you can do is create a large rollback segment to use with your batch job, at the start of your batch job bring the segment online, then use set transaction to use that rollback segment, when the batch job is finished and committed, you can then bring the rollback segment offline.
    If you are really pressed for space, as an alternate plan, you could actually create the large segment before the batch job and drop it after.

  • Rollback segment issue in oracle8i

    We are having 33GB size of Rollback segment , it is not coming down even after when the database get bounced.
    Even the transactions are not happening also it is showing same value and it is not coming down.
    My question is after transaction get over whether rollback segment is deallocated or not?
    Please explain in detail , how to deallocate those unused rollback segments.

    we dont have any distributed transactions.
    can u tell me is there any formula to set OPTIMAL value for roll back segments.
    please tell me the dependencies,
    & i have some more quries....
    1. If we shrink the rollback segment, will it grow later on when the transactions are going high???
    2.If we shrink through OEM, automatically oracle is shrinking that perticular RBS.
    here my doubt is on which basis Oracle is shrinking that RBS.
    Please give info,, in detail...

  • GettingTransaction in a specific Rollback segment

              Hi
              I m using bea weblogic 6.0. as Application Server and Oracle 8.x as Database.
              I get user transaction from weblogic server by looking up ("javax.transaction.UserTransaction")
              Now my requirement is that i want to begin transaction with a particular rollback
              segment. ( oracle
              allows this ) but UserTransaction object that we get from weblogic has only one
              method .begin()
              In this case is it possible for me to get usertransaction and begin transaction
              in a particular rollback
              segment.
              Thanks
              Pranav
              

    albertone wrote:
    but strangely after a long while the query fails with a RBS too small failure due to another RBS, not the one specified.You misunderstand snapshot too old. It can be caused by other sessions same as by your session. Assume AFTER your session issued select some other session modified one (or more) tables ucms_batches, ucms_cards, UCMS_EVENT_LOG and committed changes. By the time your select reaches to fetch rows modified by that other session rollback extents in rollback segment used by that other session were reused. You will get snapshot too old. Bottom line - all sessions modifying table(s) used by your select must use rollback segments large enough so they are not overwritten before corresponding rows are needed by your select.
    SY.

  • ROLLBACK SEGMENT의 MINEXTENTS를 20 이상으로 하면 좋은 이유

    제품 : ORACLE SERVER
    작성날짜 : 2003-06-19
    ROLLBACK SEGMENT의 MINEXTENTS를 20 이상으로 하면 좋은 이유
    =========================================================
    PURPOSE
    이 자료는 다음과 같은 주제에 대하여 소개하는 자료이다.
    이 문서는 database application의 요구 사항을 충족시키기 위해 고려되어
    져야 할 rollback segment tablespace 구성에 관한 내용을 담고 있다.
    Creating, Optimizing, and Understanding Rollback Segments
    -Rollback Segment 구성과 기록 방식
    -Transaction에 Rollback Segment를 할당하는 Oracle 내부 메커니즘
    -Rollback Segment 크기와 갯수
    -Rollback Segment의 크기와 갯수 결정을 위한 테스트
    -Rollback Segment extent의 크기와 갯수
    -Rollback Segment의 minextents를 20 이상으로 하면 좋은 이유?
    -Rollback Segment의 Optimal storage parameter와 Shrink
    Explanation
    Rollback Segment 구성과 기록 방식
    Rollback segment는 extent라 불리는 연속적인 여러 개의 block으로 구성된다.
    Rollback segment는 ordered circular 방식으로 extent를 쓰게 되는데,
    current extent가 full이 되면 next extent로 옮겨 가며 사용하게 된다.
    Transaction은 rollback segment 내의 current location에 record를 쓴 다음,
    record의 size 만큼 current pointer를 옮겨 간다.
    Rollback segment에 현재 record가 쓰여지고 있는 위치를 "Head"라고 한다.
    또한, "Tail"이란 용어는 rollback segment에서 가장 오래된 active
    transaction record의 시작 위치가 되는 부분을 말한다.
    Transaction에 Rollback Segment를 할당하는 Oracle 내부 메커니즘
    새로운 transaction이 rollback segment 를 요청하면, 각 rollback segment
    를 이용하고 있는 active transaction 갯수를 확인하여 가장 적은 갯수의
    active transaction 을 가진 rollback segment를 할당하게 된다.
    Rollback segment는 transaction load를 처리하기에 충분한 크기를 가져야
    하고, 필요한 만큼의 rollback segment를 사용할 수 있도록 적당한 갯수의
    rollback segment를 가져야 한다.
    1. 한 transaction은 단 하나의 rollback segment만을 사용할 수 있다.
    2. 같은 extent에 여러 transaction이 기록할 수 있다.
    3. Rollback segment의 Head는 Tail에 의해 현재 사용 중인 extent를
    침범하지 않는다.
    4. 링 형태로 구성되어 있는 rollback segment의 extent들은 다음 extent를
    찾을 때 절대 건너 뛰는 일이 없으며, 순서를 뒤바꾸어 사용하지도 않는다.
    5. Head가 next extent를 찾지 못하면, 새로운 extent를 추가로 할당하고,
    그 extent를 링 안에 포함시킨다.
    위와 같은 원리를 감안할 때, transaction size 뿐만 아니라 transaction
    time도 상당히 중요한 고려 사항이라는 것을 알 수 있다.
    Rollback Segment 크기와 갯수
    Rollback segment size가 충분한지 판단하는 기준은 transaction activity에
    직접적으로 영향을 받는다. 주로 일어나는 transaction activity에 근거하여
    rollback segment size를 결정하여야 하고, 잘 일어나지 않는 특수한 경우의
    큰 transaction이 문제라면 별도의 rollback segment로 관리되어야 한다.
    Transaction 발생 중 Head가 너무 빨리 wrap around 시켜서 tail을 catch하
    지 않도록 하여야 하며, 자주 변경되는 data에 대해 long-running query가
    수행되었을 경우 read-consistency가 유지될 수 있도록 rollback segment
    가 wrap around되지 않아야 한다.
    Rollback segment 갯수를 적당히 잡아야 하는 이유는 process들 간에
    contention을 방지하기 위함이고, V$WAITSTAT, V$ROLLSTAT, V$ROLLNAME
    view를 통해서 contention을 확인할 수 있으며, 조회문은 다음과 같다.
    sqlplus system/manager
    select rn.name, (rs.waits/rs.gets) rbs_header_wait_ratio
    from v$rollstat rs, v$rollname rn
    where rs.usn = rn.usn
    order by 1;
    위의 query에 의해 조회된 rbs_header_wait_ratio 가 0.01 보다 크면,
    rollback segment 갯수를 추가한다.
    Rollback Segment의 크기와 갯수 결정을 위한 테스트
    1. Rollback segment tablespace 생성
    2. 테스트하기 위해 생성할 Rollback segment 갯수 결정
    3. 같은 크기의 extent로 rollback segment 생성
    extent 갯수는 최대 확장 시 10 - 30 개 정도가 되도록 extent 크기를 결정
    4. Rollback segment의 minextents는 2이다.
    5. 테스트할 rollback segment와 system rollback segment만 online 상태로 한다.
    6. Transaction을 수행하고, 필요하면 application을 load한다.
    7. Rollback segment contention을 확인한다.
    8. Rollback segment가 최대 얼마까지 확장하는지 모니터링한다.
    Rollback Segment extent의 크기와 갯수
    Rollback segment가 자라나는 최대 사이즈를 알 수 있는데, 이 수치를
    "minimum coverage size"라 한다. 만약, contention이 발생한다면 rollback
    segment 갯수를 늘려 가면 테스트를 반복한다. 또한, extent 갯수가 10개
    미만이나 30개 이상이 될 필요가 있다면 extent 크기를 늘리거나 줄이면서
    테스트를 반복해 나가면 된다.
    Rollback segment의 extent 크기를 정할 때, 각 extent는 모두 같은 크기로
    생성할 것을 recommend한다.
    Rollback tablespace의 크기는 extent size의 배수로 지정한다.
    최적의 성능을 위한 rollback segment의 minextents는 20 이상이어야 한다.
    Rollback Segment의 minextents를 20 이상으로 하면 좋은 이유?
    Rollback segment는 dynamic하게 allocate되고, 더 이상 필요 없게 되었을 때
    (만약, Optimal parameter가 셋팅되어 있으면) 모두 commit된 extent에
    대해서는 optimal size 만큼만 남기고 release(deallocate)된다.
    Rollback segment가 적은 수의 extent를 가질 수록, space 할당/해제 시
    extent 수가 많을 때보다 큰 사이즈의 space가 할당되고, 해제된다.
    다음과 같은 예를 들어 보자.
    200M 정도의 rollback segment가 있는데, 100M 짜리 2개의 extent로 이루어져
    있다고 가정해보자. 이 rollback segment에 추가로 space를 할당해야 할 일이
    생겼을 때, 모든 rollback segment extent는 같은 크기를 가져야 한다는 점을
    감안할 때, 100M 짜리 extent를 하나 더 할당해야 할 것이다.
    이 결과 직전의 rollback segment 크기에 비하여 50% 만큼의 크기 증가분이
    생겨나게 된 것인데, 실제 필요로 하는 space보다 더 많은 space가 할당되었을
    것이다.
    이와 반대로, 10M 짜리 extent 20개로 구성된 200M 짜리 rollback segment를
    생각해보자.
    여기에 추가로 space를 할당해야 할 일이 생겼을 때, 10M 짜리 extent 하나만
    추가되면 되는 것이다.
    Rollback segment가 20개 또는 그 이상의 extent로 구성되어 있다면 extent가
    하나 더 증가할 경우가 생겼을 때, rollback segment의 전체 크기가 5% 이상은
    늘어나지 않는다는 것이다.
    즉, space의 할당과 해제 작업이 보다 유연하고 쉽게 일어날 수 있다.
    요약하면, rollback segment의 extent 갯수를 20 이상으로 잡으면 space
    할당과 해제가 "보다" 수월해진다.
    실제로 extent 갯수를 20 이상으로 잡았을 때, 처리 속도가 훨씬 빨라진다는
    사실이 많은 테스트 결과 밝혀졌다.
    한가지 확실한 사실은, space를 할당하고 해제하는 작업은 cost가 적게 드는
    작업이 아니라는 사실이다.
    실제로 extent가 할당/해제되는 작업이 일어날 때, performance가 저하되는
    일이 발생한다는 것이다.
    Extent 하나에 대한 cost는 별 문제가 안 된다고 할지라도, rollback segment
    는 끊임없이 space를 할당하고 해제하는 작업을 반복하기 때문에 작은 크기의
    extent를 갖는 것이 cost 측면에서 훨씬 효율적이라는 결론이다.
    Rollback Segment의 Optimal storage parameter와 Shrink
    Optimal은 deallocate 시에 rollback segment 내에 optimal size 만큼의
    extents를 유지하기 위해 사용하는 rollback segment storage parameter이다.
    다음과 같은 명령으로 사용한다.
    alter rollback segment r01 storage (optimal 1m);Optimal size는 storage 절 안에서 기술되어야 한다.
    Optimal size 이상이 되면, 모두 commit된 extent에 대해서는 optimal size
    만큼만 남기고 release된다.
    즉, optimal에서 지정한 크기 만큼만 rollback segment를 유지하겠다는
    뜻이며, 일정한 크기로 늘어났다가 다음번 tx이 해당 rbs를 취할 경우
    optimal size만큼 resize하는 option이다.
    rbs의 가장 최근에 사용된 extent가 다 차서 다른 extent를 요구할 때
    이 optimal size와 rbs size를 비교하게 되며, 만약 rbs size가 더 크다면
    active tx에 관여하지 않는 tail extent에 대하여 deallocation이 이루어진다.
    특정 rollback segment가 너무 큰 space를 차지해서 다른 rollback segment가
    extent를 발생할 수 있는 여유 공간을 부족하게 만들기 때문에 이를 극복하기
    위해서 optimal size를 지정할 필요가 있다.
    즉, optimal parameter를 지정하면 space availability 측면에서 효율적이다.
    다음과 같이 shrink 명령을 수행하는데, size를 지정하지 않으면 optimal
    size 만큼 shrink된다.
    alter rollback segment [rbs_name] shrink to [size];Shrink 명령 수행 후, 바로 줄어들지 않는 경우가 있는데,
    transaction이 있는 경우는 줄어들지 않고, transaction이 종료되면 줄어든다.
    Optimal이 적용되는 시간은 session이 빠져 나가고 약 5~10 분 정도 걸린다.
    적당한 OPTIMAL SIZE?
    => 20 ~ 30 extents 정도가 적당한데, batch job의 성격에 따라 size는 달라
    지며 각 optimal의 합이 datafile의 size를 넘어도 전혀 상관없다.
    Optimal size를 initial, next와 같게 주면 extent가 발생하는 매번 shrink가
    일어나므로 좋지 않다.
    RBS들의 평균 크기를 구하여 이것을 optimal 크기로 지정하여 사용하는 것을
    권한다.
    다음의 query를 이용하여 peak time에 rollback segment들의 평균 크기를 구한다.
    select initial_extent + next_extent * (extents-1) "Rollback_size", extents
    from dba_segments
    where segment_type ='ROLLBACK';
    이 크기의 평균값(bytes)을 rollback segment들의 optimal size로 사용할 수
    있다.
    주의할 사항은 너무 자주 shrink된다거나 optimal 값을 너무 작게 주면
    ora-1555 : snapshot too old error가 발생할 확률이 높아지므로,
    사용하지 않는 것이 좋을 수도 있고, 되도록 큰 값으로 셋팅해야 한다.
    Rollback segment의 optimal size를 확인할 수 있는 view는 V$ROLLSTAT
    이라는 dynamic view로서 OPTSIZE column에서 확인이 가능하다.
    Example
    none
    Reference Documents
    <Note:69464.1>

  • Can rollback segments span one datafile like data segments

    1.Can rollback segments span one datafile like data segments?
    For e.g we have undo tablespace with 2 data files
    We have one active transaction in rbs01,now when rollback segment grows and extents are allocated to it ,if all the extents will be allocated to one data file or it can be allocated to any of the two data file.
    2.Can we set the transaction to a particular rollback segment when undo_management parameter is set to AUTO?

    1.Can rollback segments span one datafile like data
    segments?
    For e.g we have undo tablespace with 2 data files
    We have one active transaction in rbs01,now when
    rollback segment grows and extents are allocated to
    it ,if all the extents will be allocated to one data
    file or it can be allocated to any of the two data
    file.I don't think so. E.g. if you have a long transaction, you will need to create a larger RB segment and allocate this segment to be used. That's why you should be using automatic undo management as opposed to manual rollback segments.
    2.Can we set the transaction to a particular rollback
    segment when undo_management parameter is set to AUTO?No, when you use automatic undo management, you create one tablespace for undo management. THere is no concept of individual rollback segments.

  • How to solve about rollback segment fail to extend?

    I've a transaction about 50,000 records, then process fail in script. the error code is ORA-01562 FAIL TO EXTEND ROLLBACK SEGMENT = num. I'm use oracle database 7.3.4., form 4.5

    It would be better to have several small transactions instead of one huge transaction of 50000 records, like you say. You may use an additional log table to keep the log of how far you've got in processing those 50000 records, and pick up from where you've left in case something goes wrong.
    Anyway, one thing that may help would be to use:
    alter tablespace your_rbs_tablespace
    add datafile ...;
    to have more space for your rollback segment(s).
    Eventually, you may have a large rollback segment and set transaction use huge_rbs, in order to have your huge transaction use that huge rollback segment.
    null

  • Multiple db2 instances with informix in a single transaction

    Hi All,
    Can somebody tell how this can be achieved.
    I do have 3 db2 instances in three physical mahines. Within a transaction I will
    only be writing to a one instance but will be retieving data from the other two
    instances. In the same transaction I will be writing to a Informix database as
    well. All the systems are on windows.
    The application server is Weblogic 7.02.
    For DB2 the driver is db2jcc driver which does not support XA transactions. And
    for informix we do use the driver which comes along with the informix installation
    which is a XA supported driver.
    We do have seperate TXDatasources created in the Web logic server and EJBs are
    used in the project.
    As welogic can give the XA features only for one none XA driver. How about implementing
    the above scenario.
    Waiting for a early response.

    Hello Sebastien,
    Thanks for your response!!!
    Let me make it bit more clear.In deploymewnt descriptor,we define jndi name for any resource and do a lookup on that resource from the code.
    Let us consider that resource as JDBC data source for our discussion.usually you define any jdbc data source under a JDBC resource provider.
    So my question is,in a single transaction can you access multiple data sources defines under multiple JDBC resource providers.
    Ex:A datasource "x "defined under resource provider "A"[say DB2 jbdc provider] and a datasource "y" defined under respurce provider "B"[say mysql jdbc provider].
    Thanks

  • Multiple Database access in a single transaction

    Hello All,
    I have read in a book which states that "according to J2ee Specification,a single transaction(an EJB method for example) may not be provided access to multiple JDBC resource providers.."
    Does it mean that i cannot access multiple databases from different vendors in a single EJB transaction??
    Any help is very much appreciated
    Thanks

    Hello Sebastien,
    Thanks for your response!!!
    Let me make it bit more clear.In deploymewnt descriptor,we define jndi name for any resource and do a lookup on that resource from the code.
    Let us consider that resource as JDBC data source for our discussion.usually you define any jdbc data source under a JDBC resource provider.
    So my question is,in a single transaction can you access multiple data sources defines under multiple JDBC resource providers.
    Ex:A datasource "x "defined under resource provider "A"[say DB2 jbdc provider] and a datasource "y" defined under respurce provider "B"[say mysql jdbc provider].
    Thanks

  • Multiple records as a single transaction in JDBC Receiver Adapter

    Hi,
    I am sending multiple records in a single message to a JDBC receiver adapter to get updated to the database. How to make all the insert a single transaction. Like all the records has to be inserted else all has to be rolled back.
    For eg for table Employee two fields EMPNO and EMPNAME
    EMPNO  EMPNAME
    1            Jay
    2            Christie
    These two records are in the same message and has to be updated
    if one fails the other has to be rolled back.
    How can i achieve it using a JDBC Receiver Adapter.
    Thanks
    Sebin

    Hi Rolf Micus,
    My xml structure to insert 2 tables are as follow:-
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:MT_PODB xmlns:ns0="http://abeam.com/xi/fer_filejdbc_scenarios1">
    ..   <STATEMENT_HEADER>
    ....      <ROW action="INSERT">
    ......         <TABLE>ZPO_HEADER</TABLE>
    ......        <access>
    ........            <PONUMBER>001</PONUMBER>
    ........            <PODATE>20070801</PODATE>
    ........            <POAMOUNT>200.99</POAMOUNT>
    ....         </access>
    ....      </ROW>
    ..   </STATEMENT_HEADER>
    ..   <STATEMENT_DETAIL>
    ....      <ROW action="INSERT">
    ......         <TABLE>ZPODETAIL</TABLE>
    ......         <access>
    ........            <PONUMBER>001</PONUMBER>
    ........            <PONO>1</PONO>
    ........            <POITEMCODE>A12345</POITEMCODE>
    ........            <POITEMDESC>Testing A</POITEMDESC>
    ........            <POITEMAMOUNT>2990.00</POITEMAMOUNT>
    ........            <POITEMQTY>55</POITEMQTY>
    ......         </access>
    ....      </ROW>
    ..   </STATEMENT_DETAIL>
    </ns0:MT_PODB>
    Fro the structure that you have declared..there is only contained 1 statement, try to admend your MT to have 2 statements.
    If you wish to insert multiple records, just create a loop/multiple of access tag inside STATEMENT tag. For example, multiple records insert into Header should have multiple access tag in Header STATEMENT. Same goes for muliple records insert into Details STATEMENT should have multiple access tag in Details STATEMENT.
    With this structure, whenever any records insert/update/delete failed...it will rollback all the transactions together, ie. Header and Details.
    PS: For different table, please create different STATEMENT.
    Hope it helps.
    Message was edited by: Pua Ming Fei

  • Entering multiple scrap accounts in a single transaction

    Hi guys
    Can I enter multiple scrap accounts in OSFM transactions in a single form?
    I hope oracle offers only single a/c for each step.
    This will minimize the data entry effort for me.
    Please suggest any work arounds.
    Regards
    Sreee

    Hello Sebastien,
    Thanks for your response!!!
    Let me make it bit more clear.In deploymewnt descriptor,we define jndi name for any resource and do a lookup on that resource from the code.
    Let us consider that resource as JDBC data source for our discussion.usually you define any jdbc data source under a JDBC resource provider.
    So my question is,in a single transaction can you access multiple data sources defines under multiple JDBC resource providers.
    Ex:A datasource "x "defined under resource provider "A"[say DB2 jbdc provider] and a datasource "y" defined under respurce provider "B"[say mysql jdbc provider].
    Thanks

  • Does lion server support a single email address across multiple devices??

    I am looking to move from an outdated Microsoft Exchange Server 2003 to OS X Lion Server but I am unsure as to how Lion will handle email. I do not want to spend money on a new windows server if I can get a Mac Mini Server to do the job. I am a very small business with a number of email accounts for a couple employees and need access to email and calendar from both the office iMac's and my Macbook Pro when on the road. My IT guy says I need Exchange but he's been off base on a few other items recently and I wanted to check with other sources.
    I have 2 new iMac's, a MacBook Pro, an iPad1 and and iPhone4 on the mac side of things and 2 windows computers running XP. I would get rid of the windows computers completely if not for my CAD program which runs best not in a virtual machine mode.
    How well will email and calendar entries sync across devices?

    I have a very similar setup at my office. Lion Server will push email, calandar, contacts to all of your apple product with out a hitch.
    As far the Windows XP machines, you can access email over IMAP with Thunderbird, and calandars via sunbird or the built in web app.
    I would ditch the exchange server move to Mac OS X Server, and never look back.
    God Luck!
    PS. All of your devices will be in sync all the time.
    Shore answer:
    Does lion server support a single email address across multiple devices??
    Yes.

Maybe you are looking for

  • Constant Java Runtime pop up message after Yosemite Update

    After downloading Yosemite, a message keeps popping up saying " To view this web content, you need to install the Java Runtime Environment." I have already installed the Java update, but the message continues to pop every hour or so. Can anyone tell

  • IMac Won't Boot

    I have a 24" iMac bought in 2007. It now won't boot up. I suspect it is because the hard drive is so full that it won't reboot. Is there a way to rectify this without an erase and reinstall? I do have Applecare.

  • It should be interface or class ?

    Friends, I have a major entity in my application. That entity is, u can say, heart of the what application does. Actually, clients can open up a case with supplier and that case is my main entity. Now that case can be of any type out of some 7 types.

  • Check for Oracle Service using a batch

    Hi, I am using Oracle XE 10g as the database for my project. I have a custom service to be started only if Oracle service is up and running. Currently i am checking for the service as below: +:WHILELOOP+ net start | find /i "oracleservicexe" >nul IF

  • Open Enrollment form

    I was just tasked with creating an open enrollment form for courses my company would be offering to the general public. What would the best way to do this be? My employer would like to be able to see the dates of the courses, people choose a day(s) a