Oracle EBS:常用SQL语句(2)

--1.已审批的请购单 author:dezai

Select prh.requisition_header_id, prl.requisition_line_id,prh.segment1
  from PO_REQUISITION_HEADERS_ALL PRH, PO_REQUISITION_LINES_ALL PRL
where prh.requisition_header_id = prl.requisition_header_id
  /* and prh.requisition_header_id = 100 */
   and prh.authorization_status  = 'APPROVED'
  

   
--2.已审批的采购单 author:dezai
   
Select ph.po_header_id,pl.PO_LINE_ID,ph.segment1,ph.*
  from Po_Lines_all pl,Po_Headers_All ph
where pl.PO_HEADER_ID=ph.po_header_id
/*   and ph.po_header_id = 22-1*/
   and ph.authorization_status  = 'APPROVED'
   and NVL(ph.cancel_flag,'N')<>'Y'
   and ph.creation_date>=trunc(sysdate)

   
--3查看用户的职责 author:dezai

select c.user_name as login_name,
d.full_name as employee_name,
f.name as department_name,
a.user_id as user_id,
a.responsibility_id as responsibility_id,
b.RESPONSIBILITY_NAME as RESPONSIBILITY_NAME
from FND_USER_RESP_GROUPS a,
FND_RESPONSIBILITY_VL b,
fnd_user c,
hr_employees d,
per_assignments_f e,
hr_all_organization_units_tl f
where a.user_id = c.user_id
and c.employee_id = d.employee_id
and c.employee_id = e.PERSON_ID
and e.ORGANIZATION_ID = f.organization_id
and a.responsibility_id = b.RESPONSIBILITY_ID
and sysdate > e.EFFECTIVE_START_DATE
and sysdate < e.EFFECTIVE_END_DATE
order by c.description, c.user_name, a.responsibility_id


--4AP发票

select ai.*
  from ap_invoices_all              ai
      ,ap_invoice_distributions_all id
      ,po_line_locations_all        pll
      ,po_lines_all                 pl
      ,po_headers_all               ph
      ,po_distributions_all         pd
where pl.po_header_id = ph.po_header_id
  /* and ph.segment1 = '2001' --采购订单编号*/
   and pll.po_line_id = pl.po_line_id
   and pll.line_location_id = pd.line_location_id
   and id.po_distribution_id = pd.po_distribution_id
   and ai.invoice_id = id.invoice_id;



--5未过帐付款行 author:dezai

Select rownum seq_id,
                      aip.invoice_payment_id,
                      aip.accounting_event_id,
                      aip.accounting_date,
                      aip.check_id,
                      aip.amount aip_amount,
                      ac.check_number,
                      ac.check_date,
                      ac.amount ac_amount,
                      hou.NAME org_name
                 FROM ap_invoice_payments_all  aip,
                      ap_checks_all            ac,
                      ap_system_parameters_all asp,
                      hr_operating_units       hou
                Where aip.posted_flag IN ('N', 'S')
                 /* AND aip.accounting_date BETWEEN g_period_start AND
                      g_period_end*/
                  AND aip.org_id = asp.org_id
                 /* AND asp.set_of_books_id = g_set_of_books_id*/
                  AND ac.check_id = aip.check_id
                  AND nvl(asp.when_to_account_pmt, 'ALWAYS') = 'ALWAYS'
                  AND aip.org_id = hou.organization_id


--6查询用户刚刚执行的SQL author:dezai

Select sql_text from v$sql
         orDER BY first_load_time DESC;


--7查看数据库对象 author:dezai

Select owner, object_type, status, COUNT(*) count# 
FROM all_objects GROUP BY owner, object_type, status;



--8查看哪些用户连接 author:dezai

select s.osuser os_user_name,    decode(sign(48 - command), 1, to_char(command),
'Action Code #' || to_char(command) ) action,     p.program oracle_process,     
status session_status,    s.terminal terminal,    s.program program,    
s.username user_name,    s.fixed_table_sequence activity_meter,    '' query,    
0 memory,    0 max_memory,     0 cpu_usage,    s.sid,   s.serial# serial_num    
from v$session s,    v$process p   where s.paddr=p.addr and    s.type = 'USER'  
order by s.username, s.osuser


-- 9最耗费CPU资源的TOP 25 SQLs author:dezai

select * from (
select rank() over(order by buffer_gets desc) as rank_bufgets
,to_char(100 * ratio_to_report(buffer_gets) over(), '999.99') pct_bufgets
,sql_text
from v$sqlarea
) where rownum<26 ;



-----10查询所有的SQL Statment  author:dezai

Select sql_text
FROM v$sqltext a
Where a.hash_value = (Select sql_hash_value FROM v$session b Where b.SID = '&sid')
orDER BY piece ASC


---11查询SESSION_ID  author:dezai

select sql.sql_text, sess.logon_time, pro.pid "Oracle ProID", sess.sid "SessID",sess.serial#, pro.spid "OS ProID", pro.username "Oracle UsrName", pro.program "Program", 
sess.module "Module", 
sess.username, sess.osuser, sess.machine, sess.terminal, sess.program, sess.type 
from v$process pro,v$session sess , v$sql sql
where pro.addr=sess.paddr 
and sess.sql_address = sql.address(+) 
and sess.sid = &SESSION_ID


