Oracle EBS工具脚本

文章目录

值集查询


sql 复制代码
SELECT ffs.flex_value_set_id,
       ffs.flex_value_set_name,
       ffv.flex_value,
       ffv.flex_value_meaning,
       ffv.description,
       ffv.flex_value
  FROM applsys.fnd_flex_value_sets ffs, fnd_flex_values_vl ffv
 WHERE ffs.flex_value_set_id = ffv.flex_value_set_id
   AND ffs.flex_value_set_name = ?  --值集名称
   AND ffv.enabled_flag = 'Y'
   AND ffv.flex_value = ? --关联值
   AND SYSDATE BETWEEN nvl(ffv.start_date_active, SYSDATE) AND
       nvl(ffv.end_date_active, SYSDATE + 1);

快码查询


sql 复制代码
SELECT flv.meaning
  FROM fnd_lookup_values flv
 WHERE flv.language = userenv('LANG')
   AND flv.lookup_type = ? --快码名称
   AND flv.enabled_flag = 'Y'
   AND flv.lookup_code = ?; --关联值

查询可执行请求


sql 复制代码
SELECT fcpv.user_concurrent_program_name 程序名称,
       fcpv.concurrent_program_name 并发程序简称,
       fcpv.output_file_type 输出格式,
       fefv.executable_name 执行程序简称,
       fefv.execution_file_name 执行文件名称,
       decode(fefv.execution_method_code,
              'I',
              'PL/SQL存储过程',
              'P',
              'Oracle Reports') 执行方法
  FROM fnd_concurrent_programs_vl fcpv, fnd_executables_form_v fefv
 WHERE 1 = 1
      --AND USER_CONCURRENT_PROGRAM_NAME LIKE 'CUX%'
   AND fcpv.executable_id = fefv.executable_id
   AND fcpv.enabled_flag = 'Y'
   AND fcpv.concurrent_program_name = 'AUTOREMAPI' --并发简称
   --AND fcpv.user_concurrent_program_name = 'CUXAP_费用报销明细表(AP)' --请求名称
   --AND upper(fefv.execution_file_name) like upper('%cux_product_lean_cost_pkg.jb_mx_yf%') --注册并发名

批量取消请求


sql 复制代码
DECLARE
  CURSOR c_r IS
    SELECT cp.user_concurrent_program_name,
           r.request_id,
           r.requested_by user_id,
           r.responsibility_id,
           r.responsibility_application_id
      FROM fnd_concurrent_requests r, fnd_concurrent_programs_vl cp
     WHERE r.concurrent_program_id = cp.concurrent_program_id
       AND r.phase_code IN ('P', 'R', 'C') --待定,运行中
       AND r.concurrent_program_id = 265358 --程序id
       AND r.request_date > trunc(SYSDATE);
  l_bool BOOLEAN;
  l_msg  VARCHAR2(2000);
BEGIN
  FOR rec IN c_r LOOP
    fnd_global.apps_initialize(user_id      => rec.user_id, --请求提交用户ID
                               resp_id      => rec.responsibility_id, --请求提交职责ID
                               resp_appl_id => rec.responsibility_application_id); --职责应用
  
    l_bool := fnd_concurrent.cancel_request(request_id => rec.request_id,
                                            message    => l_msg);
    COMMIT;
    dbms_output.put_line(rec.user_concurrent_program_name || '=>请求ID:' ||
                         rec.request_id || ',message:' || l_msg);
  
  END LOOP;

END;

职责查询

sql 复制代码
-- 职责
SELECT distinct fst.responsibility_name     职责名
  FROM fnd_responsibility_tl fst
 WHERE 1 = 1
   AND fst.language = 'ZHS'
   AND fst.RESPONSIBILITY_NAME like '%%';
      
-- 用户与职责
SELECT distinct wur.user_name 用户名,fst.responsibility_name     职责名
  FROM fnd_responsibility_tl fst,wf_all_user_roles wur
 WHERE 1 = 1
   AND fst.language = 'ZHS'
   -- AND fst.RESPONSIBILITY_NAME like '%%'
   -- 职责名字范围
   AND fst.RESPONSIBILITY_ID = wur.role_orig_system_id
  -- AND wur.user_name in ('','') 
  -- 用户名范围
   order by wur.user_name;
   
