=====================START====================================

闲来无事,看了下数据库跑的long running sql,

SQL> /

1708      51125          1 61jv5qy7mandd      10622 infaadm                        inf-p-va-01.va2.b2c.nike.com

DELETE FROM FINOPRPT.FIN_ORD_DTL WHERE ORD_LIN_ID IN (SELECT ORD_LIN_ID FROM FINOPSTG.ORDER_LINE_FINRPT_STG)

pmdtm@inf-p-va-01.va2.b2c.nike.com (TNS V1-V3)                   db file scattered read

382      22079          1 61jv5qy7mandd      10621 infaadm                        inf-p-va-01.va2.b2c.nike.com

DELETE FROM FINOPRPT.FIN_ORD_DTL WHERE ORD_LIN_ID IN (SELECT ORD_LIN_ID FROM FINOPSTG.ORDER_LINE_FINRPT_STG)

pmdtm@inf-p-va-01.va2.b2c.nike.com (TNS V1-V3)                   PX Deq: Table Q Normal

5       9223          1 61jv5qy7mandd      10621 infaadm                        inf-p-va-01.va2.b2c.nike.com

DELETE FROM FINOPRPT.FIN_ORD_DTL WHERE ORD_LIN_ID IN (SELECT ORD_LIN_ID FROM FINOPSTG.ORDER_LINE_FINRPT_STG)

pmdtm@inf-p-va-01.va2.b2c.nike.com (TNS V1-V3)                   PX Deq: Table Q Normal

70      62839          1 61jv5qy7mandd      10621 infaadm                        inf-p-va-01.va2.b2c.nike.com

DELETE FROM FINOPRPT.FIN_ORD_DTL WHERE ORD_LIN_ID IN (SELECT ORD_LIN_ID FROM FINOPSTG.ORDER_LINE_FINRPT_STG)

pmdtm@inf-p-va-01.va2.b2c.nike.com (TNS V1-V3)                   PX Deq: Table Q Normal

139        299          1 61jv5qy7mandd      10621 infaadm                        inf-p-va-01.va2.b2c.nike.com

DELETE FROM FINOPRPT.FIN_ORD_DTL WHERE ORD_LIN_ID IN (SELECT ORD_LIN_ID FROM FINOPSTG.ORDER_LINE_FINRPT_STG)

pmdtm@inf-p-va-01.va2.b2c.nike.com (TNS V1-V3)                   PX Deq: Table Q Normal

202      23755          1 61jv5qy7mandd      10621 infaadm                        inf-p-va-01.va2.b2c.nike.com

DELETE FROM FINOPRPT.FIN_ORD_DTL WHERE ORD_LIN_ID IN (SELECT ORD_LIN_ID FROM FINOPSTG.ORDER_LINE_FINRPT_STG)

pmdtm@inf-p-va-01.va2.b2c.nike.com (TNS V1-V3)                   PX Deq: Table Q Normal

203        541          1 61jv5qy7mandd      10621 infaadm                        inf-p-va-01.va2.b2c.nike.com

DELETE FROM FINOPRPT.FIN_ORD_DTL WHERE ORD_LIN_ID IN (SELECT ORD_LIN_ID FROM FINOPSTG.ORDER_LINE_FINRPT_STG)

pmdtm@inf-p-va-01.va2.b2c.nike.com (TNS V1-V3)                   PX Deq: Table Q Normal

260      38107          1 61jv5qy7mandd      10621 infaadm                        inf-p-va-01.va2.b2c.nike.com

DELETE FROM FINOPRPT.FIN_ORD_DTL WHERE ORD_LIN_ID IN (SELECT ORD_LIN_ID FROM FINOPSTG.ORDER_LINE_FINRPT_STG)

pmdtm@inf-p-va-01.va2.b2c.nike.com (TNS V1-V3)                   PX Deq: Table Q Normal

322      13893          1 61jv5qy7mandd      10621 infaadm                        inf-p-va-01.va2.b2c.nike.com

DELETE FROM FINOPRPT.FIN_ORD_DTL WHERE ORD_LIN_ID IN (SELECT ORD_LIN_ID FROM FINOPSTG.ORDER_LINE_FINRPT_STG)

pmdtm@inf-p-va-01.va2.b2c.nike.com (TNS V1-V3)                   PX Deq: Table Q Normal