---13查询ORACLE_ID 

select sql.sql_text, sess.logon_time, pro.pid "Oracle ProID", sess.sid "SessID",pro.spid "OS ProID", pro.username "Oracle UsrName", pro.program "Program", 
sess.module "Module", 
sess.username, sess.osuser, sess.machine, sess.terminal, sess.program, sess.type 
from v$process pro,v$session sess , v$sql sql
where pro.ADDR=sess.paddr 
and sess.sql_address = sql.address (+) -- sql.address = sess.sql_address(+) ?
and pro.pid= &ORACLE_PROCESS_ID


--- 14OS_PROCESS_ID 

select sql.sql_text, sess.logon_time, pro.pid "Oracle ProID", sess.sid "SessID",pro.spid "OS ProID", pro.username "Oracle UsrName", pro.program "Program", 
sess.module "Module", 
sess.username, sess.osuser, sess.machine, sess.terminal, sess.program, sess.type 
from v$process pro,v$session sess , v$sql sql
where pro.ADDR=sess.paddr 
and sess.sql_address = sql.address (+) -- sql.address = sess.sql_address(+) ?
and pro.spid = &OS_ID


--- 15SQL

select sql.SQL_TEXT,sql.BUFFER_GETS , sql.CPU_TIME, sql.DISK_READS,sql.ELAPSED_TIME ,sql.RUNTIME_MEM,sql.EXECUTIONS
,sql.FETCHES,sql.PARSE_CALLS,sql.FIRST_LOAD_TIME,sql.MODULE,sql.OPTIMIZER_COST, sql.OPTIMIZER_MODE,sql.SORTS
, sess.SID , sess.PROGRAM ,SESS.TYPE
from v$sql sql , v$session sess
where
sess.SQL_ADDRESS(+)=sql.ADDRESS 
and upper(sql_text) like '%&sql%'


----- 16查找请求IDRequest_ID

Select a.process_status_code,a.oracle_process_id,a.os_process_id,process_start_date FROM FND_CONCURRENT_PROCESSES A , FND_CONCURRENT_REQUESTS B 
Where 
B.CONTROLLING_MANAGER=A.CONCURRENT_PROCESS_ID 
AND B.REQUEST_ID='&req_id'

select 'CONC',p.pid,request_id
, p.username OS_NAME
, p.spid
, s.sid
, s.username
, s.serial#
, s.sql_address
,u.user_name
,CONCURRENT_PROGRAM_NAME 
from v$process p
, v$session s
,fnd_concurrent_requests cr
,fnd_user u,fnd_concurrent_programs cp
where 
s.audsid=cr.oracle_session_id --- 如果是oracle report, using the following sql
and cr.REQUESTED_BY = u.user_id
and s.paddr = p.addr
and cp.CONCURRENT_PROGRAM_ID =cr.CONCURRENT_PROGRAM_ID 
and cr.request_id = &REQUESTID


select request_id,STATUS_CODE,PHASE_CODE ,oracle_id,OS_PROCESS_ID, oracle_session_id,concurrent_program_id, printer 
from fnd_concurrent_requests 
where request_id = &REQUEST_ID

----17查找后台正在运行的concurrent reporter SESSION

select sid, serial#,osuser, process, machine, program,module from v$session
where status='ACTIVE'
AND SCHEMANAME<>'SYS'
AND UPPER(PROGRAM) LIKE 'AR60RUN%'

Select r.request_id "Request ID", 
s.sid "Session ID" , 
s.serial# 
FROM applsys.fnd_concurrent_requests r, 
applsys.fnd_concurrent_queues_tl qt, 
applsys.fnd_concurrent_queues q, 
applsys.fnd_concurrent_processes p, 
v$session s 
Where r.controlling_manager=p.concurrent_process_id 
AND q.application_id=p.queue_application_id 
AND q.concurrent_queue_id=p.concurrent_queue_id 
AND qt.application_id=q.application_id 
AND qt.concurrent_queue_id=q.concurrent_queue_id 
AND r.phase_code='R' 
AND qt.language in ('ZHS') 
AND p.session_id=s.audsid



---18根据request_id查找是哪个trace file


Select fcr.request_id, fcr.concurrent_program_id, fcp.concurrent_program_name,
TO_CHAR (fcr.actual_completion_date, 'DD-MON-YY HH24:MI:SS'),
actual_completion_date, fcr.oracle_process_id,
par_udd.VALUE || '/*' || fcr.oracle_process_id || '*.trc' TRACE
FROM fnd_concurrent_requests fcr,
fnd_concurrent_programs fcp,
v$parameter par_udd
Where fcr.concurrent_program_id = fcp.concurrent_program_id
AND LOWER (par_udd.NAME) = 'user_dump_dest'
AND fcr.request_id = 58798


----19根据HASH_VALUE生成执行计划

