No.of Transcations in a Database

hello,
we are using oracle 10g on solaris 5.6.
How can i find out the number of transcations that are done on a database in 1 day or number or reads and writes on the datafiles in a day.
Thanks for any help.

You can calculate the number of transactions that have ran since the last start of the database using v$sysstat statistic values but Oracle does not store the transaction count except as part of statspack and AWR snapshots. Depending on if and how often you take snapshots (and if you have a performace pack license) you could potentially use data from these.
set echo off
-- SQL*Plus script to calculate Transactions Per Second for version 8+
-- 20020513  Mark D Powell   New, cre as resp 2 metalink req fr ver 7 Query
--  Version 7 Query:
--  SELECT SUM(s.value/
--  (86400*(SYSDATE - TO_DATE(i.VALUE,'J')))) "tps"
--  FROM V$SYSSTAT s, V$INSTANCE i
--  WHERE s.NAME in ('user commits','transaction rollbacks')
--  AND i.KEY = 'STARTUP TIME - JULIAN'
select
  round(sum(s.value / (86400 * (SYSDATE - startup_time))),3) "TPS"
from
  v$sysstat  s
,v$instance i
where s.NAME in ('user commits','transaction rollbacks')
/For file IO information look at v$filestat.
HTH -- Mark D Powell --