324      27407          1 61jv5qy7mandd      10621 infaadm                        inf-p-va-01.va2.b2c.nike.com

DELETE FROM FINOPRPT.FIN_ORD_DTL WHERE ORD_LIN_ID IN (SELECT ORD_LIN_ID FROM FINOPSTG.ORDER_LINE_FINRPT_STG)

pmdtm@inf-p-va-01.va2.b2c.nike.com (TNS V1-V3)                   PX Deq: Table Q Normal

454         75          1 61jv5qy7mandd      10621 infaadm                        inf-p-va-01.va2.b2c.nike.com

DELETE FROM FINOPRPT.FIN_ORD_DTL WHERE ORD_LIN_ID IN (SELECT ORD_LIN_ID FROM FINOPSTG.ORDER_LINE_FINRPT_STG)

pmdtm@inf-p-va-01.va2.b2c.nike.com (TNS V1-V3)                   PX Deq: Table Q Normal

515        199          1 61jv5qy7mandd      10621 infaadm                        inf-p-va-01.va2.b2c.nike.com

DELETE FROM FINOPRPT.FIN_ORD_DTL WHERE ORD_LIN_ID IN (SELECT ORD_LIN_ID FROM FINOPSTG.ORDER_LINE_FINRPT_STG)

pmdtm@inf-p-va-01.va2.b2c.nike.com (TNS V1-V3)                   PX Deq: Table Q Normal

638       6453          1 61jv5qy7mandd      10621 infaadm                        inf-p-va-01.va2.b2c.nike.com

DELETE FROM FINOPRPT.FIN_ORD_DTL WHERE ORD_LIN_ID IN (SELECT ORD_LIN_ID FROM FINOPSTG.ORDER_LINE_FINRPT_STG)

pmdtm@inf-p-va-01.va2.b2c.nike.com (TNS V1-V3)                   PX Deq: Table Q Normal

705       1439          1 61jv5qy7mandd      10621 infaadm                        inf-p-va-01.va2.b2c.nike.com

DELETE FROM FINOPRPT.FIN_ORD_DTL WHERE ORD_LIN_ID IN (SELECT ORD_LIN_ID FROM FINOPSTG.ORDER_LINE_FINRPT_STG)

pmdtm@inf-p-va-01.va2.b2c.nike.com (TNS V1-V3)                   PX Deq: Table Q Normal

764        613          1 61jv5qy7mandd      10621 infaadm                        inf-p-va-01.va2.b2c.nike.com

DELETE FROM FINOPRPT.FIN_ORD_DTL WHERE ORD_LIN_ID IN (SELECT ORD_LIN_ID FROM FINOPSTG.ORDER_LINE_FINRPT_STG)

pmdtm@inf-p-va-01.va2.b2c.nike.com (TNS V1-V3)                   PX Deq: Table Q Normal

1896      35227          1 61jv5qy7mandd      10621 infaadm                        inf-p-va-01.va2.b2c.nike.com

DELETE FROM FINOPRPT.FIN_ORD_DTL WHERE ORD_LIN_ID IN (SELECT ORD_LIN_ID FROM FINOPSTG.ORDER_LINE_FINRPT_STG)

pmdtm@inf-p-va-01.va2.b2c.nike.com (TNS V1-V3)                   PX Deq: Table Q Normal

2152      43367          1 61jv5qy7mandd      10621 infaadm                        inf-p-va-01.va2.b2c.nike.com

DELETE FROM FINOPRPT.FIN_ORD_DTL WHERE ORD_LIN_ID IN (SELECT ORD_LIN_ID FROM FINOPSTG.ORDER_LINE_FINRPT_STG)

pmdtm@inf-p-va-01.va2.b2c.nike.com (TNS V1-V3)                   PX Deq: Table Q Normal

看到这条delete语句跑了3hours左右,于是想看看为啥跑这么慢,因为从v$session查出来的这句sql是有很多sid的,说明有很多session,开了并行在delete,那为何还跑得这么慢。

并且得看看并行hint在语句中我没看到,是表的并行还是应用连过来设的并行还是什么?

先大致分析下:

Sql text:DELETE FROM FINOPRPT.FIN_ORD_DTL WHERE ORD_LIN_ID IN (SELECT ORD_LIN_ID FROM FINOPSTG.ORDER_LINE_FINRPT_STG)

