Tuesday, March 13, 2012

App-Fnd-00222 Whe attempting to run any request



App-Fnd-00222 Whe attempting to run any request [ID 412987.1]

 Modified 05-OCT-2008     Type PROBLEM     Status MODERATED 
In this Document
  Symptoms
  Changes
  Cause
  Solution

This document is being delivered to you via Oracle Support's Rapid Visibility (RaV) process, and therefore has not been subject to an independent technical review.

Applies to:

Oracle Application Object Library - Version: 11.5.10.2
This problem can occur on any platform.

Symptoms

On 11.5.10.2 in Production:
When attempting to run any request,
the following error occurs.

APP-FND-00222: Encountered an error while getting the ORACLE user account for your concurrent request

STEPS
The issue can be reproduced at will with the following steps:
1. Submit any request
2. Face the above error

BUSINESS IMPACT
The issue has the following business impact:
Due to this issue, users cannot submit any request.

Changes

Recent applying of ATG RUP3 and associated patches

Cause

Although there is no customization done but there is some issue in the CUSTOM.pll
This is verified as follows
1. Log into Apps and Turn OFF "Custom Code" in the Help->Diagnostics menu.
2. After turning off the custom code, it was possible to launch new requests and the
    requests went through successfully.

Solution

1. Confirm that there is no CUSTOM.plx exists in $AU_TOP/resource
     If any exists then delete it
2. Take a backup of the current  CUSTOM.pll which exists in $AU_TOP/resource
3. Replace the current  CUSTOM.pll with a one from a working instance
4. Regenerate the CUSTOM.pll and retest the issue



Show Related Information Related

Products
  • Oracle E-Business Suite > Applications Technology > Application Object Library > Oracle Application Object Library
Keywords
CUSTOM.PLL; RUP3
Errors
APP-FND-222

APP-FND-222 Encountered an Error While Getting the ORACLE User



APP-FND-222 Encountered an Error While Getting the ORACLE User [ID 135656.1]

 Modified 26-MAY-2010     Type PROBLEM     Status PUBLISHED 
  • fact: Oracle Application Object Library 11.5
  • Checked for relevance on 26-MAY-2010
  • symptom: APP-FND-222: Encountered an error while getting the ORACLE user account for your concurrent request to run from
  • symptom: Unable to view the log and output file of custom concurrent request
  • change: Created a custom concurrent request and a custom top and registered both with Oracle applications.
  • cause: The custom top is not assigned to the standard data group.
fix: Add the custom top to the standard data group. 1. Log into Oracle Applications 2. Select 'System Administrator' responsibility 3. Navigate to : Security/Oracle/Data Groups. A data group is a list of Oracle Applications and the ORACLE usernames assigned to each application. If a custom application is developed with Oracle Application Object Library, it may be assigned an ORACLE username, registered with Oracle Applications, and included in a data group. An ORACLE username allows access to an application's tables in an ORACLE database. All data groups automatically include an entry for Application Object Library.

Concurrent Processing - APP-FND-00222 Error When Submitting a Custom Concurrent Request Registered under a Custom Application [ID 150993.1]



Concurrent Processing - APP-FND-00222 Error When Submitting a Custom Concurrent Request Registered under a Custom Application [ID 150993.1]

 Modified 14-APR-2011     Type PROBLEM     Status PUBLISHED 
Checked for relevance 14-Apr-2010
Application Install 11.5.6 to 12.0
  • fact: Oracle Application Object Library
  • fact: FNDRSRUN - Run Reports
  • symptom: APP-FND-00222 Encountered an error while getting the ORACLE user account for your concurrent request to run from
  • symptom: Error submitting concurrent request registered to a custom application
  • cause: The custom application has not been assigned to any data group
fix: Add the custom application to a data group. 1. Under the System Administrator responsibility navigate to Security --> Oracle --> DataGroup. 2. Query up a data group (Standard Data Group is appropriate). 3. A list of applications associated with the standard data group will appear. 4. Click on FILE in the toolbar menu then click on NEW. 5. In the Application column select the custom application from the LOV. 6. Add an Oracle ID to the ORACLE ID column (APPS is appropriate) 7. Save the changes. 8. Resubmit the concurrent request.

Show Related Information Related

Products
  • Oracle E-Business Suite > Applications Technology > Application Object Library > Oracle Application Object Library
  • Oracle E-Business Suite > Applications Technology > Application Object Library > Oracle Concurrent Processing
Errors
FND-222; 00222 ERROR

Back to topBack to top

Thursday, March 8, 2012

Troubleshoot long running Concurrent Request in Apps 11i/R12


Troubleshoot long running Concurrent Request in Apps 11i/R12
Troubleshoot long running Concurrent Request in Apps 11i/R12



This post covers overview of How to troubleshoot long running concurrent request in  Oracle Apps 11i/R12

Step 1 : Check Concurrent Request ID of long running concurrent request from front end
Step 2 : Find SID, SERIAL# and SPID by running SQL (given below)
Step 3 : Enable event 10046 trace with level 12 using oradebug ( for 15-20 minute)
Step 4 : Disable trace (once you are happy with trace size)
Step 5 : Convert raw trace to TKPROF using various sort options like fchela, prsela, execpu
Step 6 : Check TKPROF out file to find root cause of slow concurrent request

.

Step 1 : Check Request ID from Find Concurrent request screen (In my case Request ID is 2355)

Step 2 : Run below command to find SPID, provide concurrent request ID (2355 in my case) when prompted