-- 查询请求在哪个职责下面
select fu.user_name,
        ppf.FULL_NAME,
        fr.RESPONSIBILITY_NAME,
        fur.START_DATE,
        fur.END_DATE,
        fcp.CONCURRENT_PROGRAM_NAME,
        fcp.USER_CONCURRENT_PROGRAM_NAME
   from fnd_user                   fu,
        per_people_f               ppf,
        fnd_user_resp_groups_all   fur,
        fnd_responsibility_vl      fr,
        fnd_request_groups         frg,
        fnd_request_group_units    frgu,
        fnd_concurrent_programs_vl fcp
  where fu.user_id = fur.user_id
    and fu.employee_id = ppf.PERSON_ID
    and ppf.EFFECTIVE_END_DATE > sysdate
    and fur.RESPONSIBILITY_ID = fr.RESPONSIBILITY_ID
    and fr.REQUEST_GROUP_ID = frg.request_group_id
    and frgu.request_group_id = frg.request_group_id
    and frgu.request_unit_id = fcp.CONCURRENT_PROGRAM_ID
    --AND fcp.concurrent_program_id = 504369
    --and fu.user_name = '104267'
  order by 1, 2, 3, 6;

死锁处理


sql 复制代码
-- 死锁查询
SELECT l.session_id sid,
       s.serial#,
       l.locked_mode,
       l.oracle_username,
       s.user#,
       l.os_user_name,
       s.machine,
       s.terminal,
       a.sql_text,
       a.action
  FROM v$sqlarea a, v$session s, v$locked_object l
 WHERE l.session_id = s.sid
   AND s.prev_sql_addr = a.address
 ORDER BY sid, s.serial#;


-- 死锁处理 杀掉serial#的请求
alter system kill session'135,397'


-- 死锁处理
SELECT b.owner,
       b.object_name,
       c.logon_time 登录时间,
       c.client_identifier,
       -- '''' || c.sid || ',' || c.serial# || '''' 进程id, -- 会话标识符-会话序列号,
       c.username    数据库用户名称,
       c.command     正在处理的命令,
       c.status      会话当前状态,
       c.osuser      操作系统名称,
       c.machine     操作系统主机,
       c.terminal    操作系统终端,
       c.program     操作系统程序名称,
       c.type        会话类型,
       c.action      正在执行的操作名称,
       a.locked_mode,
       /*0:none
       1:null 空
       2:Row-S 行共享(RS):共享表锁,sub share
       3:Row-X 行独占(RX):用于行的修改,sub exclusive
       4:Share 共享锁(S):阻止其他DML操作,share
       5:S/Row-X 共享行独占(SRX):阻止其他事务操作,share/sub exclusive
       6:exclusive 独占(X):独立访问使用,exclusive*/
       'alter system kill session ' || '''' || c.sid || ',' || c.serial# ||
       ''';' kill_command
  FROM v$locked_object a, v$session c, dba_objects b
 WHERE c.sid = a.session_id
   AND b.object_id = a.object_id
   AND c.action <> '/'
      -- AND b.owner = 'WIP'
   AND c.logon_time < SYSDATE - 60 / 60 / 24
   AND c.action <> 'Concurrent Request'
 ORDER BY c.logon_time;

脚本获取包体


sql 复制代码
-- 获取包体
SELECT decode(ds.line, 1, 'CREATE OR REPLACE ' || ds.text, ds.text) text
  FROM sys.dba_source ds
 WHERE ds.name = ? --包名
   AND ds.type IN ('FUNCTION', 'PROCEDURE', 'PACKAGE BODY', 'TRIGGER')
   And ds.owner='APPS' --所在用户
 ORDER BY ds.line;

查询最后编译信息


sql 复制代码
SELECT t.last_ddl_time 最后编译时间, t.*
  FROM dba_objects t
 WHERE t.object_name = ?; --包名或视图名
相关推荐
Runing_WoNiu32 分钟前
MySQL与Oracle对比及区别
数据库·mysql·oracle
魔道不误砍柴功2 小时前
探秘Spring Boot中的@Conditional注解
数据库·spring boot·oracle
engchina6 小时前
Oracle Instant Client 23.5安装配置完整教程
数据库·oracle·23ai
惜.己7 小时前
Jmeter中的线程
数据库·oracle
灰哥数据智能7 小时前
DB-GPT系列(六):数据Agent开发part1-光速创建AWEL Agent应用
数据库·oracle
念白44313 小时前
智能病历xml提取
数据库·sql·oracle
qingy_204613 小时前
【JavaWeb】JavaWeb入门之XML详解
数据库·oracle
爪哇学长16 小时前
解锁数据世界:从基础到精通的数据库探索之旅
数据库·mysql·oracle
dingdingfish16 小时前
关于 Oracle Database Express Edition 的功能和安装
oracle·express·database·vagrant·edition
看山还是山,看水还是。18 小时前
Oracle 数据库创建导入
数据库·oracle·全文检索