SQL> SELECT px.QCSID,px.SID "SID", p.PID, p.SPID "SPID", px.INST_ID "Inst",s.status,s.username,s.machine,to_char(logon_time,'yyyymmdd hh24:mi:ss')  as loggon_time,s.last_call_et,

2         px.SERVER_GROUP "Group", px.SERVER_SET "Set",

3      px.DEGREE "Degree", px.REQ_DEGREE "Req Degree", w.event "Wait Event"

FROM GV$SESSION s, GV$PX_SESSION px, GV$PROCESS p, GV$SESSION_WAIT w

WHERE s.sid (+) = px.sid AND s.inst_id (+) = px.inst_id AND

s.sid = w.sid (+) AND s.inst_id = w.inst_id (+) AND

s.paddr = p.addr (+) AND s.inst_id = p.inst_id (+) and px.qcsid=1708

ORDER BY DECODE(px.QCINST_ID,  NULL, px.INST_ID,  px.QCINST_ID), px.QCSID,

DECODE(px.SERVER_GROUP, NULL, 0, px.SERVER_GROUP), px.SERVER_SET, px.INST_ID;  4    5    6    7    8    9

QCSID        SID        PID SPID                           Inst STATUS   USERNAME                       MACHINE                                                    LOGGON_TIME        LAST_CALL_ET      Group        Set     Degree Req Degree Wait Event

---------- ---------- ---------- ------------------------ ---------- -------- ------------------------------ ---------------------------------------------------------------- ----------------- ------------ ---------- ---------- ---------- ---------- ----------------------------------------------------------------

1708       1708         75 25545                             1 ACTIVE   INFA_USR                       inf-p-va-01.va2.b2c.nike.com                               20161217 09:30:23        11875                                              db file scattered read

1708        139         50 3991                              1 ACTIVE   INFA_USR                       inf-p-va-01.va2.b2c.nike.com                               20161217 09:30:24        11874           1          1         16         48 PX Deq: Table Q Normal

1708        202         51 3993                              1 ACTIVE   INFA_USR                       inf-p-va-01.va2.b2c.nike.com                               20161217 09:30:24        11874           1          1         16         48 PX Deq: Table Q Normal

1708        260         52 3995                              1 ACTIVE   INFA_USR                       inf-p-va-01.va2.b2c.nike.com                               20161217 09:30:24        11874           1          1         16         48 PX Deq: Table Q Normal

1708        322         53 3997                              1 ACTIVE   INFA_USR                       inf-p-va-01.va2.b2c.nike.com                               20161217 09:30:24        11874           1          1         16         48 PX Deq: Table Q Normal

1708        382         54 3999                              1 ACTIVE   INFA_USR                       inf-p-va-01.va2.b2c.nike.com                               20161217 09:30:24        11874           1          1         16         48 PX Deq: Table Q Normal

1708        454         55 4001                              1 ACTIVE   INFA_USR                       inf-p-va-01.va2.b2c.nike.com                               20161217 09:30:24        11874           1          1         16         48 PX Deq: Table Q Normal

1708          5         48 3987                              1 ACTIVE   INFA_USR                       inf-p-va-01.va2.b2c.nike.com                               20161217 09:30:24        11874           1          1         16         48 PX Deq: Table Q Normal

1708         70         49 3989                              1 ACTIVE   INFA_USR                       inf-p-va-01.va2.b2c.nike.com                               20161217 09:30:24        11874           1          1         16         48 PX Deq: Table Q Normal

1708        764        108 25561                             1 ACTIVE   INFA_USR                       inf-p-va-01.va2.b2c.nike.com                               20161217 09:30:24        11874           1          1         16         48 PX Deq: Table Q Normal

1708        705        107 25559                             1 ACTIVE   INFA_USR                       inf-p-va-01.va2.b2c.nike.com                               20161217 09:30:24        11874           1          1         16         48 PX Deq: Table Q Normal

1708        638        106 25557                             1 ACTIVE   INFA_USR                       inf-p-va-01.va2.b2c.nike.com                               20161217 09:30:24        11874           1          1         16         48 PX Deq: Table Q Normal

1708        515        104 25555                             1 ACTIVE   INFA_USR                       inf-p-va-01.va2.b2c.nike.com                               20161217 09:30:24        11874           1          1         16         48 PX Deq: Table Q Normal