SELECT a.request_id, d.sid, d.serial# ,d.osuser,d.process , c.SPID
FROM apps.fnd_concurrent_requests a,
apps.fnd_concurrent_processes b,
v$process c,
v$session d
WHERE a.controlling_manager = b.concurrent_process_id
AND c.pid = b.oracle_process_id
AND b.session_id=d.audsid
AND a.request_id = &Request_ID
AND a.phase_code = ‘R’;

REQUEST_ID        SID    SERIAL# OSUSER           PROCESS    SPID
—————-
   2355        514         28 applmgr                        17794   1633.
.

Step 3.1 : Check and confirm SPID on Database Node
oraclevis11i@onlineappsdba>ps-ef | grep 1633
 ovis11i  1633     1  0 13:30:43 ?        0:03 oraclevis11i (LOCAL=NO)

Step 3.2 : Set OSPID (1633 in my case) for ORADEBUG
SQL> oradebug setospid 1633

Oracle pid: 68, Unix process pid: 1633, image: oraclevis11i@onlineappsdba


Step 3.3 : Enable trace for 10046 event with level 12
SQL> oradebug event 10046 trace name context forever, level 12

Step 3.4 : Locate Trace file as
SQL>oradebug tracefile_name

/oracle/apps/vis11idb/10.2.0/admin/vis11i_onlineappsdba/udump/vis11i_ora_1633.trc

Wait for 15-20 minutes

Step 4 : Disable trace
SQL> oradebug event 10046 trace name context off

Step 5: Create tkprof file like
tkprof  ‘/oracle/ apps/ vis11idb/ 10.2.0/ admin/ vis11i_onlineappsdba/ udump/ vis11i_ora_1633.trc’   ’/oracle/ apps/ vis11idb/ 10.2.0/ admin/ vis11i_onlineappsdba/ udump/ tkprof_1633.txt’ explain=apps/[apps_passwd]  fchela …

Step 6 : Check TKPROF file to find root cause of slow concurrent requet

.



SQL Script to Troubleshoot a long-running concurrent request
.

set term on
set feedback on
set echo on
set arraysize 4
set linesize 200
set pages 9999
set underline =;
column username format A15
column sid format 9990 heading SID
column type format A4
column lmode format 990 heading 'HELD'
column request format 990 heading 'REQ'
column id1 format 9999990
column id2 format 9999990
column sql_text format a100
column name format a80
break on id1 skip 1 dup
undefine v_request_id
define v_request_id
undefine v_spid
define v_spid
undefine v_sid
define v_sid
spool vj_concurrent_monitor.lst

Prompt Enter the concurrent_request_id
Accept v_request_id
prompt checking requests
select oracle_process_id from fnd_concurrent_requests where request_id='&v_request_id';

Prompt Enter the operating system oracle process id for this concurrent request
accept v_spid
Prompt Getting the sid
SELECT SID,SERIAL#,LOGON_TIME FROM V$SESSION WHERE PADDR IN
(SELECT ADDR FROM V$PROCESS WHERE SPID='&v_spid');

prompt Enter the session id for this concurrent request
accept v_sid
prompt memory usage for this session
SELECT A.SID,A.USERNAME,B.VALUE,c.name FROM V$SESSION a,V$SESSTAT B,V$STATNAME C WHERE A.SID=B.SID
AND B.STATISTIC#=C.STATISTIC# AND C.NAME like'%memor%' and a.sid='&v_sid';

prompt resource usage for this session
SELECT A.SID,A.USERNAME,B.VALUE,c.name FROM V$SESSION a,V$SESSTAT B,V$STATNAME C WHERE A.SID=B.SID
AND B.STATISTIC#=C.STATISTIC# and a.sid='&v_sid' order by b.value;


prompt this session waited on
select sid,event,wait_time,state from v$session_wait where sid='&v_sid' order by wait_time;


prompt current sql executing by this session
select a.sid,b.sorts,b.executions,b.loads,b.parse_calls,b.disk_reads,
b.buffer_gets,b.rows_processed,C.sql_text from v$session a,v$sqlarea b,V$SQLTEXT C
where a.sql_address=b.address and b.address=c.address and a.sid='&v_sid';


prompt sql which is taking more than 3mb in shared pool
prompt nosql should take morethan 1mb in shared pool.
prompt please ask the developers to tune the following sql statements
select name,
namespace,type,sharable_mem/(1024*1024) sharablemem,loads,executions,locks,pins,kept from v$db_object_cache
where SHARABLE_MEM>3000000;


prompt sort segments using by this session
SELECT s.username,s.sid,s.osuser,s.process,s.machine,u.extents, u.blocks,u.tablespace FROM v$session s, v$sort_usage u
WHERE s.saddr=u.session_addr order by extents;
and s.sid='&v_sid';

prompt current temp segments free in this instance
SELECT tablespace_name, extent_size, total_extents, used_extents, free_extents, max_used_size FROM v$sort_segment;



prompt total system events at this time
select event,total_waits waits, total_timeouts timeouts, time_waited total_time from v$system_event order by total_waits;

prompt latch contention if thery is any
SELECT latch#, name, gets, misses, sleeps FROM v$latch WHERE sleeps>0 ORDER BY sleeps ;


prompt the latch which is sleeping
select name, sleeps,latch# from v$latch_children where sleeps>4 order by sleeps;


spool off
clear columns
clear breaks

monitoring scripts / Audit Scripts


column date_column new_value today_var
column database_column new_value sid_var
column file_type_column new_value type_var

select to_char(sysdate,'yyyy-mm-dd.HH24-MI-SS') date_column
from dual
/

select name||'_' database_column
from v$database
/

select '.txt' file_type_column
from dual
/

spool Health_Check_&sid_var&today_var&type_var

prompt
prompt Startup Time
prompt ------------

select to_char(startup_time, 'HH24:MI DD-MON-YY') "Startup time"
from v$instance
/

