Oracle Temp 表空间查询

来源:这里教程网 时间:2026-03-03 18:20:30 作者:
SELECT TO_CHAR(A.ISSUE_DATE, 'YYYYMMDD') ISSUE_DATE , A.ORGANIZATION_CODE , A.PARTS_CODE --, B.PLANNER PLANNER_CD --, B.PLANNER_NAME , SUBSTR(A.OCA_CONNECT_PO_NO, 1, 8) BPO_NO , SUBSTR(A.OCA_CONNECT_PO_NO, 9, 11) BPO_SEQ , (B.ORDER_FLAG || B.ORDER_PATTERN) ORDER_PATTERN , B.UNIT_PRICE BPO_PRICE , DECODE(B.ORDER_PATTERN, '1', E.UNIT_PRICE, '2', E.UNIT_PRICE, 'A', E.UNIT_PRICE, 'E', E.UNIT_PRICE, B.UNIT_PRICE) ISSUE_PRICE , B.CURRENCY_CODE BPO_CURRENCY , A.QUANTITY ISSUE_QUANTITY , ROUND(B.UNIT_PRICE * A.QUANTITY, C.PRECISION) BPO_ISSUE_AMOUNT , ROUND(DECODE(B.ORDER_PATTERN, '1', E.UNIT_PRICE, '2', E.UNIT_PRICE, 'A', E.UNIT_PRICE, 'E', E.UNIT_PRICE, B.UNIT_PRICE) * A.QUANTITY, C.PRECISION) ISSUE_AMOUNT , A.INVOICE_NO , A.INVOICE_NO_SEQ , A.VENDOR_CODE , D.VENDOR_NAME FROM PUR_ISSUE_JNL_WEB A , PUR_BPO B , FND_CURRENCIES C , PO_VENDORS D , PUR_PRICE_MST E WHERE B.CURRENCY_CODE = C.CURRENCY_CODE AND A.PARTS_CODE = E.PARTS_CODE(+) AND A.VENDOR_CODE = E.VENDOR_CODE(+) AND SUBSTR(A.OCA_CONNECT_PO_NO, 1, 8) = B.BPO_NO AND A.VENDOR_CODE = D.SEGMENT1 AND A.ISSUE_DATE >= E.EFFECTIVE_FROM(+) AND A.ISSUE_DATE <= E.EFFECTIVE_TO(+) --AND A.ERROR_STATUS IS NULL AND A.VENDOR_CODE LIKE UPPER(NVL(:"VENDOR_CODE", A.VENDOR_CODE))||'%' --AND A.PARTS_CODE = UPPER(NVL(:"PARTS_CODE", A.PARTS_CODE)) AND T O_CHAR(A.ISSUE_DATE, 'YYYYMMDD') >= NVL(:"ISSUE_DATE_FROM(YYYYMMDD)", TO_CHAR(A.ISSUE_DATE, 'YYYYMMDD')) AND TO_CHAR(A.ISSUE_DATE, 'YYYYMMDD') <= NVL(:"ISSUE_DATE_TO(YYYYMMDD)", TO_CHAR(A.ISSUE_DATE, 'YYYYMMDD')) ORDER BY A.VENDOR_CODE , A.ORGANIZATION_CODE , A.PARTS_CODE , BPO_NO , BPO_SEQ

 

 

-- 查询实时使用 temp 表空间的 sql_id sid

set linesize 260 pagesize 1000
col machine for a40
col program for a40
SELECT se.username,
       sid,
       serial#,
       se.sql_id
       machine,
       program,
       tablespace,
       segtype,
       (su.BLOCKS*8/1024/1024) GB
  FROM v$session se, v$sort_usage su
 WHERE se.saddr = su.session_addr
 order by su.BLOCKS desc;

 

 

-- 查询历史的 temp 表空间的使用的 SQL_ID

select a.SQL_ID,
       a.SAMPLE_TIME,
       a.program,
       sum(trunc(a.TEMP_SPACE_ALLOCATED / 1024 / 1024)) MB
  from v$active_session_history a
 where TEMP_SPACE_ALLOCATED is not null 
 and sample_time between
 to_date('&date1', 'yyyy-mm-dd hh24:mi:ss') and
 to_date('&date2', 'yyyy-mm-dd hh24:mi:ss')
 group by a.sql_id,a.SAMPLE_TIME,a.PROGRAM
 order by 2 asc,4 desc;

 

相关推荐