1708        324        101 25553                             1 ACTIVE   INFA_USR                       inf-p-va-01.va2.b2c.nike.com                               20161217 09:30:24        11874           1          1         16         48 PX Deq: Table Q Normal

1708        203         99 25551                             1 ACTIVE   INFA_USR                       inf-p-va-01.va2.b2c.nike.com                               20161217 09:30:24        11874           1          1         16         48 PX Deq: Table Q Normal

1708       2152         82 25549                             1 ACTIVE   INFA_USR                       inf-p-va-01.va2.b2c.nike.com                               20161217 09:30:24        11874           1          1         16         48 PX Deq: Table Q Normal

1708       1896         78 25547                             1 ACTIVE   INFA_USR                       inf-p-va-01.va2.b2c.nike.com                               20161217 09:30:24        11874           1          1         16         48 PX Deq: Table Q Normal

1708       2211        131 6265                              1 INACTIVE INFA_USR                       inf-p-va-01.va2.b2c.nike.com                               20161217 09:30:24        11874           1          2         16         48 PX Deq: Execution Msg

1708       2397        134 6271                              1 INACTIVE INFA_USR                       inf-p-va-01.va2.b2c.nike.com                               20161217 09:30:24        11874           1          2         16         48 PX Deq: Execution Msg

1708       1022        112 6203                              1 INACTIVE INFA_USR                       inf-p-va-01.va2.b2c.nike.com                               20161217 09:30:24        11874           1          2         16         48 PX Deq: Execution Msg

1708       1078        113 6205                              1 INACTIVE INFA_USR                       inf-p-va-01.va2.b2c.nike.com                               20161217 09:30:24        11874           1          2         16         48 PX Deq: Execution Msg

1708       1142        114 6207                              1 INACTIVE INFA_USR                       inf-p-va-01.va2.b2c.nike.com                               20161217 09:30:24        11874           1          2         16         48 PX Deq: Execution Msg

1708       1202        115 6214                              1 INACTIVE INFA_USR                       inf-p-va-01.va2.b2c.nike.com                               20161217 09:30:24        11874           1          2         16         48 PX Deq: Execution Msg

1708       1266        116 6226                              1 INACTIVE INFA_USR                       inf-p-va-01.va2.b2c.nike.com                               20161217 09:30:24        11874           1          2         16         48 PX Deq: Execution Msg

1708       2155        130 6263                              1 INACTIVE INFA_USR                       inf-p-va-01.va2.b2c.nike.com                               20161217 09:30:24        11874           1          2         16         48 PX Deq: Execution Msg

1708        574        105 6257                              1 INACTIVE INFA_USR                       inf-p-va-01.va2.b2c.nike.com                               20161217 09:30:24        11874           1          2         16         48 PX Deq: Execution Msg

1708       1963        127 6255                              1 INACTIVE INFA_USR                       inf-p-va-01.va2.b2c.nike.com                               20161217 09:30:24        11874           1          2         16         48 PX Deq: Execution Msg

1708        387        102 6243                              1 INACTIVE INFA_USR                       inf-p-va-01.va2.b2c.nike.com                               20161217 09:30:24        11874           1          2         16         48 PX Deq: Execution Msg

1708       1898        126 6253                              1 INACTIVE INFA_USR                       inf-p-va-01.va2.b2c.nike.com                               20161217 09:30:24        11874           1          2         16         48 PX Deq: Execution Msg

1708       1835        125 6251                              1 INACTIVE INFA_USR                       inf-p-va-01.va2.b2c.nike.com                               20161217 09:30:24        11874           1          2         16         48 PX Deq: Execution Msg

1708       1767        124 6249                              1 INACTIVE INFA_USR                       inf-p-va-01.va2.b2c.nike.com                               20161217 09:30:24        11874           1          2         16         48 PX Deq: Execution Msg

1708       1333        117 6233                              1 INACTIVE INFA_USR                       inf-p-va-01.va2.b2c.nike.com                               20161217 09:30:24        11874           1          2         16         48 PX Deq: Execution Msg

1708       2276        132 6267                              1 INACTIVE INFA_USR                       inf-p-va-01.va2.b2c.nike.com                               20161217 09:30:24        11874           1          2         16         48 PX Deq: Execution Msg

33 rows selected.