prompt
prompt Total database size (including redo logs)
prompt -----------------------------------------

col "Database Size" format a20
col "Free space" format a20
col "Used space" format a20
select round(sum(used.bytes) / 1024 / 1024 / 1024 ) || ' GB' "Database Size"
, round(sum(used.bytes) / 1024 / 1024 / 1024 ) -
round(free.p / 1024 / 1024 / 1024) || ' GB' "Used space"
, round(free.p / 1024 / 1024 / 1024) || ' GB' "Free space"
from    (select bytes
from v$datafile
union all
select bytes
from v$tempfile
union all
select bytes
from v$log) used
, (select sum(bytes) as p
from dba_free_space) free
group by free.p
/

prompt
prompt Object distribution, or what's taking up all the space?
prompt ----------------------------------------------------------

set pages 999
col "size MB" format 999,999,999
col "Objects" format 999,999,999
select obj.owner "Owner"
, obj_cnt "Objects"
, decode(seg_size, NULL, 0, seg_size) "size MB"
from (select owner, count(*) obj_cnt from dba_objects group by owner) obj
, (select owner, ceil(sum(bytes)/1024/1024) seg_size
from dba_segments group by owner) seg
where obj.owner  = seg.owner(+)
order by 3 desc ,2 desc, 1
/

prompt
prompt The ten biggest things...
prompt -------------------------

col owner format a15
col segment_name format a30
col segment_type format a15
col mb format 999,999,999
select  owner
, segment_name
, segment_type
, mb
from (
select owner
, segment_name
, segment_type
, bytes / 1024 / 1024 "MB"
from dba_segments
order by bytes desc
)
where rownum < 11
/

prompt
prompt Show all National Language Set parameters
prompt -----------------------------------------

select * from nls_database_parameters
/

prompt
prompt Currently used features
prompt -----------------------

select name
, detected_usages
from dba_feature_usage_statistics
where detected_usages > 0
/

prompt
prompt Show all connected users
prompt ------------------------

set lines 100 pages 999
col ID format a15
select username
,      sid || ',' || serial# "ID"
,      status
,      last_call_et "Last Activity"
from   v$session
where  username is not null
order by status desc
,        last_call_et desc
/
 
prompt
prompt Time since last user activity
prompt -----------------------------

set lines 100 pages 999
select username
,      floor(last_call_et / 60) "Minutes"
,      status
from   v$session
where  username is not null
order by last_call_et
/

prompt
prompt Sessions sorted by logon time
prompt -----------------------------

set lines 100 pages 999
col ID format a15
col osuser format a15
col login_time format a14
select username
, osuser
, sid || ',' || serial# "ID"
, status
, to_char(logon_time, 'hh24:mi dd/mm/yy') login_time
, last_call_et
from v$session
where username is not null
order by login_time
/

prompt
prompt Show user info including os pid
prompt -------------------------------

col "SID/SERIAL" format a10
col username format a15
col osuser format a15
col program format a40
select s.sid || ',' || s.serial# "SID/SERIAL"
, s.username
, s.osuser
, p.spid "OS PID"
, s.program
from v$session s
, v$process p
Where s.paddr = p.addr
order by to_number(p.spid)
/

prompt
prompt All active sql
prompt --------------

set serveroutput on size 9999
column username format a20
column sql_text format a55 word_wrapped
begin
  for x in
   (select username||'('||sid||','||serial#||') ospid = '|| process ||
    ' program = ' || program username,
    to_char(LOGON_TIME,' Day HH24:MI') logon_time,
    to_char(sysdate,' Day HH24:MI') current_time,
    sql_address,
    sql_hash_value
   from v$session
   where status = 'ACTIVE'
   and rawtohex(sql_address) <> '00'
   and username is not null ) loop
   for y in (select sql_text
   from v$sqlarea
   where address = x.sql_address ) loop
   if ( y.sql_text not like '%listener.get_cmd%' and
    y.sql_text not like '%RAWTOHEX(SQL_ADDRESS)%' ) then
    dbms_output.put_line( '--------------------' );
    dbms_output.put_line( x.username );
    dbms_output.put_line( x.logon_time || ' ' || x.current_time || ' SQL#=' || x.sql_hash_value);
    dbms_output.put_line( substr( y.sql_text, 1, 250 ) );
   end if;
  end loop;
 end loop;
end;
/
 
prompt
prompt Display any long operations
prompt ---------------------------

set lines 100 pages 999
col username format a15
col message format a40
col remaining format 9999
select username
, to_char(start_time, 'hh24:mi:ss dd/mm/yy') started
, time_remaining remaining
, message
from v$session_longops
where time_remaining = 0
order by time_remaining desc
/

prompt
prompt List open cursors per user
prompt --------------------------

set pages 999
select sess.username
, sess.sid
, sess.serial#
, stat.value cursors
from v$sesstat stat
, v$statname sn
, v$session sess
where sess.username is not null
and sess.sid = stat.sid
and stat.statistic# = sn.statistic#
and sn.name = 'opened cursors current'
order by value
/


prompt
prompt Or alternatively...
prompt -------------------

set lines 100 pages 999
select count(hash_value) cursors
,      sid
,      user_name
from   v$open_cursor
group by
       sid
,      user_name
order by
       cursors
/

prompt
prompt Show non-default parameters
prompt ---------------------------

set pages 999 lines 100
col name format a30
col value format a50
select name
, value
from v$parameter
where isdefault = 'FALSE'
and value is not null
order by name
/

prompt
prompt Show DBA_JOBS
prompt -------------

