HOW TO VERIFY A DEFERRED TRANSACTION HAS BEEN PUSHED IN ORACLE8(MASTER REPL

제품 : ORACLE SERVER
작성날짜 : 2004-08-16
HOW TO VERIFY A DEFERRED TRANSACTION HAS BEEN PUSHED IN ORACLE8
(MASTER REPLICATION)
================================================================
본 자료에서는 어느 시점에서, Deferred transaction이 PUSH 되었는지를
확인하는 방법을 제시한다(In symmetric replication).
단, Advanced Replication Feature는 8~10g Standard Edition에서는
지원하지 않는다.
개 념
=====
V7.x 에서는 deferred transaction 이 PUSH 됨과 동시에 삭제 되었으나, V8.x
부터는 일정시간(interval) 이후에 PURGE 되는 절차를 따른다.
임의의 transaction은 아래와 같은 조건을 만족할때 PUSH 된 것으로 확인될
수 있다.
즉, SCN-based integer 값을 기초로 transaction ordering 을 유지한다는
기본개념을 적용한 것이다.
- system.DEF$_DESTINATION.last_delivered > system.DEF$_AQCALL.cscn
* DEF$_DESTINATION.last_delivered : the last transaction applied
at the destination
예 제
=====
이 예제는 REP1.ORACLE.COM site 에서 REP2.ORACLE.COM site 로 transaction 이 PUSH 되는 결과를 보여준다.
SQL> insert into scott.dept values (80,'MARKETING','ORLANDO');
1 row created.
SQL> commit;
Commit complete.
SQL> select * from deftran;
DEFERRED_TRAN_ID DELIVERY_ORDER
4.49.495 479001
3.0.494 478972
OR
SQL> select enq_tid, cscn from system.def$_aqcall;
ENQ_TID CSCN
4.49.495 479001
3.0.494 478972
DEF$_DESTINATION table을 통하여 마지막으로 propagation 된 정보를 확인할
수 있다
SQL> select dblink, last_delivered from system.def$_destination;
DBLINK LAST_DELIVERED
REP2.ORACLE.COM 478992
REP1.ORACLE.COM 478878
이 시점에서 DEFERRED_TRAN_ID or ENQ_TID 4.49.495 transaction 이 PUSH 되지
않았음을 알 수 있는것이다. 이는 DELIVERY_ORDER or CSCN 479001 transaction이 REP2.ORACLE.COM 에 대해 마지막으로 전이된 478992 보다 큰 값을 가지고 있기
때문이다.
즉, DEF$_AQCALL.CSCN > DEF$_DESTINATION.LAST_DELIVERED 을 만족한다면 해당 transaction 은 아직 PUSH 되지 않았음을 뜻한다.
그럼 PUSH scheduling 을 적용 함으로써, 이러한 값들이 어떻게 변하는지 알아
보도록 하자.
SQL> exec dbms_defer_sys.schedule_push('rep2.oracle.com',
'sysdate+1/(60*24)', sysdate+1/(60*24));
PL/SQL procedure successfully completed.
SQL> select * from deftran;
DEFERRED_TRAN_ID DELIVERY_ORDER
4.49.495 479001
3.0.494 478972
SQL> select enq_tid, cscn from system.def$_aqcall;
ENQ_TID CSCN
4.49.495 479001
3.0.494 478972
위 값들은 전혀 변하지 않았으나, 이는 Deferred transaction mechanism 관점에서
정상적인 정보를 나타내고 있다(아직 PURGE 되지 않았기 때문)
SQL> Select dblink, last_delivered from system.def$_destination;
DBLINK LAST_DELIVERED
REP2.ORACLE.COM 479017
REP1.ORACLE.COM 478878
그러나, DEF$_DESTINATION table 의 LAST_DELIVERED column 값을 확인해 보면, REP2.ORACLE.COM site 에 대한 값이 증가했음을 볼 수 있다.
그런 이유로 DEFTRAN 에 기록되었던 transaction 중 DEF$_AQCALL.CSCN < DEF$_DESTINATION.LAST_DELIVERED 을 만족하는 모든 transaction 은 PUSH
되었음을 확인할 수 있는것이다.
특정 SITE 에 대해 PUSH 된 transaction 수를 구하는 방법
====================================================
SQL> connect system/manager
Connected.
SQL> select count(*)
from def$_aqcall
where cscn < (select last_delivered
from def$_destination
where dblink ='REP2.ORACLE.COM');
COUNT(*)
2
Reference
=========
Multimaster replication
How to rectify the replication environment
Parallel propagation

제품 : ORACLE SERVER
작성날짜 : 2004-08-16
HOW TO VERIFY A DEFERRED TRANSACTION HAS BEEN PUSHED IN ORACLE8
(MASTER REPLICATION)
================================================================
본 자료에서는 어느 시점에서, Deferred transaction이 PUSH 되었는지를
확인하는 방법을 제시한다(In symmetric replication).
단, Advanced Replication Feature는 8~10g Standard Edition에서는
지원하지 않는다.
개 념
=====
V7.x 에서는 deferred transaction 이 PUSH 됨과 동시에 삭제 되었으나, V8.x
부터는 일정시간(interval) 이후에 PURGE 되는 절차를 따른다.
임의의 transaction은 아래와 같은 조건을 만족할때 PUSH 된 것으로 확인될
수 있다.
즉, SCN-based integer 값을 기초로 transaction ordering 을 유지한다는
기본개념을 적용한 것이다.
- system.DEF$_DESTINATION.last_delivered > system.DEF$_AQCALL.cscn
* DEF$_DESTINATION.last_delivered : the last transaction applied
at the destination
예 제
=====
이 예제는 REP1.ORACLE.COM site 에서 REP2.ORACLE.COM site 로 transaction 이 PUSH 되는 결과를 보여준다.
SQL> insert into scott.dept values (80,'MARKETING','ORLANDO');
1 row created.
SQL> commit;
Commit complete.
SQL> select * from deftran;
DEFERRED_TRAN_ID DELIVERY_ORDER
4.49.495 479001
3.0.494 478972
OR
SQL> select enq_tid, cscn from system.def$_aqcall;
ENQ_TID CSCN
4.49.495 479001
3.0.494 478972
DEF$_DESTINATION table을 통하여 마지막으로 propagation 된 정보를 확인할
수 있다
SQL> select dblink, last_delivered from system.def$_destination;
DBLINK LAST_DELIVERED
REP2.ORACLE.COM 478992
REP1.ORACLE.COM 478878
이 시점에서 DEFERRED_TRAN_ID or ENQ_TID 4.49.495 transaction 이 PUSH 되지
않았음을 알 수 있는것이다. 이는 DELIVERY_ORDER or CSCN 479001 transaction이 REP2.ORACLE.COM 에 대해 마지막으로 전이된 478992 보다 큰 값을 가지고 있기
때문이다.
즉, DEF$_AQCALL.CSCN > DEF$_DESTINATION.LAST_DELIVERED 을 만족한다면 해당 transaction 은 아직 PUSH 되지 않았음을 뜻한다.
그럼 PUSH scheduling 을 적용 함으로써, 이러한 값들이 어떻게 변하는지 알아
보도록 하자.
SQL> exec dbms_defer_sys.schedule_push('rep2.oracle.com',
'sysdate+1/(60*24)', sysdate+1/(60*24));
PL/SQL procedure successfully completed.
SQL> select * from deftran;
DEFERRED_TRAN_ID DELIVERY_ORDER
4.49.495 479001
3.0.494 478972
SQL> select enq_tid, cscn from system.def$_aqcall;
ENQ_TID CSCN
4.49.495 479001
3.0.494 478972
위 값들은 전혀 변하지 않았으나, 이는 Deferred transaction mechanism 관점에서
정상적인 정보를 나타내고 있다(아직 PURGE 되지 않았기 때문)
SQL> Select dblink, last_delivered from system.def$_destination;
DBLINK LAST_DELIVERED
REP2.ORACLE.COM 479017
REP1.ORACLE.COM 478878
그러나, DEF$_DESTINATION table 의 LAST_DELIVERED column 값을 확인해 보면, REP2.ORACLE.COM site 에 대한 값이 증가했음을 볼 수 있다.
그런 이유로 DEFTRAN 에 기록되었던 transaction 중 DEF$_AQCALL.CSCN < DEF$_DESTINATION.LAST_DELIVERED 을 만족하는 모든 transaction 은 PUSH
되었음을 확인할 수 있는것이다.
특정 SITE 에 대해 PUSH 된 transaction 수를 구하는 방법
====================================================
SQL> connect system/manager
Connected.
SQL> select count(*)
from def$_aqcall
where cscn < (select last_delivered
from def$_destination
where dblink ='REP2.ORACLE.COM');
COUNT(*)
2
Reference
=========
Multimaster replication
How to rectify the replication environment
Parallel propagation

Similar Messages

  • How to verify that trust relationship has been set up successfully at client machine ?

    Hello,
    There is trust set up with domain group.Would you please let me know how can I verify that trust relationship has been set up correctly in such a way that i can see the users of trusted group on client machine ?
    Any idea?
    Note :I do not have access on Domain Controller.
    Thanks and Regards,
    Dipti
    Dipti Chhatrapati

    Hi
    As far as I know, trust certificates that have been exchanged between the SharePoint farm and external systems should be visible by going to  the Central Admin->Security->Manage Trusts page.
    Kind Regards
    Bjoern
    http://www.sharepointviking.com
    Twitter: Follow @bjoern_rapp

  • How to verify that the request has been moved to Quality System

    Hi friends,
    I a new abaper and i need ur help in solving this issue.
    I have developed an object and released( as per the suggestions given already in this forum). Its working well and i can see the request in released status in se09.
    No what i really want is , How can i verify that the request has been moved to Quality System by the basis people, assuming that i have only access to dev system.

    Yes, once u release the request, if it is successfullly released will make the request avaialble under released requests
    As an ABAP'er this is enof
    <b>wht abt me Sravanan :-(</b>
    Regards
    - Gopi
    Message was edited by: Gopi Narendra

  • Verify that this class has been marked with the @Entity annotation

    Hi,
    We have a App level shared lib which does all the JPA related query for an app. And each app can utilize the share lib to get the JPA related query to be done.
    For scoping the JPA between App . We have created EMF for each app.
    When one app run and does any JPA related action it works fine , but when we try to run second app we are seeing the following error when trying to do JPA specific action .
    the @Entity annotation.
    [2012-05-23T04:08:16.839-07:00] [WC_Spaces] [ERROR] [] [oracle.webcenter.spaces] [tid: [ACTIVE].ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'] [ecid: 5825b814-2931-4ad5-8dc3-3e18f66992b7-00000004,0] [APP: webcenterCustom] [[
    java.lang.IllegalArgumentException: Unknown entity bean class: class oracle.webcenter.spaces.internal.repository.WcSpaceHeader, please verify that this class has been marked with the @Entity annotation.
    at org.eclipse.persistence.internal.jpa.EntityManagerImpl.find(EntityManagerImpl.java:648)
    at org.eclipse.persistence.internal.jpa.EntityManagerImpl.find(EntityManagerImpl.java:532)
    at oracle.webcenter.spaces.internal.repository.SpaceRepositoryUtils.refreshSpaceRows(SpaceRepositoryUtils.java:1791)
    Where WcSpaceHeader is an Entity.
    For creating emf per App this is the code
    private static EntityManagerFactory getEntityManagerFactory()
    String appName=Utility.getApplicationName();
    EntityManagerFactory emf=sEntityMgrFactory.get(appName);
    if(emf==null)
    emf=Persistence.createEntityManagerFactory("SpacesReposPUnit");
    sEntityMgrFactory.put(appName,emf);
    SpacesConstants.LOGGER.info("Caching" +
    "EMF for " +appName);  
    return emf;
    My persistence.xml
    <?xml version="1.0" encoding="US-ASCII" ?>
    <persistence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
    version="1.0" xmlns="http://java.sun.com/xml/ns/persistence">
    <persistence-unit name="SpacesReposPUnit" transaction-type="RESOURCE_LOCAL">
    <provider>
    org.eclipse.persistence.jpa.PersistenceProvider
    </provider>
    <class>oracle.webcenter.spaces.internal.repository.WcSpaceHeader</class>
    <class>oracle.webcenter.spaces.internal.repository.WcSpaceUsrDetail</class>
    <class>oracle.webcenter.framework.service.jpa.WcCommonXlationEntity</class>
    <class>oracle.webcenter.spaces.internal.repository.WCNavigationActivity</class>
    <properties>
    <property name="eclipselink.session.customizer"
    value="oracle.webcenter.spaces.internal.repository.SpacesEclipselinkSessionCustomizer"/>
    </properties>
    </persistence-unit>
    </persistence>
    One more problem i am seeing in this is that . When i create an EM from EMF (which is diff for diff app) and doing some query i am getting a class cast Exception.
    (self-tuning)'] [ecid: 5825b814-2931-4ad5-8dc3-3e18f66992b7-00000004,0] [APP: webcenterCustom] [[
    java.lang.IllegalArgumentException: Unknown entity bean class: class oracle.webcenter.spaces.internal.repository.WcSpaceHeader, please verify that this class has been marked with the @Entity annotation.
    at org.eclipse.persistence.internal.jpa.EntityManagerImpl.find(EntityManagerImpl.java:648)
    at org.eclipse.persistence.internal.jpa.EntityManagerImpl.find(EntityManagerImpl.java:532)

    This is a class loader issue, somehow you have deployed the same classes in two places, so have two different versions of the classes.
    How, exactly have you deployed things, where are your domain classes?
    The issues is most likely that,
    Persistence.createEntityManagerFactory("SpacesReposPUnit");
    will always return the same factory once it has been deployed.
    If you pass a properties map to createEntityManagerFactory and set the property "eclipselink.session-name" to a unique value, then you should get a new factory.

  • How to find how many times a t code has been processed by a user

    How to find how many times a t code has been processed by a user I am not able to get the exact number from the ST03 or STAD/STAT transaction. I am requiring the specific number that this T code has been processed completely this many no of times for a specific period.

    You must be more precise with your question.
    How long is the time period which you want to check, few hours or several days or longer? And how many executions do you expect, 100, 10000 or millions?
    The STAD should help you, for the smaller numbers. There is no solution for the larger ones. Don't mix STAD and ST03, ST03 is aggregated STAD information
    and know only how often a transaction was executed in total.
    ST05 is no solution for your problem to much overhead, and yoou should trace only a short period.
    There is no tool to check usage of transactions in more detail because of privacy reasons.
    Siegfried

  • How do I find music that has been uploaded to iTunes from a purchased CD and iTunes is "unable to find the original file?" I no longer have the CD. I have tried all the usual methods of looking in my iTunes library and through Find. No Luck.

    How do I find music that has been uploaded to iTunes from a purchased CD and iTunes is “unable to find the original file?” I no longer have the CD. I have tried all the usual methods of looking in my iTunes library and through Find. No Luck.

    Backup drive?
    Subscribe to iTunes Match?
    If neither of the above and you don't have the CD and can't find your tracks on the computer then they you're stuck.  A file recovery utility will cost $100, plus another $100 for an external drive to which to resue the files, and may not even work.  You can buy a lot of CDs for $200.

  • Am I able to find out how many times my ICloud account has been accessed?

    Am I able to find out how many times my ICloud account has been accessed?

    I'm afraid iCloud doesn't provide access logs.

  • Keeping count of how many times a case structure has been entered.

    I have a "Case" structure (when a button is pressed, it is "case True").
    I want to keep track of how many times this "case True" has been entered.
    How can I do this?
    Solved!
    Go to Solution.

    For that you need to have a shift register or a feedback node and keep counting whenever the case structure case is executed the count will be increased by one see the attached snippet.
    Good Luck
    The best solution is the one you find it by yourself
    Attachments:
    CaseStructure count.png ‏10 KB

  • How do I know what Opatch has been installed on OBIEE 11.1.1.6.2?

    Hi,
    I started working with new client and someone does obiee upgrade to 11.1.1.6.2. now users got some issue and we identified that issue can be resolved if we apply a patch and to apply that patch it is saying please make sure you have installed pre requisite patch with some number. how do I know what Opatch has been installed on OBIEE 11.1.1.6.2?
    any command or file available?
    Edited by: JV123 on Feb 14, 2013 2:48 PM

    Check this
    http://www.cool-bi.com/CMDline/DeterminingCurrentPatchLevels.php
    If helps mark

  • How to get PDF file that has been transformed into docx into my filing system so I can work on it???

    How can I get the PDF file that was transformed into a docx file into my filing system to be able to work on it and translate it as the customer requested?

    THanks for your reply.
    Well what happens is I bought the program. It gives you a button to click,
    you log in and then a box opens up asking you to select the file, I go into
    my filing system (in Windows explorer) select the file, and the program
    converts it into docx, my choice.  I can read it there and when I try to
    copy and paste it into my file where the PDF version is saved, it behaves
    like an "image", and I can't save it.... or it saves likes something you
    save on the internet, so you have to go into internet every time you want
    to see it.    I have also pressed any amount of buttons to see if it will
    give me the option to save it any other way, and have found nothing.  What
    I would need is a file in docx.format that I can edit.  People send me
    things in PDF and sometimes I can just copy it off the PDF file and save it
    in WOrd, then I can translate it for them. But sometimes the PDF file
    doesnt allow me to copy the text.  If it is in image form, I cannot work on
    it.  It means printing it, so I can copy type it into Word... and for that
    I certainly wouldnt need to buy a program.  Its just double the work and
    ends up that the job takes twice as long.!
    Sorry  if I am a bit dumb with informatics.  But I simply could not find
    any way whatever to  copy the PDF file that was transformed into Word, in a
    format that would enable me to edit it.
    Kindest regards,
    Margery
    2013/12/2 Test Screen Name <[email protected]>
        Re: How to get PDF file that has been transformed into docx into my
    filing system so I can work on it???
    created by Test Screen Name<http://forums.adobe.com/people/TestScreenName>in *Adobe
    ExportPDF* - View the full discussion<http://forums.adobe.com/message/5890871#5890871

  • How do I know which block has been changed in Master/Detail

    Hi,
    I have master detail blocks. How do I know which block has been changed?
    I used :SYSTEM.FORM_STATUS. It only gave me "Changed" or "Query". but didn't tell me which block has been changed in MASTER or DETAIL.

    I believe if :system.form_status != 'QUERY' you'll need to loop through through the blocks checking :system.block_status to see who changed. Of course you'd have to go_block() before checking the status.

  • How to know if a file has been updated in iCloud after modification?

    How to know if a file has been updated in iCloud after modification?
    I work on various app including Keynote on my Mac Pro. And after modification, i close file and I wait.
    When I see no more Internet traffic. I assume that keynote has uploaded all the works I have done into iCloud.
    But when I open the same file on my iPad on the way to work. I do not see the file updated.
    I assume that I did not wait long enough.
    I wished I had a way to enforce the updated file to upload and way to get confirmation that it has been completed.
    In windows I simply push the sync button.
    But for iCloud I do not yet see anything like that.
    Please help.

    you would be better served asking this in the iCloud discussion, where users are more knowledgeable about iCloud. Replies on iOS and iCloud issues are usually unanswered here because of our lack of knowledge.

  • The View of FLB1 Transaction has been changed

    Hi all,
    The view of FLB1 transactions has been changed and now we are not able to see any check to post.
    Please help me out this

    We have got the solution

  • HT5129 How do I turn off MobileMe has been discontinued warning off.  I did not keep photo under gallery so there is no need to migrate.

    How do I turn off "MobileMe has been discontinued" warning off.  I did not keep photo under gallery so there is no need to migrate.  The warning keep on showing up after initial round.

    In the iPhoto preferences delete all references to MM and do likewise in the system preferences
    LN

  • How to see if rental film has been charged

    How to see if rental film has been charged to my iTunes account, because it has left a blank grey square instead of a picture??

    You can view account's purchase history via the Store > View Account menu option on your computer's iTunes, or (on the current version of iTunes) by clicking on your name towards the top right of iTunes and clicking Account Info on the popup) : See your purchase history in the iTunes Store - Apple Support
    Or on your iPad, or on a browser on a computer, you can view the last 90 days purchases on your account (and optionally contact iTunes Support if you have a problem with a purchase) via http://reportaproblem.apple.com

Maybe you are looking for