Regarding the dead lock while index creation

Hi,
We have a requirement where we are trying to load and create the index for few cubes simulatneously, but it has resulted in dead lock situation, can you please tell us about this problem in detail.
Thanks

Hi Mahesh,
This kind of problem will arrive when the index creation for ur data targets are happening and those data targets shares some common data like master data, since both will be refering to the same, usually dead locks situation comes into picture
thanks,
vinay
Edited by: vinaykumarhs on Mar 20, 2011 12:26 AM

Similar Messages

  • Ho do i check bcz of which query's the dead locks happend in 11g

    Hi,
    I am working on 11g database and recently dead locks happend and it's released it's fine. But i need to know becz of which query's the dead locks happend and who fired those query's.
    i hope we can get these info from trace file i opend trace file but am fully confusing how do i know all these details. Can any one help me on this...
    Thanks in advance
    Regards

    Check
    How to find where is deadlock?

  • Table lock while index rebuild

    Dear all,
    Can anyone kindly tell if the rebuild index operation locks the table on which rebuild index is performed ? (meaning that no inserts or updates are possible on that table during that time)
    I am using Oracle 10.1.0.4
    Thanks in advance
    L

    Dear all,
    Can anyone kindly tell if the rebuild index operation
    locks the table on which rebuild index is performed ?
    (meaning that no inserts or updates are possible on
    that table during that time)
    I am using Oracle 10.1.0.4
    Thanks in advance
    LThe online index rebuild allow DML statements on the tables during the index creation. When you use the ONLINE option to create or alter an index, the current index is left intact while a new copy of the index is created. This allows DML statements to access the old index.
    Message was edited by:
    oraburn

  • Changing the Profit Center while PO creation

    Hi All,
    I am trying to update the Profit Center(EKKN-PRCTR) while PO creation using the transactions ME21N and ME22N. I used ME_PROCESS_PO_CUST which is not even triggering and include ZXM06U22, ZXM06U43 which also are not working. Can you please guide me which EXIT or BADI can be used to achieve this requirement.
    Thanks in Advance.

    Hi
    Check the BADI  ME_PROCESS_PO_CUST with PROCESS_ACCOUNT AND POST methods. 
    Refere the link
    Re: BADI for Purchase  Order
    Regards
    Sanil Bhandari

  • Dead Locks

    Gurus,
    Please clarify me the three questions which I am posting below
    1) What's the deadlock situation ? How oracle treats the dead lock situation
    2) Disadvantages of having index
    3) I have two tables A and B .. In table A, I have two columns (say col1, col2) .. Col1 is a primary key column .. In table B, I have two columns (say col3, col4) .. Col3 is a primary key column .. Col2 of A has a referrential integrity to Col3 of B ..And Col4 of B has a referrential integrity to col2 of A .. Now if I am inserting a values in table A ...it is showing error "parent value doesnt exist" .. like wise, if I am inserting values in table B, the above mentioned error is comming ..
    How to overcome this error
    Please advice
    Regards

    Hi.
    1) A dead lock is a situation where two or more sessions acquire locks which then prevent each other from moving on. ie session one updates a row aaa in a table and session two updates row bbb (no commits). Session one then attempts to update row bbb and session two attempts to update row aaa and both wait for the locks to clear (default behaviour). Oracle monitors for these situations and will automatically kill one of the sessions and allow the other to complete.
    2) Indexes are used to speed up access to data in the database and if associated with a Primary or Unique Key, enforce uniqueness. They have the disadvantages of taking up space and slowing down updates and inserts.
    3) This is not a deadlock. It is a circular reference. You cannot insert into one table because the other table is expected to have a parent value and vice versa. From a data modelling point of view a circular reference is unsupportable and meaningless. Like trying to be your father's son and your father's father at the same time.
    Regards
    Andre

  • FOR UPDATE cursor is causing Blocking/ Dead Locking issues

    Hi,
    I am facing one of the complex issues regarding blocking / dead locking issues. Please find below the details and help / suggest me the best approach to ahead with that.
    Its core Investment Banking Domain, in Our Day to day Business we are using many transaction table for processing trades and placing the order. In specific there are two main transaction table
    1)     Transaction table 1
    2)     Transaction table 2
    These both the tables are having huge amount of data. In one of our application to maintain data integrity (During this process we do not want other users to change these rows), we have placed SELECT …………….. FOR UPDATE CURSOR on these two table and we have locked all the rows during the process. And we have batch jobs (shell scripts ) , calling this procedure , we will be running 9 times per day 1 hrs each start at 7:15AM in the morn finish it up in the eve 5PM . Let’s say. The reason we run the same procedure multiple times is, our business wants to know the voucher before its finalized. Because there is a possibility that order can be placed and will be updated/cancelled several times in a single day. So at the end of the day , we will be sending the finalized update to our client.
    20 07 * * 1-5 home/bin/app_process_prc.sh >> home/bin/app1/process.out
    20 08 * * 1-5 home/bin/app_process_prc.sh >> home/bin/app1/process.out
    20 09 * * 1-5 home/bin/app_process_prc.sh >> home/bin/app1/process.out
    20 10 * * 1-5 home/bin/app_process_prc.sh >> home/bin/app1/process.out
    20 11 * * 1-5 home/bin/app_process_prc.sh >> home/bin/app1/process.out
    20 12 * * 1-5 home/bin/app_process_prc.sh >> home/bin/app1/process.out
    20 13 * * 1-5 home/bin/app_process_prc.sh >> home/bin/app1/process.out
    20 14 * * 1-5 home/bin/app_process_prc.sh >> home/bin/app1/process.out
    20 15 * * 1-5 home/bin/app_process_prc.sh >> home/bin/app1/process.out
    20 16 * * 1-5 home/bin/app_process_prc.sh >> home/bin/app1/process.out
    20 17 * * 1-5 home/bin/app_process_prc.sh >> home/bin/app1/process.out
    Current Program will look like:
    App_Prc_1
    BEGIN
    /***** taking the order details (source) and will be populate into the table ****/
    CURSOR Cursor_Upload IS
    SELECT col1, col2 … FROM Transaction table1 t 1, Source table 1 s
    WHERE t1.id_no = t2.id_no
    AND t1.id_flag = ‘N’
    FOR UPDATE OF t1.id_flag;
    /************* used for inserting the another entry , if theres any updates happened on the source table , for the records inserted using 1st cursor. **************/
    CURSOR cursor_update IS
    SELECT col1, col2 … FROM transaction table2 t2 , transaction table t1
    WHERE t1.id_no = t2.id_no
    AND t1.id_flag = ‘Y’
    AND t1.DML_ACTION = ‘U’,’D’ -- will retrieve the records which are updated and deleted recently for the inserted records in transaction table 1 for that particular INSERT..
    FOR UPDATE OF t1.id_no,t1.id_flag;
    BLOCK 1
    BEGIN
    FOR v_upload IN Cursor_Upload;
    LOOP
    INSERT INTO transaction table2 ( id_no , dml_action , …. ) VALUES (v_upload.id_no , ‘I’ , … ) RETURNING v_upload.id_no INTO v_no -- I specify for INSERT
    /********* Updating the Flag in the source table after the population ( N into Y ) N  order is not placed yet , Y  order is processed first time )
    UPDATE transaction table1
    SET id_FLAG = ‘Y’
    WHERE id_no = v_no;
    END LOOP;
    EXCEPTION WHEN OTHER THEN
    DBMS_OUTPUT.PUT_LINE( );
    END ;
    BLOCK 2
    BEGIN -- block 2 starts
    FOR v_update IN Cursor_Update;
    LOOP;
    INSERT INTO transaction table2 ( id_no ,id_prev_no, dml_action , …. ) VALUES (v_id_seq_no, v_upload.id_no ,, … ) RETURNING v_upload.id_no INTO v_no
    UPDATE transaction table1
    SET id_FLAG = ‘Y’
    WHERE id_no = v_no;
    END LOOP;
    EXCEPTION WHEN OTHER THEN
    DBMS_OUTPUT.PUT_LINE( );
    END; -- block2 end
    END app_proc; -- Main block end
    Sample output in Transaction table1 :
    Id_no | Tax_amt | re_emburse_amt | Activ_DT | Id_Flag | DML_ACTION
    01 1,835 4300 12/JUN/2009 N I ( these DML Action will be triggered when ever if theres in any DML operation occurs in this table )
    02 1,675 3300 12/JUN/2009 Y U
    03 4475 6500 12/JUN/2009 N D
    Sample output in Transaction table2 :
    Id_no | Prev_id_no Tax_amt | re_emburse_amt | Activ_DT
    001 01 1,835 4300 12/JUN/2009 11:34 AM ( 2nd cursor will populate this value , bcoz there s an update happened for the below records , this is 2nd voucher
    01 0 1,235 6300 12/JUN/2009 09:15 AM ( 1st cursor will populate this record when job run first time )
    02 0 1,675 3300 12/JUN/2009 8:15AM
    003 03 4475 6500 12/JUN/2009 11:30 AM
    03 0 1,235 4300 12/JUN/2009 10:30 AM
    Now the issues is :
    When these Process runs, our other application jobs failing, because it also uses these main 2 tranaction table. So dead lock is detecting in these applications.
    Solutin Needed :
    Can anyone suggest me , like how can rectify this blocking /Locking / Dead lock issues. I wants my other application also will use this tables during these process.
    Regards,
    Maran

    hmmm.... this leads to a warning:
    SQL> ALTER SESSION SET PLSQL_WARNINGS='ENABLE:ALL';
    Session altered.
    CREATE OR REPLACE PROCEDURE MYPROCEDURE
    AS
       MYCOL VARCHAR(10);
    BEGIN
       SELECT col2
       INTO MYCOL
       FROM MYTABLE
       WHERE col1 = 'ORACLE';
    EXCEPTION
       WHEN PIERRE THEN
          NULL;
    END;
    SP2-0804: Procedure created with compilation warnings
    SQL> show errors
    Errors for PROCEDURE MYPROCEDURE:
    LINE/COL                                                                          ERROR
         12/9        PLW-06009: procedure “MYPROCEDURE” PIERRE handler does not end in RAISE or RAISE_APPLICATION_ERROR
         :)

  • AQ subscription (dead)locks

    Hi,
    I posted a question in the OCCI forum (Subscribing/unsubscribing call is blocking (lock?) but now I'm starting to suspect that this is a general AQ problem.
    We have a AQ queue with multiple subscribers, where the subscribing clients are implemented in OCI/OCCI. At the startup of the client program, we subscribe to the queue trough a stored procedure, and creates a callback in the OCCI implementation of the client.
    The problem is that sometimes the subscription query / callback creation seems to block. Could this be because a lock has been put on the subscriber/queue? There is no explicit locking in our code, as far as I know.
    The stored procedure for subscribing basically does this:
    DBMS_AQADM.ADD_SUBSCRIBER(queue_name => v_queue_name,
    subscriber => subscriber,
         rule => p_rule);
    I'm an experienced programmer, but not too familiar with Oracle/AQ, so it would be great if someone could point me in the right direction of debugging this. I have access to Toad.
    EDIT: We are running three threads simultanously, all calling add_subscriber. Could this be a problem, creating some sort of deadlock?
    Thanks,
    Sverre

    Hi,
    do the clients have the same subcription name?
    In the documentation see this link:
    http://www.stanford.edu/dept/itss/docs/oracle/10g/server.101/b10785/jm_create.htm#i1005628
    EDIT (Sorry i assumed that you use JMS ;-(
    Can you tell me, what is the statement which shows up in the dbconsole in the top activity when the (dead)lock appears? (I hope you use 10g)
    Message was edited by:
    HEWizard

  • Dead lock effect

    hi friends
    i have one question, Few days before i read that
    " If there is deadlock in your database and if you enter SHUTDOWN IMMEDATE
    then it will wait to resolve the dead lock"
    i want to know that is it correct or not. plz replay
    saurabh

    Deadlock is resolved immediately by Oracle when it encounters one. One of the sessions in deadlock is terminated by Oracle. So I do not see a possibility that you can enter a shutdown immediate command while two other sessions are in deadlock.
    Btw, any reference about that reading?

  • Parameters not gettin passed while lead creation..........

    Hi...
                 I am passing the values of the fields SOURCE and IMPORTANCE in the exporting parameter IT_LEAD_H to the FM CRM_ORDER_MAINTAIN while lead creation...When I check the CRM_LEADH table I find that these values arent gettin reflected ...The guid and the leadtype are gettin saved but the values of these two fields are not present...This is the code I'm using.....
    CT_ORDERADM_H
        ls_orderadm_h-handle        = '1'.
    .   ls_orderadm_h-PROCESS_TYPE  = 'LEAD'.
        ls_orderadm_h-mode          = 'A'.
        INSERT ls_orderadm_h INTO TABLE lt_orderadm_h.
      build table with change fields
        FREE lt_input_field_names.
        ls_input_field_names-fieldname = 'PROCESS_TYPE'.
        INSERT ls_input_field_names INTO TABLE lt_input_field_names.
        ls_input_field_names-fieldname = 'MODE'.
        INSERT ls_input_field_names INTO TABLE lt_input_field_names.
        CLEAR ls_input_fields.
        ls_input_fields-ref_handle  = '1'.
      ls_input_fields-objectname  = 'ORDERADM_H'.
        ls_input_fields-field_names = lt_input_field_names.
        INSERT ls_input_fields INTO TABLE ct_input_fields.
    CRMT_LEAD_H_COMT
      IF IT_LEAD_H IS INITIAL.
        ls_lead_h-ref_handle     = '1'.
        ls_lead_h-SOURCE         = '002'.
        ls_lead_h-IMPORTANCE     = '2'.
      ENDIF.
        INSERT ls_lead_h INTO TABLE lt_lead_h.
      build table with change fields
        FREE lt_input_field_names.
        IF ls_lead_h-SOURCE IS NOT INITIAL.
          ls_input_field_names-fieldname = 'SOURCE'.
          INSERT ls_input_field_names INTO TABLE lt_input_field_names.
        ENDIF.
        IF ls_lead_h-IMPORTANCE IS NOT INITIAL.
          ls_input_field_names-fieldname = 'IMPORTANCE'.
          INSERT ls_input_field_names INTO TABLE lt_input_field_names.
        ENDIF.
        CLEAR ls_input_fields.
        ls_input_fields-ref_handle  = '1'.
        ls_input_fields-ref_kind    = 'A'.
        ls_input_fields-objectname  = 'LT_LEAD_H'.
        ls_input_fields-field_names = lt_input_field_names.
        INSERT ls_input_fields INTO TABLE ct_input_fields.
    IT_STATUS
      IF is_status IS INITIAL.
        ls_status-ref_handle     = '1'.
        ls_status-status         = STATUS.
       ls_status-user_stat_proc = 'CRMLEAD'.
        ls_status-activate       = 'X'.
       ls_status-process        = 'ACCI'.
      ENDIF.
        INSERT ls_status INTO TABLE lt_status.
      build table with change fields
        FREE lt_input_field_names.
        IF ls_status-status IS NOT INITIAL.
          ls_input_field_names-fieldname = 'STATUS'.
          INSERT ls_input_field_names INTO TABLE lt_input_field_names.
        ENDIF.
        IF ls_status-activate IS NOT INITIAL.
          ls_input_field_names-fieldname = 'ACTIVATE'.
          INSERT ls_input_field_names INTO TABLE lt_input_field_names.
        ENDIF.
        CLEAR ls_input_fields.
        ls_input_fields-ref_handle  = '1'.
        ls_input_fields-ref_kind    = 'A'.
        ls_input_fields-objectname  = 'STATUS'.
        ls_input_fields-field_names = lt_input_field_names.
        INSERT ls_input_fields INTO TABLE ct_input_fields.
    ENDIF.
    bring changed fields with values to object layer
      CALL FUNCTION 'CRM_ORDER_MAINTAIN'
        EXPORTING
          it_lead_h         = lt_lead_h
          it_survey         = it_survey
          it_status         = lt_status
        CHANGING
          ct_orderadm_h     = lt_orderadm_h
          ct_orderadm_i     = lt_orderadm_i
          ct_input_fields   = ct_input_fields
        EXCEPTIONS
          error_occurred    = 1
          document_locked   = 2
          no_change_allowed = 3
          no_authority      = 4
          OTHERS            = 5.
    Are there any other parameters that I have to pass?Plz suggest a solution for this......

    Hi Francois,
    Thank you for looking into the issue. Your first response was did you try get_form_field. Yes I did, and it did not work. I realised later (hopefully correctly) that get_form_field will work only if the field below is treated as an input field within <htmlb:form> and </htmlb:form>.
    I shall re-explain the scenario. In default.htm, I enter an IDoc Number(input field) and click submit button. In the <form action > I have mentioned idoc.htm page. In idoc.htm, in On Initialization , I create a tree.
    Method of creating tree
    a) I create a table of type TVIEWNODE and populate the relevant details, except for the link field. The parameters that needs to be passed to the next page is a structure. In order to achieve this(I found this method in one of the posts in the forum),
    Step I -- Serialize the structure data using CL_BSP_UTILITY=>SERIALIZE_DATA and fill a table LT_PARAMETER_LIST.
    Step II -- I then construct a URL using CL_BSP_RUNTIME=>IF_BSP_RUNTIME~CONSTRUCT_BSP_URL passing APPLICATION NAME, 'SEGMENT.HTM' and table LT_PARAMETER_LIST.
    Step III -- This method returns a URL which is then appended in the TVIEWNODE table and the tree is created.
    The tree is created perfectly and the links are perfect as well.
    However as mentioned in my earlier post when I click on the link, the URL shows all the attributes but I am not able to fetch the same using GET_ATTRIBUTE method or GET_FORM_DATA method.
    Next point mentioned was create an attribute. This is an interesting point that you have mentioned. In page attributes, when I try pa_s_idoc-segnam, it mentions special characters not allowed.
    I will explore the possibility of creating fields of internal table as page attributes i.e. using SEGNAM instead of pa_s_idoc-SEGNAM and then pass values to these.
    If there are any other solutions do let me know.
    Thanks again, Francois.

  • Frequenet dead locks in SQL Server 2008 R2 SP2

    Hi,
    We are experiencing frequent dead locks in our application. We are using MSSQL Server 2008 R2 SP2 version. When our application is configured for 5-6 app servers, this issue is occurring frequently.
    But, when the same application is used with the MSSQL Server 2008 R2 or SQL Server 2012, we don't see the dead lock issue. From the error lock and sql trace, the error message is thrown for the database table JobLock. We have a stored procedure to insert/update
    for the above table when the job moves from one service to other. The same procedure works fine when used with the 2008 R2 and SQL Server 2012 Version.
    Is the above issue related to the hotfix from the below url?
    http://support.microsoft.com/kb/2703275
    Following error message is seen frequently in the log file.
    INFO : 03/24/2014 10:26:30:290 PM: [00007900:00005932] [Xerox.ISP.Workflow.ManagedActivity.PersistInTransaction] System.Data.SqlClient.SqlException (0x80131904): Transaction (Process ID 62) was deadlocked on lock resources with another process and has been
    chosen as the deadlock victim. Rerun the transaction.
       at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
       at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
       at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
       at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
       at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
       at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds)
       at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite)
       at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite)
       at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
       at Microsoft.Practices.EnterpriseLibrary.Data.Database.DoExecuteNonQuery(DbCommand command)
       at Microsoft.Practices.EnterpriseLibrary.Data.Database.ExecuteNonQuery(DbCommand command, DbTransaction transaction)
       at Xerox.ISP.DataAccess.Data.Utility.ExecuteNonQuery(TransactionManager transactionManager, DbCommand dbCommand)
       at Xerox.ISP.DataAccess.Data.SqlClient.SqlActivityProviderBase.ActivityReady(TransactionManager transactionManager, Int32 start, Int32 pageLength, Nullable`1 ActivityID, Nullable`1 JobId, String ContentUrl, Nullable`1 PrevWorkStep, Nullable`1
    CurrentWorkStep, String Principal, Nullable`1 Status, Nullable`1 ServerID, String HostName, Nullable`1 LockUserID, Nullable`1& ErrorCode, Byte[]& Activity_TS)
       at Xerox.ISP.DataAccess.Domain.ActivityBase.ActivityReady(Nullable`1 ActivityID, Nullable`1 JobId, String ContentUrl, Nullable`1 PrevWorkStep, Nullable`1 CurrentWorkStep, String Principal, Nullable`1 Status, Nullable`1 ServerID, String HostName,
    Nullable`1 LockUserID, Nullable`1& ErrorCode, Byte[]& Activity_TS, Int32 start, Int32 pageLength)
       at Xerox.ISP.DataAccess.Domain.ActivityBase.ActivityReady(Nullable`1 ActivityID, Nullable`1 JobId, String ContentUrl, Nullable`1 PrevWorkStep, Nullable`1 CurrentWorkStep, String Principal, Nullable`1 Status, Nullable`1 ServerID, String HostName,
    Nullable`1 LockUserID, Nullable`1& ErrorCode, Byte[]& Activity_TS)
       at Xerox.ISP.Workflow.ManagedActivity.<>c__DisplayClass2f.<ActivityReady>b__2d()
       at Xerox.ISP.Workflow.ManagedActivity.PersistInTransaction(Boolean createNew, PersistMethod persist)
    ClientConnectionId:9e44a64f-5014-4634-9cee-4581e1b9c299
    I look forward to the suggestions to get the issue resolved. Your input is much appreciated.
    Thanks,
    Keshava.

    If you are having deadlock trouble in your SQL Server instance, this recipe demonstrates how to make sure deadlocks are logged to the SQL ServerManagement Studio SQL log appropriately using
    the DBCC TRACEON, DBCC TRACEOFF, and DBCC TRACESTATUS commands. These functions enable, disable, and check the status of trace flags.
    To determine the cause of a deadlock, we need to know
    the resources involved and the types of locks acquired and requested. For this kind of information, SQL Server provides
    Trace Flag 1222 (this flag supersedes 1204, which was frequently used in earlier versions of SQL Server.)
    DBCCTRACEON(1222,
    -1);
    GO
    With this flag enabled, SQL Server will provide output in the form of a deadlock graph, showing the executing statements
    for each session, at the time of the deadlock; these are the statements that were blocked and so formed the conflict or cycle that led to the deadlock.
    Be aware that it is rarely possible to guarantee that deadlocks will never occur. Tuning for deadlocks
    primarily involves minimizing the likelihood of their occurrence. Most of the techniques for minimizing the occurrence of deadlocks are similar to the general techniques for minimizing blocking problems.

  • Systemcopy using R3load - Index creation VERY slow

    We exported a BW 7.0 system using R3load (newest tools and SMIGR_CREATE_DDL) and now importing it into the target system.
    Source database size is ~ 800 GB.
    The export was running a bit more than 20 hours using 16 parallel processes. The import is still running with the last R3load process. Checking the logs I found out that it's creating indexes on various tables:
    (DB) INFO: /BI0/F0TCT_C02~150 created#20100423052851
    (DB) INFO: /BIC/B0000530000KE created#20100423071501
    (DB) INFO: /BI0/F0COPC_C08~01 created#20100423072742
    (DB) INFO: /BI0/F0COPC_C08~04 created#20100423073954
    (DB) INFO: /BI0/F0COPC_C08~05 created#20100423075156
    (DB) INFO: /BI0/F0COPC_C08~06 created#20100423080436
    (DB) INFO: /BI0/F0COPC_C08~07 created#20100423081948
    (DB) INFO: /BI0/F0COPC_C08~08 created#20100423083258
    (DB) INFO: /BIC/B0000533000KE created#20100423101009
    (DB) INFO: /BIC/AODS_FA00~010 created#20100423121754
    As one can see on the timestamps the creation of one index can take an hour or more.
    x_cons is showing constant CrIndex reading in parallel, however, the througput is not more than 1 - 2 MB/sec.  Those index creation processes are running now since over two days (> 48 hours) and since the .TSK files don't mentioned those indexes any more I wonder how many of them are to be created and how long this will take.
    The whole import was started at "2010-04-20 12:19:08" (according to import_monitor.log) so running now since more than three days with four parallel processes. Target machine has 4 CPUs and 16 GB RAM (CACHE_SIZE is 10 GB). The machine is idling though with 98 - 99 %.
    I have three questions:
    - why does index creation take such a long time? I'm aware of the fact, that the cache may not be big enough to take all the data but that speed is far from being acceptable. Doing a Unicode migration, even in parallel, will lead to a downtime that may not be acceptable by the business.
    - why are the indexes not created first and then filled with the data? Each savepoint may take longer but I don't think that it will take that long.
    - how to find out which indexes are still to be created and how to estimate the avg. runtime of that?
    Markus

    i Peter,
    I would suggest creating an SAP ticket for this, because these kind of problems are quite difficult to analyze.
    But let me describe the index creation within MaxDB. If only one index creation process is active, MaxDB can use multiple Server Tasks (one for each Data Volume) to possibly increase the I/O throughput. This means the more Data Volumes you have configured, the faster the parallel index creation process should be. However, this hugely depends on your I/O system being able to handle an increasing amount of read/write requests in parallel. If one index creation process is running using parallel Server tasks, all further indexes to be created at that time can only utilize one single User Task for the I/O.
    The R3load import process assumes that the indexes can be created fast, if all necessary base table data is still present in the Data Cache. This mostly applies to small tables up to table sizes that take up a certain amount of the Data Cache. All indexes for these tables are created right after the table has been imported to make use of the fact, that all the needed data for index creation is still in the cache. Many idexes may be created simultaneously here, but only one index at a time can use parallel Server Tasks.
    If a table is too large in relation to the total database size, then its indexes are being queued for serial index creation to be started when all tables were imported. The idea is that the needed base table data would likely have been flushed out of the Data Cache already and so there is additional I/O necessary rereading that table for index creation. And this additional I/O would greatly benefit from parallel Server Tasks accessing the Data Volumes. For this reason, the indexes that are to be created at the end are queued and serialized to ensure that only one index creation process is active at a time.
    Now you mentioned that the index creation process takes a lot of time. I would suggest (besides opening an OSS ticket) to start the MaxDB tool 'Database Analyzer' with an interval of 60 seconds configured during the whole import. In addition, you should activate the 'time measurement' to get a reading on the I/O times. Plus, ensure that you have many Data Volumes configured and that your I/O system can handle that additional loag. E.g. it would make no sense to have 25 Server Tasks all writing to a single local disk, I would assume that the disk would become a bottle neck...
    Hope my reply was not too confusing,
    Thorsten

  • Regarding the exchange rate used in shopping cart

    Hi,
    Iam facing one problem regarding the currency conversion while crerating the shopping cart. The basic currency in my organizational profile is CHF. But I have a requirement to create a shopping cart in NZD(New Zealand dollars). After entering all the details and click on Shop, Iam going back to the home page and the error Iam getting is " Error during currency translation from NZD to CHF". I have checked for some other currencies like EURO, AUD etc and for all these currencies Iam not getting any error and the value gets converted to CHF with some exchange rate.
    I want to know which table the system looks at for getting the exchange rate and why this error is coming only for NZD to CHF?
    I checked some standard tables like TCURR and TCURX.
    Any feed back will be very much appreciated.
    Thanks and regards,
    Ramachandra DN

    Hi,
    I am also facing this same issue.... Currency conversion is working fine for other currencies except for GBP to IDR.
    Is it some config issue or wht as  the functional guys have checked every thing.. they have maintained the exhange rate and etc...
    we tried runing the report BBP_GET_EXRATE also butit says No records found.
    Please help.
    Thanks,
    Vaibhav Goel.
    Edited by: Vaibhav goel on Sep 3, 2010 12:09 PM

  • Shift Register while Indexing Arrays in Formula Node

    Hello, 
    I am having trouble using the formula node while indexing my two arrays.  I keep getting "NaN" for my output array. I believe the problem lies within my shift register.  My guess is that for the first calculation there is not a PreviousAngle so that is why it is giving me "NaN."  For the first index I would like the value of the PreviousAngle to be 0. I am new to LabView and unsure what to do.
    Thanks!
    Christian Seymour
    Solved!
    Go to Solution.
    Attachments:
    Complementary Filter.vi ‏21 KB

    The shift register should contain 0 by default since you are using a double [if uninitalized, the shfit register takes the default value of the data type.  In this case, the default Double is 0], but you should explicitly initalize the shift register to a default value in most cases.
    To do so, right click on the "previous angle" shift register and select "Create constant".  This will create a Double value of 0 to fill in the register for the first calculation.
    If you need a number other than 0 to start, you can just change this constant.
    **Note:  This is a good habit to have.  Shift registers retain value as long as the VI is in memory.  So if you run this more than once, it will have the value from the last execution automatically!  This is usually unintended behavior for new LabVIEW users -- however you can sometimes take advantage of this feature in some applications and make it intended behavior
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    If someone helped you out, please select their post as the solution and/or give them Kudos!

  • ORA-00060 dead lock happen on R12 demo database

    We have EBS R12 (12.0.4) on Redhat Linux system when I check alert.log file and found demo database (VIS) have ORA-00060 dead lock. The dead lock happen on statement:
    UPDATE FND_CONCURRENT_REQUESTS SET PP_END_DATE = SYSDATE, POST_REQUEST_STATUS = 'E' WHERE REQUEST_ID = :B1
    Do I need do anthing relate to this ORA- error or just ignore it?
    Thanks.

    Thank you for answer. I checked CM log and did NOT find any error.
    I also read document 153717.1 and compare FND_CONCURRENT_REQUESTS table definition. The initial number of trnasaction is 10 and max is 255. I try to use OEM to change "initial transaction number" and it don't allow to.
    Any ideal???

  • Dead lock problem occur in Ms-Sql Server

    Hi friends,
    I am using the 1,Tomcat server
    2, jdbc-odbc-bridge driver
    In my applicaiton .mutli user access time its throw -deadlock
    exception . How to solve the dead lock problem.. please help it.
    Can i modify the Db connection?
    please help me .... How solve the dead lock problem..
    please ............ its urgent

    I am using this stored procedure to occur dead lock condtion. Orderly insert table values ..
    Imm_tblGameTransactions- Primary Tables
    Imm_tblGameDetailsBJ - Secondary tables
    Please check it.....
    Please explain breifly..... ....
    please.........
    CREATE     procedure IMM_BJDeal 
         @plid int,
         @gameid int,
         @betamt money,
         @bal    money,
         @winamt money,
         @usercards nvarchar(500),
         @dealercards nvarchar(500),
         @useracecnt     int,
         @dealeracecnt   int,
         @dealerbj int,
         @userbj      int,
         @insurance   int,
         @split       int,
         @push        int,
         @sessionid   int, 
         @ltransid    int out
    as
        begin
         declare
                @transdate datetime,
                @linitbal  money,
                @lfinalbal money,
                @errormesg  varchar(50)
           select @linitbal=balance from Imm_players.dbo.Imm_tblPlayerbalance where playerid=@plid
           select @transdate=getdate()
              --set @ldealcards ='['+@dealercard1+','+@dealercard2+']'
              --print  @ldealcards
       if(@userbj=1)
           begin
                  select @lfinalbal= @bal
              begin transaction
                    insert into Imm_tblGameTransactions
                              (playerid,gameid,Initialbalance,transactiondate,betamount,winamount,currencycode,finalbalance,sessionid)
                                      values(@plid,@gameid,@linitbal,@transdate,@betamt,@winamt,'USD',@lfinalbal,@sessionid)
                             IF @@ERROR <> 0
                                  Begin
                                    -- There's an error b/c @ERROR is not 0, rollback
                                         ROLLBACK
                                       return
                                  End
                    select @ltransid=@@identity from Imm_tblGameTransactions
                   insert into Imm_tblGameDetailsBJ(transid,playercard,dealercard,typeid,result,statusid,split,insurance,playercardcount,dealercardcount,winvalue,betvalue)
                                         values(@ltransid,@usercards,@dealercards ,1,1,'PB',@split,@insurance,@useracecnt,@dealeracecnt,@winamt,@betamt)
                    IF @@ERROR <> 0
                   begin
                     -- There's an error b/c @ERROR is not 0, rollback
                          ROLLBACK
                        return
                   end
                   update Imm_players.dbo.Imm_tblPlayerbalance set balance=@lfinalbal where playerid=@plid
              IF @@ERROR <> 0
                   begin
                     -- There's an error b/c @ERROR is not 0, rollback
                          ROLLBACK
                        return     
                   end
                 commit transaction       
              return
           end
       else
           begin
              begin transaction
             insert into Imm_tblGameTransactions(playerid,gameid,Initialbalance,transactiondate,betamount,winamount,currencycode,finalbalance,sessionid)
                                        values(@plid,@gameid,@linitbal,@transdate,@betamt,@winamt,'USD',@bal,@sessionid)
         IF @@ERROR <> 0
              Begin
                -- There's an error b/c @ERROR is not 0, rollback
                     ROLLBACK
                   return
              End
              /*ELSE
                     COMMIT   -- Success!  Commit the transaction*/
             select @ltransid=@@identity from Imm_tblGameTransactions
             insert into Imm_tblGameDetailsBJ(transid,playercard,dealercard,typeid,result,split,insurance,playercardcount,dealercardcount,winvalue,betvalue,statusid)
                                        values(@ltransid,@usercards,@dealercards,1,3,@split,@insurance,@useracecnt,@dealeracecnt,@winamt,@betamt,'G')
         IF @@ERROR <> 0
              Begin
                -- There's an error b/c @ERROR is not 0, rollback
                     ROLLBACK
                   return
              End
              /*ELSE
                     COMMIT   -- Success!  Commit the transaction*/
              commit transaction 
              return           
             end
    end
    GO

Maybe you are looking for

  • PS Report with the Profit Center

    Hi All Is there a standard PS Report that will give me values as per the hierarchial structure of the WBS Element and additionally the Profit center also as an output. Thanks much RS.

  • Problem getting with monitor please help me

    Hi All, Am trying with these options...but it is not working for me.....Is there any wrong with my parameters? I tried with all three also pop3, imap.Will you please tell me how to trace and solve this problem? Please help me if anybody knows... java

  • DI Integrator XI and Data Service Designer

    Hi all I am playing with DI XI (11.7) now, but very soon we would have Data Service Designer (new version of DI which is called Data Service Designer). I'm just wondering what the difference is between DI Integrator 11.7 and Data Service Designer. Th

  • Action Servlet..a special servlet ?

    is action servelt a special servlet ? can i use methods which i use in normal simple servlet(like doGet,doPost etc ) ? it seems to me its a different servlet that normal servlet . i dont see to use servletConfig(),init(),service() etc for these kind

  • Missing numeric keypad & Character Styles shortcuts

    Hello everyone, Is there a way of activating the keyboard shortcuts we customized for Character & Paragraph Styles using the new Mac keyboards that don't have numeric keypads? Without the numeric keypads, one has to open Character/Paragraph Styles pa