看下执行计划,把in语句转换成hash join right semi操作,这样相当于两张表做hash join了,表的获取是走全表扫描和Fast full ind scan,这两个操作正好都能充分利用并行进程。

所以执行计划暂时没看出有啥毛病。

Plan hash value: 1653143170

-------------------------------------------------------------------------------------------------------------------------------------

| Id  | Operation                   | Name                     | Rows  | Bytes | Cost (%CPU)| Time     |    TQ  |IN-OUT| PQ Distrib |

-------------------------------------------------------------------------------------------------------------------------------------

|   0 | DELETE STATEMENT            |                          |       |       |   349K(100)|          |        |      |            |

|   1 |  DELETE                     | FIN_ORD_DTL              |       |       |            |          |        |      |            |

|   2 |   PX COORDINATOR            |                          |       |       |            |          |        |      |            |

|   3 |    PX SEND QC (RANDOM)      | :TQ10002                 |  5950K|   283M|   349K  (1)| 02:14:00 |  Q1,02 | P->S | QC (RAND)  |

|*  4 |     HASH JOIN RIGHT SEMI    |                          |  5950K|   283M|   349K  (1)| 02:14:00 |  Q1,02 | PCWP |            |

|   5 |      PX RECEIVE             |                          |  5950K|   141M|  6476   (1)| 00:02:29 |  Q1,02 | PCWP |            |

|   6 |       PX SEND HASH          | :TQ10001                 |  5950K|   141M|  6476   (1)| 00:02:29 |  Q1,01 | P->P | HASH       |

|   7 |        PX BLOCK ITERATOR    |                          |  5950K|   141M|  6476   (1)| 00:02:29 |  Q1,01 | PCWC |            |

|*  8 |         INDEX FAST FULL SCAN| ORDER_LINE_FINRPT_STG_I3 |  5950K|   141M|  6476   (1)| 00:02:29 |  Q1,01 | PCWP |            |

|   9 |      BUFFER SORT            |                          |       |       |            |          |  Q1,02 | PCWC |            |

|  10 |       PX RECEIVE            |                          |    40M|   969M|   342K  (1)| 02:11:28 |  Q1,02 | PCWP |            |

|  11 |        PX SEND HASH         | :TQ10000                 |    40M|   969M|   342K  (1)| 02:11:28 |        | S->P | HASH       |

|  12 |         TABLE ACCESS FULL   | FIN_ORD_DTL              |    40M|   969M|   342K  (1)| 02:11:28 |        |      |            |

-------------------------------------------------------------------------------------------------------------------------------------

Query Block Name / Object Alias (identified by operation id):

-------------------------------------------------------------

1 - SEL$3BA1AD7C

8 - SEL$3BA1AD7C / ORDER_LINE_FINRPT_STG@SEL$1

12 - SEL$3BA1AD7C / FIN_ORD_DTL@DEL$1

Predicate Information (identified by operation id):

---------------------------------------------------

4 - access("ORD_LIN_ID"="ORD_LIN_ID")

8 - access(:Z>=:Z AND :Z<=:Z)

select table_name, owner,num_rows, blocks, last_analyzed,partitioned

from dba_tables

where table_name in ('FIN_ORD_DTL', 'ORDER_LINE_FINRPT_STG');

TABLE_NAME                     OWNER                            NUM_ROWS     BLOCKS LAST_ANAL PAR

------------------------------ ------------------------------ ---------- ---------- --------- ---

ORDER_LINE_FINRPT_STG          FINOPSTG                          5950720     608238 11-DEC-16 NO

FIN_ORD_DTL                    FINOPRPT                         40662196    1702912 24-AUG-16 NO

其实两张表join,正常并行全表扫描+并行index fast full index scan会很快,五分钟左右能完成,不至于跑3hours还没结束。

SQL> ho date

Sat Dec 17 13:09:09 UTC 2016

为什么执行计划有并行,实际一直都是单线程工作,因为从如下OEM可以看到sql从开始跑的时候就一直是单线程工作,

为什么gv$session看到了有parallel processes,执行计划也是并行操作,而OEM看到的其实一直都是单线程,并没有并行

先来看看表的并行度: select table_name,degree from dba_tables where table_name in ('FIN_ORD_DTL', 'ORDER_LINE_FINRPT_STG');

TABLE_NAME                     DEGREE

------------------------------ ----------------------------------------

FIN_ORD_DTL                                         1