set lines 100 pages 999
col schema_user format a15
col fails format 999
select job
, schema_user
, to_char(last_date, 'hh24:mi dd/mm/yy') last_run
, to_char(next_date, 'hh24:mi dd/mm/yy') next_run
, failures fails
, broken
, substr(what, 1, 15) what
from dba_jobs
order by 4
/

prompt
prompt Show DBMS_SCHEDULER_JOBS
prompt ------------------------

set lines 150
col owner format a12
col job_name format a30
col job_action format a70
select owner
, job_name
, job_action
from dba_scheduler_jobs
/

prompt
prompt Display all queues and queue tables
prompt -----------------------------------

set lines 100 pages 999
col owner format a15
select owner
, name
, queue_table
from dba_queues
/

prompt
prompt Check various stats for all queues
prompt ----------------------------------

set lines 100 pages 999
col queue format a50
select owner || '.' || name queue
, waiting
, ready
, expired
from dba_queues dq
, v$aq aq
where dq.qid = aq.qid
order by 2, 3, 4, 1
/

prompt
prompt Check DBA recycle bin
prompt ---------------------

select owner
, object_name
, original_name
from dba_recyclebin
/

prompt
prompt How full are the tablespaces?
prompt ----------------------------

set pages 999
col tablespace_name format a40
col "size MB" format 999,999,999
col "free MB" format 99,999,999
col "% Used" format 999
select tsu.tablespace_name, ceil(tsu.used_mb) "size MB"
, decode(ceil(tsf.free_mb), NULL,0,ceil(tsf.free_mb)) "free MB"
, decode(100 - ceil(tsf.free_mb/tsu.used_mb*100), NULL, 100,
               100 - ceil(tsf.free_mb/tsu.used_mb*100)) "% used"
from (select tablespace_name, sum(bytes)/1024/1024 used_mb
from dba_data_files group by tablespace_name union all
select tablespace_name || '  **TEMP**'
, sum(bytes)/1024/1024 used_mb
from dba_temp_files group by tablespace_name) tsu
, (select tablespace_name, sum(bytes)/1024/1024 free_mb
from dba_free_space group by tablespace_name) tsf
where tsu.tablespace_name = tsf.tablespace_name (+)
order by 4
/
 
prompt
prompt Tablespaces that are >=80% full, and how much to add to make them 80% again
prompt ---------------------------------------------------------------------------

set pages 999 lines 100
col "Tablespace" for a50
col "Size MB" for 999999999
col "%Used" for 999
col "Add (80%)" for 999999
select tsu.tablespace_name "Tablespace"
, ceil(tsu.used_mb) "Size MB"
, 100 - floor(tsf.free_mb/tsu.used_mb*100) "%Used"
, ceil((tsu.used_mb - tsf.free_mb) / .8) - tsu.used_mb "Add (80%)"
from (select tablespace_name, sum(bytes)/1024/1024 used_mb
from    dba_data_files group by tablespace_name) tsu
, (select ts.tablespace_name
,       nvl(sum(bytes)/1024/1024, 0) free_mb
from    dba_tablespaces ts, dba_free_space fs
where   ts.tablespace_name = fs.tablespace_name (+)
group by ts.tablespace_name) tsf
where tsu.tablespace_name = tsf.tablespace_name (+)
and 100 - floor(tsf.free_mb/tsu.used_mb*100) >= 80
order by 3,4
/

prompt
prompt User quotas on all tablespaces
prompt ------------------------------

col quota format a10
select username
,      tablespace_name
,      decode(max_bytes, -1, 'unlimited'
       , ceil(max_bytes / 1024 / 1024) || 'M' ) "QUOTA"
from   dba_ts_quotas
where  tablespace_name not in ('TEMP')
/
 
prompt
prompt Show segments that are approaching max_extents
prompt ----------------------------------------------

col segment_name format a40
select owner
, segment_type
, segment_name
, max_extents - extents as "spare"
, max_extents
from dba_segments
where owner not in ('SYS','SYSTEM')
and (max_extents - extents) < 10
order by 4
/

prompt
prompt List the contents of the temporary tablespace(s)
prompt ------------------------------------------------

set pages 999 lines 100
col username format a15
col mb format 999,999
select  su.username
,       ses.sid
,       ses.serial#
,       su.tablespace
,       ceil((su.blocks * dt.block_size) / 1048576) MB
from    v$sort_usage    su
,       dba_tablespaces dt
,       v$session ses
where   su.tablespace = dt.tablespace_name
and     su.session_addr = ses.saddr
/

prompt
prompt List invalid objects
prompt --------------------

set lines 200 pages 999
col "obj" format a40
select owner || '.' || object_name "obj",
object_type
from dba_objects
where status = 'INVALID'
/

prompt
prompt Display all datafiles, tempfiles and logfiles (and their sizes)
prompt ---------------------------------------------------------------

set lines 100 pages 999
col name format a50
select name, bytes
from    (select name, bytes
from v$datafile
union all
select name, bytes
from v$tempfile
union all
select lf.member "name", l.bytes
from v$logfile lf
, v$log l
where lf.group# = l.group#
union all
select name, 0
from v$controlfile) used
, (select sum(bytes) as p
from dba_free_space) free
/

prompt
prompt Anything left in backup mode?
prompt -----------------------------

set lines 100 pages 999
col name format a60
select df.name
, b.status
, to_char(time, 'hh24:mi:ss dd/mm/yyyy') time
from v$datafile df
, v$backup b
where df.file# = b.file#
and b.status = 'ACTIVE'
order by b.file#
/

prompt
prompt What's in undo?
prompt ---------------

select tablespace_name
, status
, count(*) as HOW_MANY
from dba_undo_extents
group by tablespace_name
, status
/