Similar Messages

  • How to Rollback Database Transcation in BPEL?

    Hello,
    I am trying to do Insert/Update operation in Three Tables.
    Now as part of Exception handling activity, after Insertion/Updation on Two tables suppose my last transaction got failed while updating Third table.
    so how can i rollback(undo) the data from previous two tables?
    if Compensate Handler is best option then can anyone tell me what should i do?
    Your early response will be appriciated,
    Thanks.

    Can you add tx-level="global" on the end, its the default but I just want to make sure.
    <managed-data-source name=connection-pool-name="tempDatabase" jndi-name="eis/DB/tempdata" name="tempDatabaseDataSource" tx-level="global" />also the factory class should be oracle.jdbc.xa.client.OracleXADataSource
    In your SOA Home there is an example on how to implement this.
    $SOA_HOME/bpel/samples/tutorials/122.DBAdapter/advanced/dmlInvoke/XAInsert
    Also can we try the following?
    <BPELProcess id="CompensateDemo" src="CompensateDemo.bpel">
    <partnerLinkBindings>
    <partnerLinkBinding name="client">
    <property name="wsdlLocation">CompensateDemo.wsdl</property>
    </partnerLinkBinding>
    <partnerLinkBinding name="Address">
    <property name="wsdlLocation">Address.wsdl</property>
    <property name="retryInterval">60</property>
    <property name="retryMaxCount">3</property>
    </partnerLinkBinding>
    <partnerLinkBinding name="Contact">
    <property name="wsdlLocation">Contact.wsdl</property>
    <property name="retryInterval">60</property>
    </partnerLinkBinding>
    </partnerLinkBindings>
    <configurations>
    <property name="transaction">participate</property>
    </configurations>
    </BPELProcess>

  • Multiple create methods of entity beans in single transcation

    Hi,
    I have some entity beans with CMR. I am managing these entity beans with a Stateful session bean whose transaction type is Container Managed for all its methods.
    In one particular method of this Session bean I am calling two entity bean's create method. i.e I am creating two entity beans through home.create() methods. There are two home.create() methods one after another inside a try catch block.
    I want that the entire operation be under just one transcation so i have also given the transaction attribute as Required for all methods of Session bean and Entity Beans.
    However if i pass invalid parameters to second create method so that it generates exception then still the first create statement is successful and database is updated.
    what i want is that the first create also should be roll backed.
    How can i acheive this through Container Managed Transaction Session Bean?

    Hi Ashwini,
    "Ashwini" <[email protected]> wrote in message news:400291af$[email protected]..
    I have some entity beans with CMR. I am managing these entity beans with a Stateful session bean whose transactiontype is Container Managed for all its methods.
    >
    In one particular method of this Session bean I am calling two entity bean's create method. i.e I am creatingtwo entity beans through home.create() methods. There are two home.create() methods one after another inside a try catch
    block.
    >
    I want that the entire operation be under just one transcation so i have also given the transaction attribute asRequired for all methods of Session bean and Entity Beans.
    >
    However if i pass invalid parameters to second create method so that it generates exception then still the firstcreate statement is successful and database is updated.
    what i want is that the first create also should be roll backed.
    How can i acheive this through Container Managed Transaction Session Bean?o Do you use TXDatasource with your entity beans?
    o In CMT transactions are automatically rolled back only when RuntimeExceptions
    are thrown. What kind of exception is thrown in your case?
    Regards,
    Slava Imeshev

  • Transcation and xa connections

    Hi,
    Once I declare a stateless session bean to use container managed transcations, the XA resources I will be using will be automatically initialized to use a global transcation right?
    For example, I allocated a XA connection, and allocate a JMS queue using the XAConnectionFactory, the database connection and the jms queue operation will be under the same global transcation automatically (managed by the container) correct? Or do I need to manuly get/set the XIDs to them?
    Thanks!
    GZ

    I got the answer. No everything is automatic

  • I am getting error while accesssing Oracle database

    i am trying to learn by playing around with '
    MORTGAGE LOAN APPLICATION.
    in database i have taken oracle.
    when i try to fire following query:
    select * from customer where custId={$ /process_data/@custId $}
    i am getting following error:
    Exception: Internal error.. Cause: ALC-DSC-000-000: com.adobe.idp.dsc.DSCRuntimeException: Internal error.

    Mehul
    I've not worked with Oracle but I'll give this a shot. Try the following:
    1) If the database you are querying is transcational, add the text (without quotes) "WITH (NOLOCK)" as part of your FROM clause. It may be possible for your DBAs to have set that any queries run without this to be rejected since it would result in locking the table.
    2) I assume, by your query, that custId is of an integer type but if it is varchar (String) then make sure to put your single quotes around the parameter afte the '='.
    I would ask the following:
    Where are you firing the query from? Are you doing it as part of a webservice the form is connected to or are you doing it inside Workbench using one of the JDBC services (or another means)?
    Josh Boyle
    [email protected]
    Cardinal Solutions Group

  • To find out user who has created or deleted entries in a database table

    Hi,
    I have a scenario where i have many entries for t001w table and somehow a new plant is created and existing plant is deleted , Now I need to know
    how to find out which user on what date has done these changes to the database table.
    Thanks
    Srikanth

    Hi,
    Go to the transcation  SCU3   and click on evaluate the changes log click yes  and then
    evalute log then enter ur table name ,don't forget to check the radio button evaluate for "TABLES" and then execute
    you will find details like this
    arameters for Analysis:
            System ID:            D60
            SAP Release:          700
            Client:               730
            Date :                28.04.2010
            Time:                 16:09:09
            User:                 DEVELOPER01
    elected Period:
            From (date/time)      22.04.2010 00:00:00
            To (date/time)        28.04.2010 16:07:51
    o logs found for the selected period
    o authorization group containing the following tables:
    zFEED_QUES_MASTR

  • How to insert into database using jsp

    sir
    the code below is to enter the items in the database but it is giving the error .......of null.................
    <!-- JAI SHRI RAM -->
    <%@ page import="java.sql.*" %>
    <html>
    <head><title>JAI SHRI RAM</title></head>
    <body>
    <%
    String url = "jdbc:odbc:lala" ;
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    Connection conn = DriverManager.getConnection(url,"","");
    Statement st = conn.createStatement();
    for(int i=1 ; i<=13 ; i++)
    String skill_type = request.getParameter("skill_type"+i);
    String skill_name = request.getParameter("skill_name"+i);
    String version = request.getParameter("version"+i);
    String lastused = request.getParameter("last_used"+i);
    int last_used = Integer.parseInt(lastused);
    String proficiency_level = request.getParameter("proficiency_level"+i);
    String expinyears = request.getParameter("exp_in_years"+i);
    int exp_in_years = Integer.parseInt(expinyears);
    String expinmonths = request.getParameter("exp_in_months"+i);
    int exp_in_months = Integer.parseInt(expinmonths);
    String query = "insert into skills values(1 , '" + skill_type + "' , '" + skill_name + "', '" + version + "', 1 , '" + proficiency_level + "', 1 ,1)";
    st.executeUpdate(query);
    out.println("JAI SHRI RAM ,,,,,,,, transcation is over");
    %>
    </body>
    </html>
    i m using MS ACCESS
    please tell me the problem
    thank you
    gaurav

    Hi,
    Most probably you have problem in proper initialization of the database driver or the connection url.
    In lines shown bellow
    String url = "jdbc:odbc:lala" ;
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    Connection conn = DriverManager.getConnection(url,"","");Try to do that with more simple operations e.g. insert in a table with one field.

  • How to delete Transaction Logs in SQL database

    Hi,
    Can any one explain me the process how to delete the transcation logs in SQL database.
    Thanks
    Sunil

    Sunil,
    Yes you can take online backup in MS SQL server.
    The transaction log files contain information about all changes made to the database. The log files are necessary components of the database and may never be deleted. Why you want to delete it?
    I am taking any backup, do i need to turn off the SAP server that is running at the moment or can i take it online
    There are three main types of SQL Server Backup: Full Database Backup, Differential Database Backup and Transaction Log Backup. All these backups can be made when the database is online and do not require you to stop the SAP system.
    Check below link for details
    http://help.sap.com/erp2005_ehp_04/helpdata/EN/89/68807c8c984855a08b60f14b742ced/frameset.htm
    Thanks
    Sushil

  • Doubts in transcation

              Hai,
              1)
              I have two session bean which do some database operation.
              And in my deployment descriptor I have set transcational attribute
              as Required, as well as transcation type as bean.
              I have another bean which calls the methods of other two
              session bean.And in my deployment descriptor I have set transcational attribute
              as RequiresNew, as well as transcation type as bean.
              Entire thing is working fine for the first time.I mean it gets rollbacked when one
              gets fails.But when I do it next time (without restarting weblogic server) it's not working.I mean even one gets fails
              other gets committed.
              What should I do inorder to work well.
              2)
              When I do it using container managed transction, i couldn't accomplish
              transcation concepts.I mean even one gets fails
              other gets committed.
              Thanks in advance
              With Regards,
              Vinoth.c
              

    Hi Sitaram,
    - which ref table and ref field is suggestable: : For clarity include currency and unit fields in the same Z-table
    - which techincal settings is suggestable: This heavenly depends on the number of expected records and the type of use.
    You can use SE03 -> Change Object Directory entries for assigning a local object to a package.
    Regards,
    John

  • Database.pl error in Ciscoworks LMS 3.2

    Dear Friends,
    I am getting the following error only for database.pl when i run selftest under Common-->Services-->Admin:
    database.pl
    FAIL     Self Test Fail to query dfmEpm.DbVersion, Error: Database server not found (DBD: login failed)
         Self Test Fail to query dfmEpm.SYSTABLE, Error: Database server not found (DBD: login failed)
    Please find enclosed the output of pdshow.
    Can you please advise the recommended action for this?
    Thanks a lot
    Gautam

    The DFM EPM database is down.  This could be indicative of a corrupt database, or simply a damaged transcation log.  Shutdown Daemon Manager, then delete NMSROOT/databases/dfmEpm/dfmEpm.log if it exists.  Then run:
    NMSROOT/objects/db/win32/dbsrv10 -f NMSROOT/databases/dfmEpm/dfmEpm.db
    Then restart Daemon Manager.  If the EPMDbEngine process is still down, then you will need to reinitialize your EPM database, or restore LMS from a known good backup.  To reinitialize the database, run:
    NMSROOT/bin/perl NMSROOT/bin/dbRestoreOrig.pl dsn=dfmEpm dmprefix=EPM

  • No default driver for database type: jdbc:weblogic:jts problem

              Here is what we are trying to do. We have two Weblogic servers running on 2 different
              machines. Lets call them A and B. A has 2 beans lets call them Abean1, Abean2.
              and B has one bean called Bbean1. Now Abean1 has to contact Bbean1 which in turn
              has to contact Abean2 (dont ask why :) . We are running into transcation issues
              namely ' No default driver for database type: jdbc:weblogic:jts'. Abean1 has Container
              transaction and Bbean1 has Bean managed transaction. We set Abean2 methods transaction
              attribute to NotSupported. However no luck. Has anyone come across this kind of
              situation? Any clues as to what might be going on? Abean1 can contact Bbean1 successfully
              ie if we dont force Bbean1 to contact Abean2. However when Bbean1 tries to contact
              Abean2 thats when the fun starts.
              thanks
              

    Report to [email protected] It could be related to some JTS driver bugs that
              have been / are being fixed recently.
              Regards,
              Priscilla
              musman <[email protected]> wrote in message
              news:3bd74f33$[email protected]..
              >
              > Here is what we are trying to do. We have two Weblogic servers running on
              2 different
              > machines. Lets call them A and B. A has 2 beans lets call them Abean1,
              Abean2.
              > and B has one bean called Bbean1. Now Abean1 has to contact Bbean1 which
              in turn
              > has to contact Abean2 (dont ask why :) . We are running into transcation
              issues
              > namely ' No default driver for database type: jdbc:weblogic:jts'. Abean1
              has Container
              > transaction and Bbean1 has Bean managed transaction. We set Abean2 methods
              transaction
              > attribute to NotSupported. However no luck. Has anyone come across this
              kind of
              > situation? Any clues as to what might be going on? Abean1 can contact
              Bbean1 successfully
              > ie if we dont force Bbean1 to contact Abean2. However when Bbean1 tries to
              contact
              > Abean2 thats when the fun starts.
              >
              > thanks
              

  • What's the definition of a transcation?

    Hi there,
    I ran few ADDM report and it show to many transcations? Does Oracle define a "transaction" is when a user's commit? Please help me define the definition.
    Thanks

    FINDING 1: 43% impact (213 seconds)
    Waits on event "log file sync" while performing COMMIT and ROLLBACK operations
    were consuming significant database time.
    RECOMMENDATION 1: Application Analysis, 43% benefit (213 seconds)
    ACTION: Investigate application logic for possible reduction in the
    number of COMMIT operations by increasing the size of transactions.
    RATIONALE: The application was performing 4138 transactions per minute
    with an average redo size of 4923 bytes per transaction.
    RECOMMENDATION 2: Host Configuration, 43% benefit (213 seconds)
    ACTION: Investigate the possibility of improving the performance of I/O
    to the online redo log files.
    RATIONALE: The average size of writes to the online redo log files was 4
    K and the average time per write was 2 milliseconds.
    SYMPTOMS THAT LED TO THE FINDING:
    SYMPTOM: Wait class "Commit" was consuming significant database time.
    (43% impact [213 seconds])

  • Sybase Transcation log backup issue

    Hi All,
    I am trying to take backup for Sybase database and transcation log as per below link,
    http://scn.sap.com/thread/3245201
    I was successfully able to take the backup for database without any issues but when I try to take the transcations log backup I end up with below error,
    1> sp_dumptrans SBP
    2> go
    Msg 4208, Level 16, State 1:
    Server 'SBP', Line 1:
    DUMP TRANsaction to a dump device is not allowed while the trunc. log on chkpt.
    option is enabled.  Disable the option with sp_dboption, then use DUMP DATABASE,
    before trying again. (Return status = 4208)
    1>
    Later after checking the SAP guide for Sybase database we tried to setup below options,
    =====================================================================================
    Ensure that a complete sequence of transaction log archives is available at all times
    For your SAP database <DBSID> it is mandatory that you ensure that the archived log sequence
    remains unbroken.
    To ensure a complete log sequence, set the following database options:
    trunc log on chkpt, false
    full logging for all, true
    enforce dump tran sequence, true
    You have to set these options after a successful  DUMP DATABASE has been performed and before any
    Set these options using the stored procedure sp_dboption to change database options. (Syntax:sp_dboption [dbname, optname, {true | false}] ). You must change to the master database to be able to change options for a database
    ========================================================================
    My question is do I need to login to Master database to set this options because when I try to set the below option
    sp_dboption 'master', 'trunc. log on chkpt', 'false'
    I end up with below error,
    When I try to login to master database with sa user I could not,I gave the same password which i gave it during the installation
    Pelase advise on how to proceed further
    Regards
    Uday
    change is made to the database,

    Hello Selva,
    There are two main types of backups that are maintained
    in Sybase ASE;
    Dump Tran and Dump DB
    Quiesce Backup
    Dump Tran and Dump DB Backup
    The DUMP DATABASE command copies the entire database to an archive device. It does not prune
    (truncate) the transaction log (which is itself a table in the database). DUMP DATABASE is typically run on a daily or weekly basis. If the loss tolerance is 24 hours, then a single DUMP DATABASE every 24 hours is a reasonable choice for backup strategy and the transaction log can be kept pruned by either setting
    the database option “truncate log on checkpoint” or by regular use of the DUMP TRANSACTION command with the TRUNCATE_ONLY option.
    SAP Note 1588316 is a very good point to start in case you are thinking about configuring your SYBASE ASE DB and Transaction Log Backups.
    In addition I highly recommend going through the Technical Document stored in the below link;
    http://scn.sap.com/docs/DOC-29524
    Hope this helps,
    Regards
    Surajit

  • Problem while transcation rollback

              M bean
              public void setSessionContext(SessionContext ctx){
                        this.ctx = ctx;
              public boolean transferSTtoCT(String name1,String name2,int amount) throws EJBException{
              CitiBankHome citiHome=(CitiBankHome)ic.lookup("citicorp");
              CitiBank citiRemote=citiHome.create();
              StandardHome standHome=(StandardHome)ic.lookup("standard");
              Standard standRemote=standHome.create();
              standRemote.debit(name1,amount);
              citiRemote.credit(name2,amount);
              catch(EJBException re){
              ctx.setRollbackOnly();
              throw new EJBException("Transcation "+re.getMessage());
              catch(Exception e){
              System.out.println("Exception in lookup"+e);
              M bean ejb-jar file
              <transaction-type>Container</transaction-type>
              </session>
              </enterprise-beans>
              <assembly-descriptor>
              <container-transaction>
              <method>
                   <ejb-name>GlobalBean</ejb-name>
                   <method-intf>Remote</method-intf>
                   <method-name>transferSTtoCT</method-name>
              <method-params>
                   <method-param>java.lang.String</method-param>
                   <method-param>java.lang.String</method-param>
                        <method-param>int</method-param>
                   </method-params>           
                   </method>
                   <trans-attribute>RequiresNew</trans-attribute>
              </container-transaction>
              X bean
              public boolean credit(String name,int amount) throws EJBException{
              try{
              //loading driver
              sql="select citibank where name='"+name+"'";
              java.sql.ResultSet result=null;
              result=stmt.executeQuery(sql);
              while(result.next()){
                   temp=result.getInt(1);
              catch(Exception e){
                   java.lang.System.out.println("Ex"+e);
              if(temp == 0){
                   throw new EJBException();
              amount=temp+amount;
              sql="update citibank set amount="+amount+" where
              name='"+name+"'";
              try{
              PreparedStatement pstmt=con.prepareStatement(sql);
              flag=pstmt.executeUpdate();
              catch(Exception e){
              java.lang.System.out.println("Ex"+e);
              if(flag == 1)
                   return true;
              return false;
              X bean's ejb-jar
              <transaction-type>Container</transaction-type>
              <trans-attribute>Required</trans-attribute>
              Y bean
              same as X bean but this will debit the amout
              y bean's ejb-jar
              <transaction-type>Container</transaction-type>
              <trans-attribute>Required</trans-attribute>
              I couldn't able to accomplish the transcation concept.May anyone tell me where I have made mistake
              Thanks in advance.
              with Regards,
              Vinoth.C
              

    Hi Vinoth,
              I have modified two of your methods. As EJBException is the run time
              exception not the Checked Exception so it need not to be declared in the
              method's signature. Another thing is that whenever you want to rollback
              throw the EJBException, container will automatically rollback.
              Another thing EJBException is never thrown to client, container will always
              wrap it in RemoteException & throw it.
              public void setSessionContext(SessionContext ctx){
              this.ctx = ctx;
              public boolean transferSTtoCT(String name1,String name2,int amount) {
              CitiBankHome citiHome=(CitiBankHome)ic.lookup("citicorp");
              CitiBank citiRemote=citiHome.create();
              StandardHome standHome=(StandardHome)ic.lookup("standard");
              Standard standRemote=standHome.create();
              standRemote.debit(name1,amount);
              citiRemote.credit(name2,amount);
              public boolean credit(String name,int amount) throws EJBException{
              try{
              <file://loading> driver
              sql="select citibank where name='"+name+"'";
              java.sql.ResultSet result=null;
              result=stmt.executeQuery(sql);
              while(result.next()){
              temp=result.getInt(1);
              } catch(SQLException e){
              throw new EJBException();
              } finally{
              //Close your ResultSet
              amount=temp+amount;
              sql="update citibank set amount="+amount+" where
              name='"+name+"'";
              try{
              PreparedStatement pstmt=con.prepareStatement(sql);
              flag=pstmt.executeUpdate();
              } catch(SQLException e){
              throw new EJBException();
              }finally{
              // //Close your Database Resources
              Hope this will help you...
              Thanx
              Sanjeev Jain
              "vinoth" <[email protected]> wrote in message
              news:[email protected]...
              >
              > M bean
              > ------
              >
              > public void setSessionContext(SessionContext ctx){
              > this.ctx = ctx;
              > }
              >
              > public boolean transferSTtoCT(String name1,String name2,int amount) throws
              EJBException{
              >
              > CitiBankHome citiHome=(CitiBankHome)ic.lookup("citicorp");
              > CitiBank citiRemote=citiHome.create();
              > StandardHome standHome=(StandardHome)ic.lookup("standard");
              > Standard standRemote=standHome.create();
              >
              > standRemote.debit(name1,amount);
              > citiRemote.credit(name2,amount);
              > }
              > catch(EJBException re){
              > ctx.setRollbackOnly();
              > throw new EJBException("Transcation "+re.getMessage());
              > }
              > catch(Exception e){
              > System.out.println("Exception in lookup"+e);
              > }
              > }
              >
              > M bean ejb-jar file
              > -------------------
              >
              > <transaction-type>Container</transaction-type>
              > </session>
              > </enterprise-beans>
              > <assembly-descriptor>
              > <container-transaction>
              > <method>
              > <ejb-name>GlobalBean</ejb-name>
              > <method-intf>Remote</method-intf>
              > <method-name>transferSTtoCT</method-name>
              > <method-params>
              > <method-param>java.lang.String</method-param>
              > <method-param>java.lang.String</method-param>
              > <method-param>int</method-param>
              > </method-params>
              > </method>
              > <trans-attribute>RequiresNew</trans-attribute>
              > </container-transaction>
              >
              > X bean
              > -------
              >
              >
              > public boolean credit(String name,int amount) throws EJBException{
              > try{
              > file://loading driver
              > sql="select citibank where name='"+name+"'";
              > java.sql.ResultSet result=null;
              >
              > result=stmt.executeQuery(sql);
              > while(result.next()){
              > temp=result.getInt(1);
              > }
              > }
              > catch(Exception e){
              > java.lang.System.out.println("Ex"+e);
              > }
              > if(temp == 0){
              > throw new EJBException();
              > }
              > amount=temp+amount;
              > sql="update citibank set amount="+amount+" where
              > name='"+name+"'";
              >
              > try{
              > PreparedStatement pstmt=con.prepareStatement(sql);
              > flag=pstmt.executeUpdate();
              > }
              > catch(Exception e){
              > java.lang.System.out.println("Ex"+e);
              > }
              > if(flag == 1)
              > return true;
              > return false;
              > }
              >
              > X bean's ejb-jar
              > -----------------
              >
              > <transaction-type>Container</transaction-type>
              > <trans-attribute>Required</trans-attribute>
              >
              > Y bean
              > ------
              > same as X bean but this will debit the amout
              >
              > y bean's ejb-jar
              > -----------------
              >
              > <transaction-type>Container</transaction-type>
              > <trans-attribute>Required</trans-attribute>
              >
              > I couldn't able to accomplish the transcation concept.May anyone tell me
              where I have made mistake
              > Thanks in advance.
              > with Regards,
              > Vinoth.C
              

  • The row was not found at the Subscriber error keeps popup and stopped synchronization even after inserting missing record at subscriber - transcational replication.

    The row was not found at the Subscriber error keeps popup and stopped synchronization even after inserting missing record at subscriber - transcational replication.
    first error throws: Grab exact sequence number, find row and inserted at subscriber...
    Start synchronizing, ran fine for a while, stopped again with error with different exact sequence number, repeat again same as step 1.......
    how can we stop this and make it run without this error?
    Please advise!!!

    Hi,
    This means that your database is out of sync. You can use the continue on data consistency error profile to skip errors. However, Microsoft recommends that you use -SkipErrors parameter cautiously and only when you have a good understanding of the following:
    What the error indicates.
    Why the error occurs.
    Why it is better to skip the error instead of solving it.
    If you do not know the answers to these items, inappropriate use of the
    -SkipErrors parameter may cause data inconsistency between the Publisher and Subscriber. This article describes some problems that can occur when you incorrectly use the
    -SkipErrors parameter.
    Use the "-SkipErrors" parameter in Distribution Agent cautiously
    http://support.microsoft.com/kb/327817/en-us
    Here are two similar threads you may refer to:
    http://social.technet.microsoft.com/Forums/en-US/af531f69-6caf-4dd7-af74-fd6ebe7418da/sqlserver-replication-error-the-row-was-not-found-at-the-subscriber-when-applying-the-replicated
    http://social.technet.microsoft.com/Forums/en-US/f48c2592-bad7-44ea-bc6d-7eb99b2348a1/the-row-was-not-found-at-the-subscriber-when-applying-the-replicated-command
    Thanks.
    Tracy Cai
    TechNet Community Support

Maybe you are looking for