select '| Operation | PHV/Object Name | Rows | Bytes| Cost |' as "Optimizer Plan:" from dual
union all
select '--------------------------------------------------------------------------------' from dual
union all
select *
from (select rpad('|'||substr(lpad(' ',1*(depth-1))||operation||
decode(options, null,'',' '||options), 1, 32), 33, ' ')||'|'||
rpad(decode(id, 0, '----- '||to_char(hash_value)||' -----'
, substr(decode(substr(object_name, 1, 7), 'SYS_LE_', null, object_name)
||' ',1, 20)), 21, ' ')||'|'||
lpad(decode(cardinality,null,' ',
decode(sign(cardinality-1000), -1, cardinality||' ',
decode(sign(cardinality-1000000), -1, trunc(cardinality/1000)||'K',
decode(sign(cardinality-1000000000), -1, trunc(cardinality/1000000)||'M',
trunc(cardinality/1000000000)||'G')))), 7, ' ') || '|' ||
lpad(decode(bytes,null,' ',
decode(sign(bytes-1024), -1, bytes||' ',
decode(sign(bytes-1048576), -1, trunc(bytes/1024)||'K',
decode(sign(bytes-1073741824), -1, trunc(bytes/1048576)||'M',
trunc(bytes/1073741824)||'G')))), 6, ' ') || '|' ||
lpad(decode(cost,null,' ',
decode(sign(cost-10000000), -1, cost||' ',
decode(sign(cost-1000000000), -1, trunc(cost/1000000)||'M',
trunc(cost/1000000000)||'G'))), 8, ' ') || '|' as "Explain plan"
from v$sql_plan
where hash_value = &hash_value)
来源: http://fhtt0606.itpub.net/post/14578/476681


--20获取ORACLE SESSION客户端信息  author:dezai

select
SYS_CONTEXT('USERENV','TERMINAL') terminal,
SYS_CONTEXT('USERENV','LANGUAGE') language,
SYS_CONTEXT('USERENV','SESSIONID') sessionid,
SYS_CONTEXT('USERENV','INSTANCE') instance,
SYS_CONTEXT('USERENV','ENTRYID') entryid,
SYS_CONTEXT('USERENV','ISDBA') isdba,
SYS_CONTEXT('USERENV','NLS_TERRITORY') nls_territory,
SYS_CONTEXT('USERENV','NLS_CURRENCY') nls_currency,
SYS_CONTEXT('USERENV','NLS_CALENDAR') nls_calendar,
SYS_CONTEXT('USERENV','NLS_DATE_FORMAT') nls_date_format,
SYS_CONTEXT('USERENV','NLS_DATE_LANGUAGE') nls_date_language,
SYS_CONTEXT('USERENV','NLS_SORT') nls_sort,
SYS_CONTEXT('USERENV','CURRENT_USER') current_user,
SYS_CONTEXT('USERENV','CURRENT_USERID') current_userid,
SYS_CONTEXT('USERENV','SESSION_USER') session_user,
SYS_CONTEXT('USERENV','SESSION_USERID') session_userid,
SYS_CONTEXT('USERENV','PROXY_USER') proxy_user,
SYS_CONTEXT('USERENV','PROXY_USERID') proxy_userid,
SYS_CONTEXT('USERENV','DB_DOMAIN') db_domain,
SYS_CONTEXT('USERENV','DB_NAME') db_name,
SYS_CONTEXT('USERENV','HOST') host,
SYS_CONTEXT('USERENV','OS_USER') os_user,
SYS_CONTEXT('USERENV','EXTERNAL_NAME') external_name,
SYS_CONTEXT('USERENV','IP_ADDRESS') ip_address,
SYS_CONTEXT('USERENV','NETWORK_PROTOCOL') network_protocol,
SYS_CONTEXT('USERENV','BG_JOB_ID') bg_job_id,
SYS_CONTEXT('USERENV','FG_JOB_ID') fg_job_id,
SYS_CONTEXT('USERENV','AUTHENTICATION_TYPE') authentication_type,
SYS_CONTEXT('USERENV','AUTHENTICATION_DATA') authentication_data
from dual


--21查看表空间大小及剩余空间  author:dezai

select
a.tablespace_name "表空间名称",
100-round((nvl(b.bytes_free,0)/a.bytes_alloc)*100,2) "占用率(%)",
round(a.bytes_alloc/1024/1024,2) "容量(M)",
round((a.bytes_alloc-nvl(b.bytes_free,0))/1024/1024,2) "使用(M)",
round(nvl(b.bytes_free,0)/1024/1024,2) "空闲(M)",
round((nvl(b.bytes_free,0)/a.bytes_alloc)*100,2) "空闲率(%)" ,
to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') "采样时间" 
from (select f.tablespace_name,
         sum(f.bytes) bytes_alloc,
         sum(decode(f.autoextensible,'YES',f.maxbytes,'NO',f.bytes)) maxbytes
        from dba_data_files f
       group by tablespace_name) a,
      (select f.tablespace_name,
         sum(f.bytes) bytes_free
        from dba_free_space f
       group by tablespace_name) b
where a.tablespace_name = b.tablespace_name

你可能感兴趣的:(ERP相关)