prompt
prompt Is anything rolling back at the moment? Look for the used_ublk value decreasing...
prompt ----------------------------------------------------------------------------------

set lines 100 pages 999
col username format a15
col command format a20
select ses.username
, substr(ses.program, 1, 19) command
, tra.used_ublk
from v$session ses
, v$transaction tra
where ses.saddr = tra.ses_addr
/

prompt
prompt Resource intensive sql - change 8192 to match block size
prompt --------------------------------------------------------

select sql_text
,      executions
,      to_char((((disk_reads+buffer_gets)/executions) * 8192)/1048576, '9,999,999,990.00')
 as total_gets_per_exec_mb
,      to_char((( disk_reads             /executions) * 8192)/1048576, '9,999,999,990.00')
 as disk_reads_per_exec_mb
,      to_char((( buffer_gets            /executions) * 8192)/1048576, '9,999,999,990.00')
 as buffer_gets_per_exec_mb
,      parsing_user_id
from   v$sqlarea
where  executions > 10
order by 6 desc
/

prompt
prompt File I/O stats
prompt -------------

set lines 80 pages 999
col fname heading "File Name" format a60
col sizemb heading "Size(Mb)" format 99,999
col phyrds heading "Reads" format 999,999,999
col readtim heading "Time" format 99.999
col phywrts heading "Writes" format 9,999,999
col writetim heading "Time" format 99.999
select lower(name) fname
,       (bytes / 1048576) sizemb
,       phyrds
, readtim
,       phywrts
, writetim
from   v$datafile df
,       v$filestat fs
where   df.file# = fs.file#
order   by 1
/

prompt
prompt Show the buffer cache advisory
prompt ------------------------------

set lines 100 pages 999
col est_mb format 99,999
col estd_physical_reads format 999,999,999,999,999
select size_for_estimate est_mb
, estd_physical_read_factor
, estd_physical_reads
from v$db_cache_advice
where name = 'DEFAULT'
order by size_for_estimate
/

prompt
prompt Top ten hottest objects by access
prompt ---------------------------------

col owner format a20 trunc
col object_name format a30
col touches format 9,999,999
select *
from (
select count(*)
, sum(tch) TOUCHES
, u.name OWNER
, o.name OBJECT_NAME
from x$bh x
, obj$ o
, user$ u
where x.obj = o.obj#
and o.owner# = u.user#
group by u.name, o.name
  order by 2 desc
)
where rownum < 11
/

prompt
prompt Waits by file
prompt -------------

col name format a60
select name
, count
from x$kcbfwait
, v$datafile
where indx + 1 = file#
order by 2
/
 
prompt
prompt Waits by segment
prompt ----------------

set lines 150
col value format 99999999
col statistic_name format a50
select object_name
, obj#
, statistic_name
, value
from v$segment_statistics
where statistic_name like '%waits%'
and value > 0
order by statistic_name
, value desc
/

prompt
prompt Count of analyzed tables broken down by schema
prompt ----------------------------------------------

set pages 999 lines 100
select a.owner
, a.total_tables tables
, nvl(b.analyzed_tables,0) analyzed
from (select owner
, count(*) total_tables
from dba_tables
group by owner) a
, (select owner
, count(last_analyzed) analyzed_tables
from dba_tables
where last_analyzed is not null
group by owner) b
where a.owner = b.owner (+)
and a.owner not in ('SYS', 'SYSTEM')
order by a.total_tables - nvl(b.analyzed_tables,0) desc
/


prompt
prompt Whats not been analyzed (at least a day ago...)
prompt ----------------------------------------------

select owner
, table_name
, last_analyzed
from dba_tables
where trunc(last_analyzed) < trunc(sysdate)
and owner not in ('SYS','SYSTEM','WMSYS','EXFSYS','CTXSYS','SYSMAN','OLAPSYS','MDSYS','ORDSYS','OUTLN','DMSYS','XDB','DBSNMP')
/

prompt
prompt Quick look at SGA
prompt -----------------

set lines 100 pages 999
col bytes format 999,999,999
compute sum of bytes on pool
break on pool skip 1
select pool
, name
, bytes
from v$sgastat
order by pool
, name
/
 
prompt
prompt PGA usage by username
prompt ---------------------

select st.sid "SID",
sn.name "TYPE",
ceil(st.value / 1024 / 1024) "MB"
from v$sesstat st,
v$statname sn
where st.statistic# = sn.statistic#
and sid in (select sid
from v$session)
and upper(sn.name) like '%PGA%'
order by st.sid,
st.value desc
/

prompt
prompt Display pool usage
prompt ------------------

select name
, sum(bytes)
from v$sgastat
where pool like 'shared pool'
group by name
order by sum(bytes)
/

spool off;
exit

Tuesday, March 6, 2012

Evolutionary Steps for Automated Testing for E-Business Suite Evolutionary Steps for Automated Testing for E-Business Suite Evolutionary Steps for Automated Testing for E-Business Suite


Evolutionary Steps for Automated Testing for E-Business Suite

My, how time flies.  It's been over two years since I last covered automated regression testing for the E-Business Suite. Our strategy for this area continues to evolve, so it's high time for an update.
The E-Business Suite Test Starter Kits consist of sample test scripts from our own E-Business Suite QA group, along with a Starter Guide, Best Practices Guide, and Installation instructions.  The test scripts were created against an EBS Vision Demo database displaying American English.  You can use these kits as a model for building out your own automated regression tests for your Apps environment.
screenshot_patch8408886.png
Back in 2006, you could download our Quality Assurance teams' automated WinRunner QA scripts for Oracle E-Business Suite Release 11i via a Test Starter Kit.  A few things have changed since then:
Test Starter Kits for WinRunner are Still Available
If you're still using WinRunner, you'll be pleased to learn that you can still download:
  • WinRunner Test Starter Kit for Release 12.0.4 - Patch 6799654
  • WinRunner Test Starter Kit for Release 12.0 - Patch 5845794
  • WinRunner Test Starter Kit for Release 11.5.10.2 - Patch 4520701
  • WinRunner Test Starter Kit for Release 11.5.10 - Patch 4064542
  • WinRunner Test Starter Kit for Release 11.5.9 - Patch 2983563
  • WinRunner Test Starter Kit for Release 11.5.8 - Patch 2739616
  • WinRunner Test Starter Kit for Release 11.5.7 - Patch 2471695