ORDER_LINE_FINRPT_STG                   1

在sql级别没有加parallel hint,在表级别degree也是1,那么并行是哪里来的?

并行度可以通过以下三种方式来设定:

1、使用Hint 指定并行度。

2、使用alter session force parallel 设定并行度。

3、使用SQL中引用的表或者索引上设定的并行度,原则上Oracle 使用这些对象中并行度最高的那个值作为当前执行的并行度。

三种方式任意一种就可以使并行生效,如果多种方式同时存在的话,则优先级顺序是:hint -> alter session -> table/index degree

那么这个并行出现的可能性只有两种了:

  1. 应用连过来设的session级别的并行度
  2. V$session及执行计划的’缺陷’

另外自己还看了下数据库设置的parallel相关参数,对如下这个参数关注了一下,

https://docs.oracle.com/cd/E18283_01/server.112/e16541/parallel005.htm

PARALLEL_FORCE_LOCAL

This parameter specifies whether a SQL statement executed in parallel is restricted to a single instance in an Oracle RAC environment. By setting this parameter to TRUE, you restrict the scope of the parallel server processed to the single Oracle RAC instance where the query coordinator is running.

The recommended value for the PARALLEL_FORCE_LOCAL parameter is FALSE.

这个参数在BI库里设成false,就是说BI 6个节点,即使我在node3上sql开了并行,也仅限于node3上,不会借助其他node(这个参数在这个案例没啥影响,只是捎带提下)

PARALLEL_DEGREE_POLICY

PARALLEL_DEGREE_POLICY specifies whether or not automatic degree of
Parallelism, statement queuing, and in-memory parallel execution will be enabled.Values:

  • MANUAL: Disables automatic degree of parallelism, statement
    queuing, and in-memory parallel execution. This reverts the behavior of
    parallel execution to what it was prior to Oracle Database 11g Release 2
    (11.2). This is the default.
  • LIMITED: Enables automatic degree of parallelism for some
    statements but statement queuing and in-memory Parallel Execution are disabled.
    Automatic degree of parallelism is only applied to those statements that access
    tables or indexes decorated explicitly with the DEFAULT degree of parallelism
    using the PARALLEL clause. Statements that do not access any tables or indexes
    decorated with the DEFAULT degree of parallelism will retain the MANUAL
    behavior.
  • AUTO: Enables automatic degree of parallelism, statement queuing,
    and in-memory parallel execution.

生产的参数如下:

parallel_degree_policy               string      MANUAL

parallel_force_local                 boolean     TRUE

看了下跟数据库的参数设置也没关系。

所以接下来的思路,或者办法就是:

跟应用确认,是不是session级别设置的,要么没设置,那么v$session和执行计划的信息就是错的,要么设置了,那么为什么一直是单线程工作了,在这里是可以用到并行去做table
full scan和index
fast full scan这两个操作的,那么可以分析下并行的资源是不是够,当时自己没想到这一点,可能并行资源全都in use了!这是目前唯一能想出来的原因了。

所以以后分析的时候还顺便分析下并行的资源使用

SELECT * FROM
V$PX_PROCESS;可以看到还有多少available的parallel process

select * from V$PX_PROCESS_SYSSTAT;也可以看

当然后续的文章还会说明下关于并行的consumer/producer模型,parallel wait event等知识。

======================ENDED========================================

delete语句跑了3个小时分析以及关于并行的一些知识的更多相关文章

  1. MySQL DELETE语句和TRUNCATE TABLE语句的区别

    MySQL DELETE语句和TRUNCATE TABLE语句的区别 2010-10-08 16:05 佚名 互联网 字号:T | T 在MySQL数据库中,DELETE语句和TRUNCATE TAB ...

  2. Sql Server系列:Delete语句

    数据的删除将删除表的部分或全部记录,删除时可以指定删除条件从而删除一条或多条记录.如果不指定删除条件,DELETE语句将删除表中全部的记录,清空数据表. 1 DELETE语法 [ WITH <c ...

  3. SQL DELETE 语句

    DELETE 语句用于删除表中的行. 语法 DELETE FROM 表名称 WHERE 列名称 = 值 Person: LastName FirstName Address City Gates Bi ...

  4. FP 某段SQL语句执行时间超过1个小时,并报错:ORA-01652: 无法通过 128 (在表空间 TEMPSTG 中) 扩展

    一.出现如下两个错误:1.某一段SQL语句执行时间超过1个小时:2.一个小时后,提示如下错误:ORA-01652: 无法通过 128 (在表空间 TEMPSTG 中) 扩展 temp 段ORA-065 ...

  5. 如何判断一条sql(update,delete)语句是否执行成功

    如何判断一条sql(update,delete)语句是否执行成功 catch  (SQLException    e)  {  }  catch不到错误应该就成功了.   ============== ...

  6. mysql 事务是专门用来管理insert,update,delete语句的,和select语句一点不相干

    1.mysql 事务是专门用来管理insert,update,delete语句的,和select语句一点不相干 2.一般来说,事务是必须满足4个条件(ACID): Atomicity(原子性).Con ...

  7. delete语句与reference约束 FK_subplan_job_id冲突问题,导致job无法删除解决办法

    在SQL Server 2008上删除已运行维护计划后,维护计划job没有自动删除掉,手工再删除维护计划job,提示删除失败. 错误现象:delete  语句与 reference 约束"F ...

  8. 删除作业计划出错(DELETE语句与 REFERENCE约束"FK_subplan_job_id"冲突。)

    删除作业计划出错(DELETE语句与 REFERENCE约束"FK_subplan_job_id"冲突.) use msdb select * from sysmaintplan_plans --查看 ...

  9. oracle数据库删除数据Delete语句和Truncate语句的对比

    oracle数据库删除数据Delete语句和Truncate语句的对比 当表中的数据不需要时,则应该删除该数据并释放所占用的空间,删除表中的数据可以使用Delete语句或者Truncate语句,下面分 ...

随机推荐

  1. Cesium原理篇:7最长的一帧之Entity(下)

    上一篇,我们介绍了当我们添加一个Entity时,通过Graphics封装其对应参数,通过EntityCollection.Add方法,将EntityCollection的Entity传递到DataSo ...

  2. JavaScript填坑史

    说明:  这是笔者平时积累的一些觉得比较有意思或是比较有难度的JavaScript题目理解和心得,会保持长期更新. 1.setTimeout和setInterval深入理解 在setTimeout和s ...

  3. anonymousIdentification 与匿名访问

    anonymousIdentification 元素(ASP.NET 设置架构) 来自 <https://msdn.microsoft.com/zh-cn/library/91ka2e6a(v= ...

  4. WebAPI2使用AutoFac依赖注入完整解决方案。

    WebApi2上进行依赖注入,在百度里能搜到的的完整解决方案的文章少之又少,缺胳膊断腿. 和MVC5依赖注入的不同之处,并且需要注意的地方,标记在注释当中.上Global代码: namespace S ...

  5. Levenshtein Distance算法(编辑距离算法)

    编辑距离 编辑距离(Edit Distance),又称Levenshtein距离,是指两个字串之间,由一个转成另一个所需的最少编辑操作次数.许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符, ...

  6. sqlHelper做增删改查

    1.把数据库里面的数据显示出来 sqlHelper怎么用:[网上可以下载,需要可以找楼主要] 1.拷贝到项目,修改它的命名空间等于当前项目名称 2.数据库的连接信息,用户名,密码,登录方式等 < ...

  7. php中导入导出excel的原理

    在php中我们要经常导入导出excel文件,方便后台管理.那么php导入和导出excel的原理到底是什么呢?excel分为两大版本excel2007(后缀.xlsx).excel2003(后缀.xls ...

  8. 转载:《TypeScript 中文入门教程》 5、命名空间和模块

    版权 文章转载自:https://github.com/zhongsp 建议您直接跳转到上面的网址查看最新版本. 关于术语的一点说明: 请务必注意一点,TypeScript 1.5里术语名已经发生了变 ...

  9. json-lib的使用《二》

    上篇文章主要集中在了使用json-lib来实现JSON字符串和java中的对象的互转上,忽视了json-lib本身的功能,json-lib中有两个类比较重要:JSONObject和JSONArray, ...

  10. C程序范例(2)——学生管理系统”链表“实现

    1.对于学生管理系统,能够实现的方法有许多,但是今天我们用链表的方法来实现.虽然初学者很可能看不懂,但是不要紧,这是要在整体的系统的学习完C语言之后,我才编写出的程序.所以大家不必要担心.在这里与大家 ...