EAI구동에 필요한 설정파일이 관리가 어려운 부분이 있어서 로컬과 ftp서버간에 filesync 기능을 찾던 중 발견한 ftp프로그램
http://winscp.net/eng/docs/lang:ko
사실 ftp는 파일질라 하나면 충분하지만, 이 파일싱크 기능때문에 사용하게 됬다.
EAI구동에 필요한 설정파일이 관리가 어려운 부분이 있어서 로컬과 ftp서버간에 filesync 기능을 찾던 중 발견한 ftp프로그램
http://winscp.net/eng/docs/lang:ko
사실 ftp는 파일질라 하나면 충분하지만, 이 파일싱크 기능때문에 사용하게 됬다.
WITH PAU AS (
SELECT
    PAU_STR_DTM
    ,PAU_END_DTM
    ,ROUND(((PAU_END_DTM-PAU_STR_DTM) * 24 * 60), 3) AS DIFF //휴지시간 차이
    ,CEIL(ROUND(((PAU_END_DTM-PAU_STR_DTM) * 24 * 60), 3)/(7*60)) AS LINE //지나간 근조갯수 구하기
FROM 휴지실적
)
SELECT *
FROM PAU
CONNECT BY LEVEL < LINE
더 좋은 쿼리를 구했다. 분석해서 내껄로 만들자!!
WITH TV_PAU_RSL AS
(
     SELECT /*+ MATERIALIZE */
         PAU.FAC_TP
         , PAU.PROC_TP
         , PAU.EQU_CD
         , TO_CHAR(PAU.PAU_STR_DTM, 'YYYYMMDDHH24MISS') PAU_STR_DTM
         , TO_CHAR(PAU.PAU_END_DTM, 'YYYYMMDDHH24MISS') PAU_END_DTM
         , TRUNC(PAU.PAU_STR_DTM, 'MI') AS PAU_STR_DTM2
         , TRUNC(PAU.PAU_END_DTM, 'MI') AS PAU_END_DTM2
         , TRUNC(PAU.PAU_END_DTM, 'MI') - TRUNC(PAU.PAU_STR_DTM, 'MI') AS CNT 
     FROM
         TB_M30_PAU_RSL PAU
     WHERE
         PAU.FAC_TP          = :FAC_TP
         AND PAU.PROC_TP     = :PROC_TP
         AND TO_CHAR(PAU.PAU_STR_DTM, 'YYYYMMDDHH24MISS') = :PAU_STR_DTM
         AND PAU.PAU_END_DTM IS NOT NULL
)
, TV_DT_PAU_RSL_BASE AS
(
     SELECT
         DISTINCT 
         CASE WHEN ('060000' BETWEEN TO_CHAR(PAU_S_DTM, 'HH24MISS') 
                                AND TO_CHAR(PAU_E_DTM, 'HH24MISS'))  THEN DECODE(DUMMY.LVL, 1, PAU.PAU_S_DTM
                                                                                          , TO_DATE(TO_CHAR(PAU.PAU_E_DTM, 'YYYYMMDD') || '060000', 'YYYYMMDDHH24MISS'))
                ELSE CASE WHEN ('140000' BETWEEN TO_CHAR(PAU_S_DTM, 'HH24MISS') 
                                AND TO_CHAR(PAU_E_DTM, 'HH24MISS'))  THEN DECODE(DUMMY.LVL, 1, PAU.PAU_S_DTM
                                                                                          , TO_DATE(TO_CHAR(PAU.PAU_E_DTM, 'YYYYMMDD') || '140000', 'YYYYMMDDHH24MISS'))
                   ELSE CASE WHEN ('220000' BETWEEN TO_CHAR(PAU_S_DTM, 'HH24MISS') 
                                AND TO_CHAR(PAU_E_DTM, 'HH24MISS'))  THEN DECODE(DUMMY.LVL, 1, PAU.PAU_S_DTM
                                                                                          , TO_DATE(TO_CHAR(PAU.PAU_E_DTM, 'YYYYMMDD') || '220000', 'YYYYMMDDHH24MISS'))
                        ELSE PAU_S_DTM END END
         END AS PAU_S_DTM
         , CASE WHEN '060000' BETWEEN TO_CHAR(PAU_S_DTM, 'HH24MISS') 
                                  AND TO_CHAR(PAU_E_DTM, 'HH24MISS') THEN DECODE(DUMMY.LVL, 1, TO_DATE(TO_CHAR(PAU.PAU_S_DTM, 'YYYYMMDD') || '060000', 'YYYYMMDDHH24MISS')
                                                                                             , PAU.PAU_E_DTM)
                ELSE CASE WHEN '140000' BETWEEN TO_CHAR(PAU_S_DTM, 'HH24MISS') 
                                  AND TO_CHAR(PAU_E_DTM, 'HH24MISS') THEN DECODE(DUMMY.LVL, 1, TO_DATE(TO_CHAR(PAU.PAU_S_DTM, 'YYYYMMDD') || '140000', 'YYYYMMDDHH24MISS')
                                                                                             , PAU.PAU_E_DTM)
                    ELSE CASE WHEN '220000' BETWEEN TO_CHAR(PAU_S_DTM, 'HH24MISS') 
                                  AND TO_CHAR(PAU_E_DTM, 'HH24MISS') THEN DECODE(DUMMY.LVL, 1, TO_DATE(TO_CHAR(PAU.PAU_S_DTM, 'YYYYMMDD') || '220000', 'YYYYMMDDHH24MISS')
                                                                                             , PAU.PAU_E_DTM)
                        ELSE PAU_E_DTM END END
           END AS PAU_E_DTM
     FROM (
               SELECT
                   DECODE(CONNECT_BY_ISLEAF, 0, PAU.PAU_STR_DTM2 + ((LEVEL-1)/24)
                                              , PAU.PAU_END_DTM2) AS PAU_S_DTM
                   , LEAD(DECODE(CONNECT_BY_ISLEAF, 0, PAU.PAU_STR_DTM2 + ((LEVEL-1)/24)
                                                     , PAU.PAU_END_DTM2), 1, PAU.PAU_END_DTM2) OVER(ORDER BY LEVEL) AS PAU_E_DTM
               FROM
                   TV_PAU_RSL PAU
               CONNECT BY LEVEL <= (PAU_END_DTM2 - PAU_STR_DTM2) * 24 + 2
          ) PAU
          , ( SELECT LEVEL AS LVL FROM DUAL CONNECT BY LEVEL <= 2) DUMMY
    ORDER BY PAU_S_DTM
)
, TV_DT_PAU_RSL AS
(
    SELECT
        CASE WHEN TO_CHAR(PAU_S_DTM, 'HH24MISS') BETWEEN '000000' 
                                                     AND '055959' THEN TO_CHAR(PAU_S_DTM-1, 'YYYYMMDD')
             ELSE TO_CHAR(PAU_S_DTM, 'YYYYMMDD')
        END AS PAU_PSV_DT,
        CASE WHEN TO_CHAR(PAU_S_DTM, 'HH24MISS') BETWEEN '060000' 
                                                     AND '135959' THEN 1
             ELSE CASE WHEN TO_CHAR(PAU_S_DTM, 'HH24MISS') BETWEEN '140000' 
                                                     AND '215959' THEN 2
                  ELSE 3 END
        END AS WK_SHF
        , ROUND(SUM((PAU_E_DTM - PAU_S_DTM) * 24 * 60),1) AS PAU_HRP
    FROM 
        TV_DT_PAU_RSL_BASE
    GROUP BY
        CASE WHEN TO_CHAR(PAU_S_DTM, 'HH24MISS') BETWEEN '000000' 
                                                     AND '055959' THEN TO_CHAR(PAU_S_DTM-1, 'YYYYMMDD')
             ELSE TO_CHAR(PAU_S_DTM, 'YYYYMMDD')
        END,
        CASE WHEN TO_CHAR(PAU_S_DTM, 'HH24MISS') BETWEEN '060000' 
                                                     AND '135959' THEN 1
             ELSE CASE WHEN TO_CHAR(PAU_S_DTM, 'HH24MISS') BETWEEN '140000' 
                                                     AND '215959' THEN 2
                  ELSE 3 END
        END
)
SELECT
    PAU.FAC_TP
    , PAU.PROC_TP
    , PAU.EQU_CD
    , DT_PAU.PAU_PSV_DT
    , (
           SELECT
               NVL(MAX(X.SEQ), 0)
           FROM
               TB_M30_PAU_RSL_DT X
           WHERE
               X.FAC_TP         = PAU.FAC_TP
               AND X.PROC_TP    = PAU.PROC_TP
               AND X.PAU_PSV_DT = DT_PAU.PAU_PSV_DT
      ) + (ROW_NUMBER() OVER (ORDER BY 1 DESC)) AS SEQ
    , :ObjectType
    , :ObjectId
    , :ProgramId
    , :Timestamp
    , :ObjectType
    , :ObjectId
    , :ProgramId
    , :Timestamp
    , DT_PAU.PAU_HRP
    , TO_DATE(PAU.PAU_STR_DTM, 'YYYYMMDDHH24MISS') AS PAU_STR_DTM
    , DT_PAU.WK_SHF
    , (SELECT WK_CRW FROM TB_M20_WK_SHF_CRW CRW WHERE CRW.FAC_TP =  PAU.FAC_TP AND CRW.WK_PSV_DT = DT_PAU.PAU_PSV_DT AND CRW.WK_SHF = DT_PAU.WK_SHF) AS WK_SHF
FROM
    TV_PAU_RSL PAU
    , TV_DT_PAU_RSL DT_PAU
WHERE
    DT_PAU.PAU_HRP > 0
ORDER BY
    DT_PAU.PAU_PSV_DT
SELECT TABLE_NAME, MAX(COMMENTS) AS TAB_COMMENTS, WM_CONCAT(COLUMN_NAME)
FROM (
SELECT A.TABLE_NAME, C.COMMENTS, A.COLUMN_NAME||'(‘||TRIM(B.COMMENTS)||’)’ AS COLUMN_NAME
FROM ALL_IND_COLUMNS A, ALL_COL_COMMENTS B, ALL_TAB_COMMENTS C
WHERE A.TABLE_NAME = B.TABLE_NAME
AND A.COLUMN_NAME = B.COLUMN_NAME
AND A.TABLE_NAME = C.TABLE_NAME
AND A.TABLE_NAME LIKE ‘TB_%’
)
GROUP BY TABLE_NAME