• This one?

    <deadlock victim="process59ee718">

    <process-list>

    <process id="process59ee718" taskpriority="0" logused="0" waitresource="OBJECT: 11:1529108538:3 " waittime="4109" ownerId="1805859773" transactionname="TRUNCATE TABLE" lasttranstarted="2012-07-30T07:00:56.693" XDES="0x18752eef0" lockMode="Sch-M" schedulerid="12" kpid="9428" status="suspended" spid="113" sbid="0" ecid="0" priority="0" transcount="1" lastbatchstarted="2012-07-30T07:00:56.693" lastbatchcompleted="2012-07-30T07:00:27.413" clientapp="Microsoft JDBC Driver for SQL Server" hostname="sworksetlap1" hostpid="0" loginname="SIEBEL" isolationlevel="read committed (2)" xactid="1805859773" currentdb="11" lockTimeout="4294967295" clientoption1="671088672" clientoption2="128056">

    <executionStack>

    <frame procname="adhoc" line="1" sqlhandle="0x01000b001cd16b34d07bedd00c0000000000000000000000">

    TRUNCATE TABLE WC_EPCR_SALESPERMISSION_D </frame>

    </executionStack>

    <inputbuf>

    TRUNCATE TABLE WC_EPCR_SALESPERMISSION_D </inputbuf>

    </process>

    <process id="processb0276d8" taskpriority="0" logused="0" waitresource="OBJECT: 11:1529108538:2 " waittime="1156" ownerId="1805864888" transactionname="Lookup" lasttranstarted="2012-07-30T07:00:59.803" XDES="0xb4db192f8" lockMode="Sch-S" schedulerid="4" kpid="11692" status="suspended" spid="80" sbid="0" ecid="0" priority="0" transcount="0" lastbatchstarted="2012-07-30T07:00:54.417" lastbatchcompleted="2012-07-30T07:00:37.770" clientapp="Oracle Business Intelligence" hostname="SWORKSOBIAP2" hostpid="1848" loginname="SIEBEL" isolationlevel="read uncommitted (1)" xactid="1805854139" currentdb="11" lockTimeout="4294967295" clientoption1="687865888" clientoption2="128056">

    <executionStack>

    <frame procname="adhoc" line="1" sqlhandle="0x020000006a1a2a045235b1e2b649205d19221596a59e7a9f">

    select max(D4.c2) as c4,

    max(D4.c1) as c5

    from

    (select distinct T307241."PRODUCTROLLUPFS" as c2

    from

    "WC_EPCR_ARREGION_TERR_D" T307909,

    "W_DAY_D" T70600 /* Dim_W_DAY_D_Order_Date */ ,

    "WC_EPCR_SALESPERMISSION_D" T306520,

    "WC_EPCR_ARSALESP_D" T306527,

    "WC_EPCR_FSPRODCOMP_D" T307241,

    "WC_EPCR_BOOKING_DETAIL_F" T307839,

    "WC_EPCR_MKTROLLUP_D" T307886,

    "WC_EPCR_FSPRODCOMP_HIST_D" T311257

    where ( T70600."ROW_WID" = T307839."ORDER_DATE_WID" and T306520."SALESPERSON_CODE" = T306527."SALESPERSON_CODE" and T306527."ROW_WID" = T307839."SALES_PERSON_WID" and T307839."TERRITORY_WID" = T307909."ROW_WID" and T307241."ROW_WID" = T307839."FSPRODCOMP_WID" and T307241."ROW_WID" = T311257."FSPRODCOMP_WID" and T70600."PER_NAME_MONTH" = N'2012 / 06' a </frame>

    <frame procname="unknown" line="1" sqlhandle="0x000000000000000000000000000000000000000000000000">

    unknown </frame>

    </executionStack>

    <inputbuf>

    select max(D4.c2) as c4,

    max(D4.c1) as c5

    from

    (select distinct T307241."PRODUCTROLLUPFS" as c2

    from

    "WC_EPCR_ARREGION_TERR_D" T307909,

    "W_DAY_D" T70600 /* Dim_W_DAY_D_Order_Date */ ,

    "WC_EPCR_SALESPERMISSION_D" T306520,

    "WC_EPCR_ARSALESP_D" T306527,

    "WC_EPCR_FSPRODCOMP_D" T307241,

    "WC_EPCR_BOOKING_DETAIL_F" T307839,

    "WC_EPCR_MKTROLLUP_D" T307886,

    "WC_EPCR_FSPRODCOMP_HIST_D" T311257

    where ( T70600."ROW_WID" = T307839."ORDER_DATE_WID" and T306520."SALESPERSON_CODE" = T306527."SALESPERSON_CODE" and T306527."ROW_WID" = T307839."SALES_PERSON_WID" and T307839."TERRITORY_WID" = T307909."ROW_WID" and T307241."ROW_WID" = T307839."FSPRODCOMP_WID" and T307241."ROW_WID" = T311257."FSPRODCOMP_WID" and T70600."PER_NAME_MONTH" = N'2012 / 06' </inputbuf>

    </process>

    </process-list>

    <resource-list>

    <objectlock lockPartition="2" objid="1529108538" subresource="FULL" dbid="11" objectname="OLAP.dbo.WC_EPCR_SALESPERMISSION_D" id="lock5771500" mode="Sch-M" associatedObjectId="1529108538">

    <owner-list>

    <owner id="process59ee718" mode="Sch-M"/>

    </owner-list>

    <waiter-list>

    <waiter id="processb0276d8" mode="Sch-S" requestType="wait"/>

    </waiter-list>

    </objectlock>

    <objectlock lockPartition="3" objid="1529108538" subresource="FULL" dbid="11" objectname="OLAP.dbo.WC_EPCR_SALESPERMISSION_D" id="lock5d704ba80" mode="Sch-S" associatedObjectId="1529108538">

    <owner-list>

    <owner id="processb0276d8" mode="Sch-S"/>

    </owner-list>

    <waiter-list>

    <waiter id="process59ee718" mode="Sch-M" requestType="wait"/>

    </waiter-list>

    </objectlock>

    </resource-list>

    </deadlock>

    </deadlock-list>

    It looks like the select from the oracle app is part of a user transaction. Can you find out if that's the case? If so, what else is in the transaction?

    Do you have lock escalation configured for the partition level?

    Gail Shaw
    Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
    SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass