oracle拼接衣服穿,这个SQL印衣服上做花纹不错!

WITH MONITOR_DATA AS (SELECT INST_ID,  KEY,  NVL2(PX_QCSID,  NULL,  STATUS) STATUS,  FIRST_REFRESH_TIME,  LAST_REFRESH_TIME,  REFRESH_COUNT,  PROCESS_NAME,  SID,  SQL_ID,  SQL_EXEC_START,  SQL_EXEC_ID,  DBOP_NAME,  DBOP_EXEC_ID,  SQL_PLAN_HASH_VALUE,  SESSION_SERIAL#,  SQL_TEXT,  IS_FULL_SQLTEXT,  PX_SERVER#,  PX_SERVER_GROUP,  PX_SERVER_SET,  PX_QCINST_ID,  PX_QCSID,  CASE WHEN ELAPSED_TIME < (CPU_TIME+ APPLICATION_WAIT_TIME+ CONCURRENCY_WAIT_TIME+ CLUSTER_WAIT_TIME+ USER_IO_WAIT_TIME+ QUEUING_TIME) THEN (CPU_TIME+ APPLICATION_WAIT_TIME+ CONCURRENCY_WAIT_TIME+ CLUSTER_WAIT_TIME+ USER_IO_WAIT_TIME+ QUEUING_TIME) ELSE ELAPSED_TIME END ELAPSED_TIME,  QUEUING_TIME,  CPU_TIME,  APPLICATION_WAIT_TIME,  CONCURRENCY_WAIT_TIME,  CLUSTER_WAIT_TIME,  USER_IO_WAIT_TIME,  CASE WHEN ELAPSED_TIME < (CPU_TIME+ APPLICATION_WAIT_TIME+ CONCURRENCY_WAIT_TIME+ CLUSTER_WAIT_TIME+ USER_IO_WAIT_TIME+ QUEUING_TIME) THEN 0 ELSE ELAPSED_TIME - (CPU_TIME+ APPLICATION_WAIT_TIME+ CONCURRENCY_WAIT_TIME+ CLUSTER_WAIT_TIME+ USER_IO_WAIT_TIME+ QUEUING_TIME) END OTHER_WAIT_TIME,  PLSQL_EXEC_TIME,  JAVA_EXEC_TIME,  FETCHES,  BUFFER_GETS,  IO_INTERCONNECT_BYTES IO_INTER_BYTES,  PHYSICAL_READ_REQUESTS READ_REQS,  PHYSICAL_READ_BYTES READ_BYTES,  PHYSICAL_WRITE_REQUESTS WRITE_REQS,  PHYSICAL_WRITE_BYTES WRITE_BYTES,  NVL(PHYSICAL_READ_BYTES,  0) + NVL(PHYSICAL_WRITE_BYTES,  0) IO_BYTES,  NVL(PHYSICAL_READ_REQUESTS,  0) + NVL(PHYSICAL_WRITE_REQUESTS,  0) IO_REQS,  USER# USERID,  USERNAME,  MODULE,  ACTION,  SERVICE_NAME,  CLIENT_IDENTIFIER,  CLIENT_INFO,  PROGRAM,  PLSQL_OBJECT_ID PL_OID,  PLSQL_SUBPROGRAM_ID PL_PROGID,  PLSQL_ENTRY_OBJECT_ID PL_ENTRY_OID,  PLSQL_ENTRY_SUBPROGRAM_ID PL_ENTRY_PROGID,  PX_MAXDOP MAX_DOP,  PX_IS_CROSS_INSTANCE,  PX_MAXDOP_INSTANCES MAX_DOP_INSTANCES,  PX_SERVERS_REQUESTED SERVERS_REQUESTED,  PX_SERVERS_ALLOCATED SERVERS_ALLOCATED,  ERROR_NUMBER,  ERROR_FACILITY,  ERROR_MESSAGE,  NVL2(OTHER_XML,  'Y',  NULL) HAS_OTHER_XML,  NVL2(BINDS_XML,  'Y',  NULL) HAS_BINDS_XML,NVL2(RM_CONSUMER_GROUP,  NVL2(RM_LAST_ACTION_TIME,  TO_CHAR(RM_LAST_ACTION_TIME,  :B12 ),  '00/00/0000 00:00:01') || XMLELEMENT( "rminfo",  XMLATTRIBUTES( RM_LAST_ACTION AS "rmlastact",  RM_LAST_ACTION_REASON AS "rmlastreason",  TO_CHAR(RM_LAST_ACTION_TIME,  :B12 ) AS "rmlasttime",  RM_CONSUMER_GROUP AS "rmcg")).GETSTRINGVAL(),  '00/00/0000 00:00:00') RM_INFO,  CON_NAME,  CON_ID FROM GV$SQL_MONITOR MO1 WHERE MO1.INST_ID BETWEEN :B11 AND :B10 AND MO1.SQL_ID = NVL(:B9 ,  MO1.SQL_ID) AND MO1.SQL_EXEC_START = NVL(:B8 ,  MO1.SQL_EXEC_START) AND MO1.SQL_EXEC_ID = NVL(:B7 ,  MO1.SQL_EXEC_ID) OR (MO1.DBOP_NAME = NVL(:B6 ,  MO1.DBOP_NAME) AND MO1.DBOP_EXEC_ID = NVL(:B5 ,  MO1.DBOP_EXEC_ID)) AND ((:B4 = 1 AND MO1.PX_QCSID IS NULL) OR (MO1.PX_SERVER_GROUP = NVL(:B3 ,  MO1.PX_SERVER_GROUP) AND MO1.PX_SERVER_SET = NVL(:B2 ,  MO1.PX_SERVER_SET) AND MO1.PX_SERVER# = NVL(:B1 ,  MO1.PX_SERVER#)))),  MONITOR_AGG AS (SELECT MAX_PX_QCSID,  MAX_KEY,  MAX_INST_ID,  MAX_SESSION_ID,  MAX_SESSION_SERIAL,  MAX_PX_DOP,  MAX_PX_DOP_INSTANCES,  MAX_PX_IS_CROSS_INSTANCE,  SUM_SERVERS_REQUESTED,  SUM_SERVERS_ALLOCATED,  DIST_INST_COUNT,  DIST_PX_GROUP_COUNT,  DIST_PX_SET_COUNT,  MAX_PLAN_HASH_VALUE,  MAX_USERID,  MAX_PROGRAM,  MAX_USERNAME,  MAX_MODULE,  MAX_ACTION,  MAX_SERVICE_NAME,  MAX_CLIENT_ID,  MAX_CLIENT_INFO,  MAX_ERROR_NUMBER,  MAX_ERROR_FACILITY,  MAX_ERROR_MESSAGE,  QC_HAS_OTHER_XML,  QC_HAS_BINDS_XML,  MAX_PL_OID,  MAX_PL_PROGID,  MAX_PL_ENTRY_OID,  MAX_PL_ENTRY_PROGID,  MAX_SQL_ID,  MAX_SQL_EXEC_START,  MAX_SQL_EXEC_ID,  MAX_LAST_REFRESH_TIME,  MAX_DBOP_NAME,  MAX_DBOP_EXEC_ID,  CASE WHEN MAX_PL_OID IS NOT NULL THEN NVL((SELECT P.OWNER || '.' || P.OBJECT_NAME || DECODE(P.PROCEDURE_NAME,  NULL,  '',  '.' || P.PROCEDURE_NAME) FROM DBA_PROCEDURES P WHERE P.OBJECT_ID = MAX_PL_OID AND P.SUBPROGRAM_ID = MAX_PL_PROGID),  'Unavailable') END MAX_PL_NAME,  CASE WHEN MAX_PL_ENTRY_OID IS NOT NULL THEN NVL((SELECT P.OWNER || '.' || P.OBJECT_NAME|| DECODE(P.PROCEDURE_NAME,  NULL,  '',  '.' || P.PROCEDURE_NAME) FROM DBA_PROCEDURES P WHERE P.OBJECT_ID = MAX_PL_ENTRY_OID AND P.SUBPROGRAM_ID = MAX_PL_ENTRY_PROGID),  'Unavailable') END MAX_PL_ENTRY_NAME,  MAX_STATUS,  SUM_REFRESH_COUNT,  MIN_FIRST_REFRESH_TIME,  IS_FULL_TEXT,  SQLMON_TEXT,  SUM_ELAPSED_TIME,  MAX_ELAPSED_TIME,  MAX_QUEUING_TIME,  SUM_CPU_TIME,  SUM_USER_IO_WAIT_TIME,  SUM_APPLICATION_WAIT_TIME,  SUM_CONCURRENCY_WAIT_TIME,  SUM_CLUSTER_WAIT_TIME,  SUM_PLSQL_EXEC_TIME,  SUM_JAVA_EXEC_TIME,  SUM_OTHER_WAIT_TIME,  SUM_FETCHES,  SUM_BUFFER_GETS,  SUM_READ_REQS,  SUM_READ_BYTES,  SUM_WRITE_REQS,  SUM_WRITE_BYTES,  SUM_IO_BYTES,  SUM_IO_INTER_BYTES,  DECODE(:B14 ,  1,  'db_name',  DB.DB_UNIQUE_NAME) DB_UNIQUE_NAME,  DECODE(:B14 ,  1,  'platform_name',  DB.PLATFORM_NAME) PLATFORM_NAME,  DECODE(:B14 ,  1,  'host_name',  INST.HOST_NAME) HOST_NAME,  AGG_RM_INFO MAX_RM_INFO,  MAX_CON_NAME,  DECODE(MAX_CON_ID,  0,  NULL,  MAX_CON_ID) MAX_CON_ID FROM (SELECT MAX(PX_QCSID) MAX_PX_QCSID,  MAX(CASE WHEN PX_QCSID IS NULL THEN KEY ELSE NULL END) MAX_KEY,  MAX(CASE WHEN PX_QCSID IS NULL THEN INST_ID ELSE NULL END) MAX_INST_ID,  MAX(CASE WHEN PX_QCSID IS NULL THEN SID ELSE NULL END) MAX_SESSION_ID,  MAX(CASE WHEN PX_QCSID IS NULL THEN SESSION_SERIAL# ELSE NULL END) MAX_SESSION_SERIAL,  MAX(MAX_DOP) MAX_PX_DOP,  MAX(MAX_DOP_INSTANCES) MAX_PX_DOP_INSTANCES,  MAX(PX_IS_CROSS_INSTANCE) MAX_PX_IS_CROSS_INSTANCE,  SUM(SERVERS_REQUESTED) SUM_SERVERS_REQUESTED,  SUM(SERVERS_ALLOCATED) SUM_SERVERS_ALLOCATED,  COUNT(DISTINCT INST_ID) DIST_INST_COUNT,  COUNT(DISTINCT PX_SERVER_GROUP) DIST_PX_GROUP_COUNT,  COUNT(DISTINCT PX_SERVER_SET) DIST_PX_SET_COUNT,  MAX(SQL_PLAN_HASH_VALUE) MAX_PLAN_HASH_VALUE,  MAX(USERID) MAX_USERID,  MAX(PROGRAM) MAX_PROGRAM,  MAX(USERNAME) MAX_USERNAME,  MAX(MODULE) MAX_MODULE,  MAX(ACTION) MAX_ACTION,  MAX(SERVICE_NAME) MAX_SERVICE_NAME,  MAX(CLIENT_IDENTIFIER) MAX_CLIENT_ID,  MAX(CLIENT_INFO) MAX_CLIENT_INFO,  MAX(ERROR_NUMBER) MAX_ERROR_NUMBER,  MAX(ERROR_FACILITY) MAX_ERROR_FACILITY,  MAX(ERROR_MESSAGE) MAX_ERROR_MESSAGE,  MAX(NVL2(PX_QCSID,  HAS_OTHER_XML,  NULL)) QC_HAS_OTHER_XML,  MAX(HAS_BINDS_XML) QC_HAS_BINDS_XML,  MAX(PL_OID) MAX_PL_OID,  MAX(PL_PROGID) MAX_PL_PROGID,  MAX(PL_ENTRY_OID) MAX_PL_ENTRY_OID,  MAX(PL_ENTRY_PROGID) MAX_PL_ENTRY_PROGID,  MAX(SQL_ID) MAX_SQL_ID,  MAX(SQL_EXEC_START) MAX_SQL_EXEC_START,  MAX(SQL_EXEC_ID) MAX_SQL_EXEC_ID,  MAX(LAST_REFRESH_TIME) MAX_LAST_REFRESH_TIME,  MAX(STATUS) MAX_STATUS,  SUM(REFRESH_COUNT) SUM_REFRESH_COUNT,  MIN(FIRST_REFRESH_TIME) MIN_FIRST_REFRESH_TIME,  MAX(DBOP_NAME) MAX_DBOP_NAME,  MAX(DBOP_EXEC_ID) MAX_DBOP_EXEC_ID,  CASE WHEN :B13 = 0 THEN NULL ELSE MAX(SQL_TEXT) END SQLMON_TEXT,  MAX(IS_FULL_SQLTEXT) IS_FULL_TEXT,  SUM(ELAPSED_TIME) SUM_ELAPSED_TIME,  MAX(ELAPSED_TIME) MAX_ELAPSED_TIME,  MAX(QUEUING_TIME) MAX_QUEUING_TIME,  SUM(CPU_TIME) SUM_CPU_TIME,  SUM(USER_IO_WAIT_TIME) SUM_USER_IO_WAIT_TIME,  SUM(APPLICATION_WAIT_TIME) SUM_APPLICATION_WAIT_TIME,  SUM(CONCURRENCY_WAIT_TIME) SUM_CONCURRENCY_WAIT_TIME,  SUM(CLUSTER_WAIT_TIME) SUM_CLUSTER_WAIT_TIME,  SUM(PLSQL_EXEC_TIME) SUM_PLSQL_EXEC_TIME,  SUM(JAVA_EXEC_TIME) SUM_JAVA_EXEC_TIME,  SUM(OTHER_WAIT_TIME) SUM_OTHER_WAIT_TIME,  SUM(FETCHES) SUM_FETCHES,  SUM(BUFFER_GETS) SUM_BUFFER_GETS,  SUM(READ_REQS) SUM_READ_REQS,  SUM(READ_BYTES) SUM_READ_BYTES,  SUM(WRITE_REQS) SUM_WRITE_REQS,  SUM(WRITE_BYTES) SUM_WRITE_BYTES,  NVL(SUM(READ_BYTES),  0) + NVL(SUM(WRITE_BYTES),  0) SUM_IO_BYTES,  SUM(IO_INTER_BYTES) SUM_IO_INTER_BYTES,  MAX(RM_INFO) AGG_RM_INFO,  MAX(CON_NAME) MAX_CON_NAME,  MAX(CON_ID) MAX_CON_ID FROM MONITOR_DATA) MD,  (SELECT HOST_NAME FROM V$INSTANCE) INST,  (SELECT DB_UNIQUE_NAME,  PLATFORM_NAME FROM V$DATABASE) DB),  ASH_DATA AS (SELECT AD0.INST_ID,  AD0.SESSION_ID,  AD0.PLAN_LINE_ID,  AD0.PLSQL_OBJECT_ID,  AD0.PLSQL_SUBPROGRAM_ID,  AD0.ACTIVITY_BUCKET_NUM,  AD0.PLAN_ACTIVITY_BUCKET_NUM,  AD0.SQL,  AD0.TOP_LEVEL_SQL_ID,  AD0.DBOP_NAME,  AD0.IS_MONITORED_SQL,  AD0.IS_PX_SLAVE,  AD0.BUCKET_ACTIVITY_START,  AD0.ACTIVITY_START,  AD0.BUCKET_ACTIVITY_END,  AD0.ACTIVITY_END,  AD0.ACTIVITY_COUNT,  AD0.ACTIVITY_TYPE,  AD0.OTHER_SQL_ACTIVITY_TYPE,  AD0.EVENT_NAME,  AD0.WAIT_COUNT,  AD0.CPU_COUNT,  AD0.OTHER_SQL_COUNT,  AD0.PX_SERVER_SET,  AD0.PX_DFO_ACTIVITY_COUNT,  AD0.DFO_MOST_ACTIVE_IID,  AD0.DFO_MOST_ACTIVE_SID,  (CASE WHEN AD0.DFO_MOST_ACTIVE_IID = AD0.INST_ID AND AD0.DFO_MOST_ACTIVE_SID = AD0.SESSION_ID AND (((AD0.PX_DFO_ACTIVITY_COUNT / AD0.DFO_MOST_ACTIVE_COUNT) >= AD0.PX_DOP * 1.05) OR ((AD0.PX_DFO_ACTIVITY_COUNT / AD0.DFO_MOST_ACTIVE_COUNT) <= AD0.PX_DOP *0.95)) AND (AD0.DFO_DURATION * 100) > :B32 THEN AD0.ACTIVITY_COUNT ELSE NULL END) DFO_MOST_ACTIVE_COUNT,  AD0.BUCKET_DISTINCT_SAMPLES,  AD0.SQL_BUCKET_DISTINCT_SAMPLES,  CASE WHEN AD0.PX_SERVER_GROUP IS NULL AND AD0.IS_PX_SLAVE = 1 THEN 1 ELSE AD0.PX_SERVER_GROUP END PX_SERVER_GROUP,  AD0.PX_STEP_ID,  AD0.PX_DFO_PAIR_TYPE,  AD0.PX_DFO_PAIR_ID,  AD0.PX_STEP_ARG,  AD0.PX_DOP,  CASE WHEN AD0.PX_DOP IS NOT NULL AND AD0.PX_DOP <> AD0.PX_MIN_DOP AND AD0.PX_MIN_DOP != 0 THEN PX_MIN_DOP ELSE NULL END PX_MIN_DOP FROM (SELECT /*+ use_hash(ash) leading(mo) */ ASH.INST_ID,  ASH.IS_PX_SLAVE,  ASH.SESSION_ID,  ASH.PLAN_LINE_ID,  ASH.PLSQL_OBJECT_ID,  ASH.PLSQL_SUBPROGRAM_ID,  ASH.ACTIVITY_BUCKET_NUM,  ASH.PLAN_ACTIVITY_BUCKET_NUM,  ASH.SQL,  ASH.TOP_LEVEL_SQL_ID,  ASH.DBOP_NAME,  ASH.IS_MONITORED_SQL,  ASH.BUCKET_ACTIVITY_START,  ASH.ACTIVITY_START,  ASH.BUCKET_ACTIVITY_END,  ASH.ACTIVITY_END,  ASH.ACTIVITY_COUNT,  ASH.ACTIVITY_TYPE,  ASH.OTHER_SQL_ACTIVITY_TYPE,  ASH.EVENT_NAME,  ASH.WAIT_COUNT,  ASH.CPU_COUNT,  ASH.OTHER_SQL_COUNT,  MO.PX_SERVER_SET,  ASH.PX_DFO_ACTIVITY_COUNT,  TRUNC(ASH.MOST_ACTIVE_IN_DFO / 10000000000) DFO_MOST_ACTIVE_COUNT,  MOD(TRUNC(ASH.MOST_ACTIVE_IN_DFO / 1000000),  10000) DFO_MOST_ACTIVE_IID,  MOD(ASH.MOST_ACTIVE_IN_DFO,  1000000) DFO_MOST_ACTIVE_SID,  ASH.DFO_DURATION,  ASH.BUCKET_DISTINCT_SAMPLES,  ASH.SQL_BUCKET_DISTINCT_SAMPLES,  MO.PX_SERVER_GROUP,  ASH.PX_STEP_ID,  ASH.PX_DFO_PAIR_TYPE,  ASH.PX_DFO_PAIR_ID,  ASH.PX_STEP_ARG,  ASH.PX_DOP,  ASH.PX_MIN_DOP FROM (SELECT /*+ no_merge */ MD.INST_ID,  MD.SID,  MD.SESSION_SERIAL#,  MD.PX_SERVER_SET,  MD.PX_SERVER_GROUP FROM MONITOR_DATA MD WHERE MD.SID IS NOT NULL OR :B31 = 1) MO,  (SELECT /*+ no_merge */ GVTF.INST_ID,  GVTF.GLOBAL_SAMPLE_ID,  GVTF.IS_PX_SLAVE,  GVTF.SESSION_ID,  GVTF.PLAN_LINE_ID,  GVTF.PLSQL_OBJECT_ID,  GVTF.PLSQL_SUBPROGRAM_ID,  GVTF.ACTIVITY_BUCKET_NUM,  GVTF.PLAN_ACTIVITY_BUCKET_NUM,  GVTF.SQL,  GVTF.TOP_LEVEL_SQL_ID,  GVTF.DBOP_NAME,  GVTF.IS_MONITORED_SQL,  GVTF.BUCKET_ACTIVITY_START,  GVTF.ACTIVITY_START,  GVTF.BUCKET_ACTIVITY_END,  GVTF.ACTIVITY_END,  GVTF.ACTIVITY_COUNT,  GVTF.ACTIVITY_TYPE,  GVTF.OTHER_SQL_ACTIVITY_TYPE,  GVTF.EVENT_NAME,  GVTF.WAIT_COUNT,  GVTF.CPU_COUNT,  GVTF.OTHER_SQL_COUNT,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值