New Test Starter Kits for QTP are Available
If you've switched over to HP's QuickTest Professional (QTP) testing set of tools, you can now download the following new Test Starter Kits:
  • QTP Test Starter Kit for Release 12.1.1 - Patch 8408886
  • QTP Test Starter Kit for Release 12.0.4 - Patch 6845309
  • QTP Test Starter Kit for Release 12.0 - Patch 5845799
  • QTP Test Starter Kit for Release 11.5.10.2 - Patch 4611398
  • QTP Test Starter Kit for Release 11.5.10 - Patch 4355248
  • QTP Test Starter Kit for Release 11.5.9 - Patch 3313315
Only a subset of the E-Business Suite products with automated WinRunner scripts have QTP equivalents; the READMEs for the respective kits have more details about their contents.
The master list of Test Starter Kits available for Apps is published in:
Related Articles

Monday, March 5, 2012

REP-3000 Error when Running PDF/POSTSCRIPT/HTML Reports



Troubleshooting Tips for REP-3000 Error when Running PDF/POSTSCRIPT/HTML Reports [ID 207532.1]

 Modified 28-APR-2009     Type TROUBLESHOOTING     Status PUBLISHED 


Applies to:

Oracle Application Object Library - Version: 11.5.0 to 11.5.10.2
Information in this document applies to any platform.
All UNIX based machines require an X-Windows and Motif environment to run
any GUI-based product. This is the case to execute Bitmapped reports in Oracle
Report. All UNIX-based machines require an X-Windows and Motif environment to 
run any GUI-based product. 

Oracle Reports Server (Services) need to have access to an appropriate windowing
system. On Windows platforms this is a non-issue. 

ems

Purpose

Rep-3000 occurs if running the report as pdf, postscript, xml or html.

Last Review Date

April 28, 2009

Instructions for the Reader

A Troubleshooting Guide is provided to assist in debugging a specific issue. When possible, diagnostic tools are included in the document to assist in troubleshooting.

Troubleshooting Details

1) Do a "uname -n" on the machine that you have enabled the xhost + session


2) Set the DISPLAY environment variable (on that same machine)to the value
that was returned from step #1

Example:

DISPLAY=:0.0; export DISPLAY


3) Issue the following command on that server

xterm -display .:0.0
or
xterm -display :0.0

Note: the xterm should open a window on the display
:0.0
- verify that a window is open on the display


4) Issue the following command on that server

xdpyinfo -display .:0.0
or
xdpyinfo -display :0.0

Note: the xdpyinfo should show some information about the display


5) In the Application, work with the Oracle Seeded Report "Active Users" -
change the CONCURRENT > PROGRAM > DEFINITION > Output Type to
"Postscript" and Save.


6) On the Concurrent Processing Tier -- edit the
8.0.6 $ORACLE_HOME/guicommon6/tk60/admin/uiprint.txt file
and add the following entry

example:
:PostScript:1:5th FLOOR:default.ppd

7) Shutdown the following

Concurrent Managers
Forms Server
Reports Server

8) Autoconfig enabled instance.

a. Use editcontext or Oracle Application Manager to set the variable DISPLAY in the XML file of the instance.

b. Run the Autoconfig to re-generate the applications configuration files.

c. Files $APPL_TOP/.env and $ORACLE_HOME/.env should have defined the display variable as a customization. Include the
following lines at the end of the file:

# Begin customizations
DISPLAY=":0.0"
export DISPLAY
# End customizations

For instances not using Autoconfig.

Set the DISPLAY to the Server where the "xhost +" has been enabled in the following files

$APPL_TOP/.env
$ORACLE_HOME/.env
$APPLCSF/scripts/adcmctl.sh
$APPLCSF/scripts/adfrmctl.sh
$APPLCSF/scripts/adrepctl.sh

***** All these files must have the same
DISPLAY = setting


9) Start the following

Concurrent Manager
Forms Server
Reports Server


10) Test starting the Reports Runtime Executable from the Command Line.
In a Reflections Session, Can you issue the "ar60runb"

This should open the Reports runtime graphic tool on the xhost server


11) In the Application - Run the "Print Environment Variable Report"
for the "DISPLAY" variable

This will show the value of the Concurrent Manager DISPLAY setting

12) In the Application go to HELP > Diagnostic > Examine -
Click on the LOV for Block and choose
$ENVIRONMENT$
Then go to the 'Field' Section and type in 'DISPLAY'
Click on Value

This will show the Forms Server DISPLAY setting


13) If all the above checks out okay - run the Active Users Report
in the Postscript Format 

References

NOTE:161566.1 - REP-3000 When Running Ar60runb Or Ar60desb
NOTE:200474.1 - Comprehensive REP-3000 Troubleshooting and Overview Guide

Saturday, March 3, 2012

how to Set the .bash_profile in unix


oraprodev home

[oraprodev@apps11idev ~]$ vi .bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin
. /oradata/proddb/9.2.0/PROD_prod11i.env
export PATH
unset USERNAME

===============================================================================

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin
. /appltop/prodappl/APPSORA.env
export PATH
unset USERNAME
~

Oracle announced that it would be waiving its Extended Support fees for E-Business Suite Release 11i and 12.0.


On Monday, Oracle announced that it would be waiving its Extended Support fees for E-Business Suite Release 11i and 12.0. While this is certainly good news for customers using these applications, giving up on a steady revenue stream raises questions on just how well Oracle is doing amidst growing competition.
Oracle Corporation Logo
Waived Oracle Fees
Oracle's E-Business suite products, which include enterprise resource planning, supply chain management and CRM applications, comes with a five-year premier support window. Once that window closes, customers can either choose to upgrade to a newer version of the software or pay extended support fees to continue to receive maintenance updates and bug fixes on their software. The support fee business is a lucrative one, as many customers are reluctant to upgrade and more than willing to pay the high-margin fees to keep their current software working correctly.
Oracle's announcement, which you can find on Oracle's blog, is that they will waive the extended support fees for version 11i through November of 2013 and version 12.0 Premier through January of 2015. Oracle previously waived the first year of fees for version 12.1 as well. While Oracle didn't give a specific reason for the waived fees, as this Infoworld article points out, it's probably a move to retain customers who would otherwise consider cheaper alternatives as opposed to paying support fees.
Waived Oracle Fees and the Future of E-Business Suite
While the waived support fees could simply be a gesture of goodwill for loyal customers, it more than likely reflects difficulty in getting both new and existing customers to try newer Oracle offerings. As this Forbes article discusses, Oracle's recent numbers aren't anything to get excited about, and some forecasters have the company sailing into rough seas ahead.
It's no secret that Oracle pushed back against cloud computing during its infancy, and even after eventually giving in to the next big thing in IT, the company's cloud offerings fall far short of other major players. Many cloud-based application providers, like Salesforce, are growing in popularity among Oracle's standard user base and are now looking to expand their reach into a number of other technology areas and may eventually rival the breath of scope that E-Business suite has.
Granted, enterprise and midsized corporations never really turn on a dime, and those already using Oracle products will have to really want something else to commit to a change. But giving away these fees show that Oracle is worried about something.
Perhaps, these fee holidays are simply a way to keep customers using Oracle products until the company's new Fusion Applications, which promise to be a next-generation business suite, get fleshed out a little more. Once the Fusion Apps become a true replacement and upgrade for E-Business Suite, Oracle may have something to offer existing customers that can rival what other companies are offering, with an added bonus of an easier transition to a new product.
Whatever happens in the future, giving up on these fees is certainly going to hurt Oracle in the near term. One would expect that an established company like this has some grand plan in mind, but even tech giants sometimes stumble. News like this is nothing to be too concerned about, and is a great bonus to Oracle customers who weren't planning on upgrading in the near future, but it does signal that the company's moves throughout 2012 bear watching for other signs of desperation.
This post was written as part of the IBM for Midsize Business program, which provides midsize businesses with the tools, expertise and solutions they need to become engines of a smarter planet

SQL query


 ALTER DATABASE BACKUP CONTROLFILE TO TRACE as '/oracle_data/d01/erpcln/oracln/db/tech_st/10.2.0/090911.ctl';

 
ALTER DATABASE DATAFILE '/erpcln/oracln/db/tech_st/10.2.0/dbs/MISSING00049' OFFLINE DROP;

ALTER TABLESPACE TEMP1 ADD TEMPFILE '/oracle_data/d01/data/clndata1/temp05.dbf' REUSE;

ALTER TABLESPACE TEMP2 ADD TEMPFILE '/oracle_data/d01/data/clndata1/temp06.dbf' SIZE 2048M REUSE AUTOEXTEND OFF;


ALTER TABLESPACE TEMP2 ADD TEMPFILE '/oracle_data/d01/data/clndata1/temp10.dbf'SIZE 10240M REUSE AUTOEXTEND OFF;

alter user apps account unlock



FNDCPASS apps/[oldpassword] 0 Y system/[system password] SYSTEM APPLSYS [new apps password]
FNDCPASS apps/password 0 Y system/password USER sysadmin new_password




FNDCPASS apps/apps 0 Y system/manager USER sysadmin dhanush123


FNDCPASS apps/r12clone 0 Y system/manager SYSTEM APPLSYS apps



FNDCPASS apps/apps 0 Y system/manager SYSTEM APPLSYS ma2010pesa

FNDCPASS apps/ma2010pesa 0 Y system/manager SYSTEM APPLSYS dhanush123
  FNDCPASS apps/r12clone 0 Y system/r12clone SYSTEM APPLSYS ma2010pesa

  FNDCPASS apps/r12clone 0 Y system/r12clone SYSTEM APPLSYS ma2010pesa


perl adcfgclone.pl appsTier /oracle_data/d02/inst/apps/CRP1_tdzain-cdr2b/appl/admin/CRP1_tdzain-cdr2b.xml


FNDCPASS apps/ 0 Y system/r12clone USER sysadmin dhanush123

SQL> apps/apps
SQL> exec FND_FILE.PUT_LINE(FND_FILE.LOG, ‘THIS IS A TEST’);




alter system set utl_file_dir='/erpcln/oracln/db/tech_st/admin' scope=spfile;
alter system set utl_file_dir='/erpcln/oracln/db/tech_st/admin' scope=both;


alter system set utl_file_dir='/erpcln/oracln/db/tech_st/admin/utl_file_dir' scope=spfile;


SELECT name, value FROM v$parameter WHERE name LIKE 'utl_file_dir';



FNDCPASS apps/ma2010pesa 0 Y system/r12clone USER sysadmin dhanush123



alter profile DEFAULT limit failed_login_attempts unlimited;
alter user apps account unlock;


isainfo -kv, ---to find bit version




EXEC FND_CONC_CLONE.SETUP_CLEAN


alter system set processes=700 scope=spfile;

alter system reset utl_file_dir scope=both sid='*' scope=spfile;

alter system set utl_file_dir='/erpcln/oracln/db/tech_st/admin/utl_file_dir' scope=spfile;

alter system set utl_file_dir='/oracle_data2/d01/erpcln/oracln/db/tech_st/admin/utl_file_dir' scope=spfile;

/oracle_data2/d01/erpcln/oracln/db/tech_st/





 create table FND_ORACLE_USERID_BAK as (select * from FND_ORACLE_USERID);

create table FND_USER_BAK as (select * from FND_USER);

FNDCPASS apps/r12clone 0 Y system/r12clone SYSTEM APPLSYS ma2010pesa

perl adcfgclone appsTier /oracle_data/d02/inst/apps/CRPGA1_erpdb-gabon/appl/adminCRPGA1_erpdb-gabon.xml




select PATH from FND_OAM_CONTEXT_FILES ;



alter system reset utl_file_dir scope=both sid='*';
1. shutdown appstier
2. shutdown db
3. startup nomount
4. sho parameter utl_file_dir
5. alter system set utl_file_dir='/usr/tmp'
6. sho parameter utl_file_dir (if change is not come, then ..
7. shut immediate
8. startup nomount
9. sho parameter utl_file_dir ( the changes must be applied now)
10. alter database mount;
alter database open;



alter system reset utl_file_dir scope=both sid='*';
1. shutdown appstier
2. shutdown db
3. startup nomount
4. sho parameter utl_file_dir
5. alter system set utl_file_dir='/oracle_data/d01/erpcln/oracln/db/tech_st/admin/utl_file_dir' scope=spfile;

6. sho parameter utl_file_dir (if change is not come, then ..
7. shut immediate
8. startup nomount
9. sho parameter utl_file_dir ( the changes must be applied now)
10. alter database mount;
alter database open;

sho parameter utl_file_dir;

XLIFFLoader.class


Applications Patching Knowledge Browser Product Page (Note ID: 268546.1)


///////////////////////////

SR
///////////

create table XDO_TEMPLATES_B_BKP as select * from XDO_TEMPLATES_B;


SQL> conn apps/ma2010pesa
Connected.
SQL> create table XDO_TEMPLATES_B_BKP as select * from XDO_TEMPLATES_B;

Table created.

SQL> Update XDO_TEMPLATES_B
Set mls_territory='US'
where application_id=200
and template_code='APPPBR';
  2    3    4
1 row updated.

SQL> commit;

Commit complete.

SQL>

/oracle_data/d01/erpcln/oracln/db/tech_st/admin/utl_file_dir


/oracle_data2/d01/erpcln/oracln/db/tech_st/admin/utl_file_dir
                                             

alter system reset utl_file_dir scope=spfile sid='*' ;



alter system set utl_file_dir='/oracle_data2/d01/erpcln/oracln/db/tech_st/admin/utl_file_dir' scope=spfile;


SQL> create spfile from pfile;

File created.

SQL> show parameter spfile ;





EXEC FND_CONC_CLONE.SETUP_CLEAN;
commit

autoconfig in DB then in apps

Thursday, March 1, 2012

FAQ - Flash Recovery Area feature



FAQ - Flash Recovery Area feature [ID 305817.1]

 Modified 12-DEC-2010     Type FAQ     Status ARCHIVED 
In this Document
  Purpose
  Questions and Answers
  References




Applies to:

Enterprise Manager for RDBMS - Version: 10.1.0.2 to 11.1 - Release: 10.1 to
Oracle Server - Enterprise Edition - Version: 10.1.0.2 to 11.1.0.6   [Release: 10.1 to 11.1]
Information in this document applies to any platform.
***Checked for relevance on 12-Dec-2010***

Purpose

This article contains FAQ for Flash Recovery Area ( FRA )

Questions and Answers

1. What is a Flash Recovery Area and how to configure it ?

Note 305648.1 What is a Flash Recovery Area and how to configure it?

2. How is RMAN using the Flash Recovery Area and what kind of files are created by RMAN in the Flash Recovery Area  ?

Note 305796.1 RMAN and Flash Recovery Area

3. How to enable and configure data / redolog file creation in the Flash Recovery Area ?

Note 305810.1 Configuring file creation in Flash recovery area and
order of Precedence

4. Which warnings and alerts are reported when the Flash Recovery Area is
running out of space ?

Note 305812.1 Flash Recovery area - Space management Warning & Alerts
Note 315098.1 How is the space pressure managed in the Flash Recovery
Area - Example.

5. How to change Flash Recovery Area to a new location ?

Note 305651.1 How to change Flash Recovery Area to a new location ?

References

NOTE:305648.1 - What is a Flash Recovery Area and how to configure it ?
NOTE:305651.1 - How to change Flash Recovery Area to a new location ?
NOTE:305796.1 - RMAN and Flash Recovery Area
NOTE:305810.1 - Configuring file creation in Flash recovery area and order of Precedence
NOTE:305812.1 - Flash Recovery area - Space management Warning & Alerts
NOTE:315098.1 - How is the space pressure managed in the Flash Recovery Area - An Example.

Show Related Information Related

Products
  • Oracle Database Products > Oracle Database > Oracle Database > Oracle Server - Enterprise Edition
  • Enterprise Management > Enterprise Manager Products > Managing Databases using Enterprise Manager > Enterprise Manager for Oracle Database
Keywords
FLASH; FRA

Back to topBack to top