If you have users reporting session timed out even though they were using the application, then it must be due to JRE version which client is running. It is better to run the same version of the JRE that is installed on the server or the latest one.
If the above step doesn't help do the following for the JRE;
1. Go to: Start > Control Panel > Java > Advanced > Java Plug-in
2. De-select the option "Enable the next-generation Java Plug-in"
3. Restart the browser and check the application, the timeout should not happen again.
To increase timeout from the server, do the following;
1. Change profile option ICX: Session Timeout to 90 min from the default value of30min.
2. change s_oc4j_sesstimeout value to 90 again in context file.
3. Stop the appliation services and run adconfig.
4. Start application services and check the application.
Oracle Applications Implementation Consultant
Sunday, March 18, 2012
Monday, February 13, 2012
Setup to run a script at every reboot of Linux
There are various ways to acieve the subject task, the three ways are,
1. Depends a bit what you want to do, you could add a line to crontab such as:
@reboot command_goes_here
using crontab -e as root
2. So you have a script of your own that you want to run at bootup, each time you boot up.
Write a script, put it in the /etc/init.d/ directory. Lets say you called it FOO. You then run
% update -rc.d FOO defaults
You also have to make the file you created, FOO, executable, using
$chmod +x FOO
You can check out
% man update -rc.d for more information.
It is a Debian utility to install scripts. The option “defaults” puts a link to start FOO in run levels 2, 3, 4 and 5. (and puts a link to stop FOO into 0, 1 and 6.)
Also, to know which runlevel you are in, use the runlevel command.
3. Anothe way is, For example if you want to add the following commands to be run every time the Redhat linux server is rebooted then just update the /etc/rc.local file and add the following command line in it. It's as simple as that,
mount -t cifs //192.168.2.143/mydir -o username=imseagle,password=oracle123 /u01/mydir
This example is mounting a windows directory (//192.168.2.143/mydir) on a linux server onto /u01/mydir. So like wise you can add any linux command in this file.
The content of rc.local will look like this,
[imseagle@myserver u01]$ more /etc/rc.local#!/bin/sh
## This script will be executed *after* all the other init scripts.# You can put your own initialization stuff in here if you don't# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
mount -t cifs //192.168.2.143/mydir -o username=imseagle,password=oracle123 /u01/mydir
1. Depends a bit what you want to do, you could add a line to crontab such as:
@reboot command_goes_here
using crontab -e as root
2. So you have a script of your own that you want to run at bootup, each time you boot up.
Write a script, put it in the /etc/init.d/ directory. Lets say you called it FOO. You then run
% update -rc.d FOO defaults
You also have to make the file you created, FOO, executable, using
$chmod +x FOO
You can check out
% man update -rc.d for more information.
It is a Debian utility to install scripts. The option “defaults” puts a link to start FOO in run levels 2, 3, 4 and 5. (and puts a link to stop FOO into 0, 1 and 6.)
Also, to know which runlevel you are in, use the runlevel command.
3. Anothe way is, For example if you want to add the following commands to be run every time the Redhat linux server is rebooted then just update the /etc/rc.local file and add the following command line in it. It's as simple as that,
mount -t cifs //192.168.2.143/mydir -o username=imseagle,password=oracle123 /u01/mydir
This example is mounting a windows directory (//192.168.2.143/mydir) on a linux server onto /u01/mydir. So like wise you can add any linux command in this file.
The content of rc.local will look like this,
[imseagle@myserver u01]$ more /etc/rc.local#!/bin/sh
## This script will be executed *after* all the other init scripts.# You can put your own initialization stuff in here if you don't# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
mount -t cifs //192.168.2.143/mydir -o username=imseagle,password=oracle123 /u01/mydir
Labels:
Redhat Linux
Sunday, January 15, 2012
Useful scripts for Oracle Applications DBA
Query to find the request group of a concurrent program
select distinct request_group_name from apps.FND_REQUEST_GROUPS FRG,apps.FND_REQUEST_GROUP_UNITS FRGU,apps.FND_CONCURRENT_PROGRAMS_VL FCP
where FCP.USER_CONCURRENT_PROGRAM_NAME like '&Conc_Program_Name' and FCP.CONCURRENT_PROGRAM_ID=FRGU.REQUEST_UNIT_ID
and FRGU.REQUEST_GROUP_ID=FRG.REQUEST_GROUP_ID
Query to check the middle tier sessions
select machine,
sum(decode(s.status,'ACTIVE',1,0)) totact,
sum(decode(s.status,'INACTIVE',1,0)) totinact,
count(*) totsess,
min(to_char(s.logon_time,'mm/dd hh24:mi')) earliest_logon,
max(to_char(s.logon_time,'mm/dd hh24:mi')) latest_logon
from v$session s
where s.type = 'USER'
group by s.machine
order by 4,1
/
FND_NODES query
select
node_id,
platform_code,
support_db D,
support_cp C,
support_admin A,
support_forms F,
support_web W,
node_name,
server_id,
server_address,
domain,
webhost,
virtual_ip
from
fnd_nodes
order by node_id;
Query to know what changes a patch has made on the instance
Select
J.PATCh_NAME,
H.APPLICATIONS_SYSTEM_NAME Instance_Name,
H.NAME,
I.DRIVER_FILE_NAME,
D.APP_SHORT_NAME appl_top,
D.SUBDIR,
D.FILENAME,
max(F.VERSION) latest,
E.ACTION_CODE action
from
AD_BUGS A,
AD_PATCH_RUN_BUGS B,
AD_PATCH_RUN_BUG_ACTIONS C,
AD_FILES D,
AD_PATCH_COMMON_ACTIONS E,
AD_FILE_VERSIONS F,
AD_PATCH_RUNS G,
AD_APPL_TOPS H,
AD_PATCH_DRIVERS I,
AD_APPLIED_PATCHES J
where
A.BUG_ID = B.BUG_ID and
B.PATCH_RUN_BUG_ID = C.PATCH_RUN_BUG_ID and
C.FILE_ID = D.FILE_ID and
E.COMMON_ACTION_ID = C.COMMON_ACTION_ID and
D.FILE_ID = F.FILE_ID and
G.APPL_TOP_ID = H.APPL_TOP_ID and
G.PATCH_DRIVER_ID = I.PATCH_DRIVER_ID and
I.APPLIED_PATCH_ID = J.APPLIED_PATCH_ID and
B.PATCH_RUN_ID = G.PATCH_RUN_ID and
C.EXECUTED_FLAG = 'Y' and
G.PATCH_DRIVER_ID in
(select PATCH_DRIVER_ID
from AD_PATCH_DRIVERS
where APPLIED_PATCH_ID in
(select APPLIED_PATCH_ID
from AD_APPLIED_PATCHES
where PATCH_NAME = '&Patch_Number'))
GROUP BY
J.PATCH_NAME,
H.APPLICATIONS_SYSTEM_NAME,
H.NAME,
I.DRIVER_FILE_NAME,
D.APP_SHORT_NAME,
D.SUBDIR,
D.FILENAME,
E.ACTION_CODE;
Query to know patch details in the instance.
select
D.PATCH_NAME,
B.APPLICATIONS_SYSTEM_NAME,
-- B.INSTANCE_NAME,
B.NAME,
C.DRIVER_FILE_NAME,
A.PATCH_DRIVER_ID,
A.PATCH_RUN_ID,
A.SESSION_ID,
A.PATCH_TOP,
A.START_DATE,
A.END_DATE,
A.SUCCESS_FLAG,
A.FAILURE_COMMENTS
from
AD_PATCH_RUNS A,
AD_APPL_TOPS B,
AD_PATCH_DRIVERS C,
AD_APPLIED_PATCHES D
where
A.APPL_TOP_ID = B.APPL_TOP_ID AND
A.PATCH_DRIVER_ID = C.PATCH_DRIVER_ID AND
C.APPLIED_PATCH_ID = D.APPLIED_PATCH_ID AND
A.PATCH_DRIVER_ID in
(select PATCH_DRIVER_ID
from AD_PATCH_DRIVERS
where APPLIED_PATCH_ID
in
(select APPLIED_PATCH_ID
from AD_APPLIED_PATCHES
where PATCH_NAME = '&patch_number'))
ORDER BY 3;
Query to show the applications users currently connected based on the sid.
select to_char(max(l.start_time),'mm/dd/yy hh:mi:ssAM') startedat,
a.time,
u.user_name,
u.description ,
s.sid,
p.spid,
u.description,
a.user_form_name
from applsys.fnd_logins l,
applsys.fnd_user u,
apps.fnd_signon_audit_view a,
v$process p,
v$session s
where s.paddr = p.addr
and p.pid = l.pid
and l.end_time is null
and l.spid = s.process
and l.start_time is not null
-- and l.start_time = u.last_logon_date
-- and l.session_number = u.session_number
and l.user_id = u.user_id
and u.user_id = a.user_id
and p.pid = a.pid
and
((upper(a.user_form_name) like upper('%&trgtform%')) or (upper('&trgtform') = 'ALL'))
and l.start_time = (select max
(l2.start_time)
from applsys.fnd_logins l2
where l2.pid = l.pid)
group by
u.user_name, u.description,a.time,a.user_form_name, s.sid,p.spid
order by to_char(max(l.start_time),'mm/dd/yy
hh:mi:ssAM'),a.time;
Query to see the top10 jobs based on total runtime for today
select * from (
select q.concurrent_queue_name qname,
c.concurrent_program_name
' (' to_char
(c.concurrent_program_id) ')' intprog,
ctl.user_concurrent_program_name "program",
sum((nvl
(actual_completion_date,sysdate)-actual_start_date)*1440) "TotTime",
count(*),
avg((nvl
(actual_completion_date,sysdate)-actual_start_date)*1440) "AvgTime"
from APPLSYS.fnd_Concurrent_requests
a,APPLSYS.fnd_concurrent_processes b
,applsys.fnd_concurrent_queues q
,APPLSYS.fnd_concurrent_programs c
,APPLSYS.fnd_concurrent_programs_tl ctl
where a.controlling_manager = b.concurrent_process_id
and a.concurrent_program_id =
c.concurrent_program_id
and a.program_application_id = c.application_id
and b.queue_application_id = q.application_id
and b.concurrent_queue_id = q.concurrent_queue_id
and ctl.concurrent_program_id = c.concurrent_program_id
and
ctl.language = 'US'
and trunc(actual_completion_date) = trunc(sysdate)
and actual_start_date is not null
and
actual_completion_date is not null
group by q.concurrent_queue_name,
c.concurrent_program_name ' (' to_char
(c.concurrent_program_id) ')' ,
ctl.user_concurrent_program_name
order by 4 desc)
where rownum < 11; Query to get the application user name based on the SID. select /*+ rule */ to_char(s.logon_time,'mm/dd/yy hh:mi:ssAM') startedat, a.time, floor (s.last_call_et/3600)':' floor(mod(s.last_call_et,3600)/60)':' mod(mod(s.last_call_et,3600),60) "LastCallET", u.user_name, u.description , s.module ' - ' a.user_form_name forminfo from applsys.fnd_logins l, applsys.fnd_user u, apps.fnd_signon_audit_view a, v$process p, v$session s where s.sid = &trgtsid and s.paddr = p.addr and p.pid = l.pid and l.end_time is null and l.spid = s.process and l.start_time is not null -- and l.start_time = u.last_logon_date -- and l.session_number = u.session_number and l.user_id = u.user_id and u.user_id = a.user_id and p.pid = a.pid and l.start_time = (select max(l2.start_time) from applsys.fnd_logins l2 where l2.pid = l.pid) group by to_char (s.logon_time,'mm/dd/yy hh:mi:ssAM'), floor(s.last_call_et/3600)':' floor(mod (s.last_call_et,3600)/60)':' mod(mod(s.last_call_et,3600),60), u.user_name, u.description,a.time,s.module ' - ' a.user_form_name order by to_char(s.logon_time,'mm/dd/yy hh:mi:ssAM'),a.time; Query to get the server tiers active sessions select replace(s.machine,'HEADLANDS\',null) usersrvr, s.sid, to_char(s.logon_time,'mm/dd hh24:mi') logonat, floor(last_call_et/3600)':' floor(mod(last_call_et,3600)/60)':' mod(mod(last_call_et,3600),60) "LastCallET", s.osuser, nvl(s.module,p.program) sessprog, w.event, w.state, p.spid, decode(h.sid,null,'None',h.name) holdinglatch from v$session s, v$session_wait w, v$process p, v$latchholder h where type = 'USER' and status = 'ACTIVE' and s.sid = w.sid and s.paddr = p.addr and s.osuser is not null and s.sid = h.sid (+) order by 1,4
Script to generate an Automatic workload repository report.
SQL> @E:\R12\11.1.0\RDBMS\ADMIN\awrrpt.sql
Current Instance DB Id DBName Instance
----------- ----------------
402873117 KLONE klone
Enter value for report_type: <---here you can enter 'html' or 'text' based on the output type you want.
Enter value for num_days:<---here enter the number of days will result in the most recent days of snapshots being listed.
Example if we enter 2 here will show two days of snapshots that are automatically stored in the database.
Enter value for begin_snap:<---here enter the begin snapshot number
Enter value for end_snap:<---here enter the end snapshot number
Enter value for report_name:<---awrrpt_1_2579_2580.html
This will generate the html report output for the performance analysis.
How to identify and remove locks on the table
Login to database as SYS or SYSTEM user.
Find out the SESSION_ID by running the following
SELECT SESSION_ID FROM DBA_DML_LOCKS WHERE NAME = Table Name;
Use this session id to find SERIAL# by using following
SELECT statment SELECT SID,SERIAL# FROM V$SESSION WHERE SID IN (SELECT SESSION_ID FROM DBA_DML_LOCKS WHERE NAME = Table Name)
Use ALTER SYSTEM command to KILL SESSION and this will release the lock.
ALTER SYSTEM KILL SESSION 'SID,SERIALl#';
Query to check database growth in previous months
select to_char(creation_time, 'RRRR Month') "Month",sum(bytes)/1024/1024 "Growth in Meg" from sys.v_$datafile where creation_time > SYSDATE-365
group by creation_time
Query to see the top 10 io datafiles for write activity
select * from (
select substr(f.name,8,(instr(f.name,'/',9,1) -8)) fsmtpt,
substr(f.name,(instr(f.name,'/',-1,1)+1)) fname,
s.phyrds, s.phywrts,s.lstiotim,s.avgiotim
from v$datafile f, v$filestat s
where f.file# = s.file#
order by 4 desc)
where rownum < 11;
Don't hesitate to contact me if you need any technical assistance for Oracle Applications DBA related work. samiora@gmail.com.
select distinct request_group_name from apps.FND_REQUEST_GROUPS FRG,apps.FND_REQUEST_GROUP_UNITS FRGU,apps.FND_CONCURRENT_PROGRAMS_VL FCP
where FCP.USER_CONCURRENT_PROGRAM_NAME like '&Conc_Program_Name' and FCP.CONCURRENT_PROGRAM_ID=FRGU.REQUEST_UNIT_ID
and FRGU.REQUEST_GROUP_ID=FRG.REQUEST_GROUP_ID
Query to check the middle tier sessions
select machine,
sum(decode(s.status,'ACTIVE',1,0)) totact,
sum(decode(s.status,'INACTIVE',1,0)) totinact,
count(*) totsess,
min(to_char(s.logon_time,'mm/dd hh24:mi')) earliest_logon,
max(to_char(s.logon_time,'mm/dd hh24:mi')) latest_logon
from v$session s
where s.type = 'USER'
group by s.machine
order by 4,1
/
FND_NODES query
select
node_id,
platform_code,
support_db D,
support_cp C,
support_admin A,
support_forms F,
support_web W,
node_name,
server_id,
server_address,
domain,
webhost,
virtual_ip
from
fnd_nodes
order by node_id;
Query to know what changes a patch has made on the instance
Select
J.PATCh_NAME,
H.APPLICATIONS_SYSTEM_NAME Instance_Name,
H.NAME,
I.DRIVER_FILE_NAME,
D.APP_SHORT_NAME appl_top,
D.SUBDIR,
D.FILENAME,
max(F.VERSION) latest,
E.ACTION_CODE action
from
AD_BUGS A,
AD_PATCH_RUN_BUGS B,
AD_PATCH_RUN_BUG_ACTIONS C,
AD_FILES D,
AD_PATCH_COMMON_ACTIONS E,
AD_FILE_VERSIONS F,
AD_PATCH_RUNS G,
AD_APPL_TOPS H,
AD_PATCH_DRIVERS I,
AD_APPLIED_PATCHES J
where
A.BUG_ID = B.BUG_ID and
B.PATCH_RUN_BUG_ID = C.PATCH_RUN_BUG_ID and
C.FILE_ID = D.FILE_ID and
E.COMMON_ACTION_ID = C.COMMON_ACTION_ID and
D.FILE_ID = F.FILE_ID and
G.APPL_TOP_ID = H.APPL_TOP_ID and
G.PATCH_DRIVER_ID = I.PATCH_DRIVER_ID and
I.APPLIED_PATCH_ID = J.APPLIED_PATCH_ID and
B.PATCH_RUN_ID = G.PATCH_RUN_ID and
C.EXECUTED_FLAG = 'Y' and
G.PATCH_DRIVER_ID in
(select PATCH_DRIVER_ID
from AD_PATCH_DRIVERS
where APPLIED_PATCH_ID in
(select APPLIED_PATCH_ID
from AD_APPLIED_PATCHES
where PATCH_NAME = '&Patch_Number'))
GROUP BY
J.PATCH_NAME,
H.APPLICATIONS_SYSTEM_NAME,
H.NAME,
I.DRIVER_FILE_NAME,
D.APP_SHORT_NAME,
D.SUBDIR,
D.FILENAME,
E.ACTION_CODE;
Query to know patch details in the instance.
select
D.PATCH_NAME,
B.APPLICATIONS_SYSTEM_NAME,
-- B.INSTANCE_NAME,
B.NAME,
C.DRIVER_FILE_NAME,
A.PATCH_DRIVER_ID,
A.PATCH_RUN_ID,
A.SESSION_ID,
A.PATCH_TOP,
A.START_DATE,
A.END_DATE,
A.SUCCESS_FLAG,
A.FAILURE_COMMENTS
from
AD_PATCH_RUNS A,
AD_APPL_TOPS B,
AD_PATCH_DRIVERS C,
AD_APPLIED_PATCHES D
where
A.APPL_TOP_ID = B.APPL_TOP_ID AND
A.PATCH_DRIVER_ID = C.PATCH_DRIVER_ID AND
C.APPLIED_PATCH_ID = D.APPLIED_PATCH_ID AND
A.PATCH_DRIVER_ID in
(select PATCH_DRIVER_ID
from AD_PATCH_DRIVERS
where APPLIED_PATCH_ID
in
(select APPLIED_PATCH_ID
from AD_APPLIED_PATCHES
where PATCH_NAME = '&patch_number'))
ORDER BY 3;
Query to show the applications users currently connected based on the sid.
select to_char(max(l.start_time),'mm/dd/yy hh:mi:ssAM') startedat,
a.time,
u.user_name,
u.description ,
s.sid,
p.spid,
u.description,
a.user_form_name
from applsys.fnd_logins l,
applsys.fnd_user u,
apps.fnd_signon_audit_view a,
v$process p,
v$session s
where s.paddr = p.addr
and p.pid = l.pid
and l.end_time is null
and l.spid = s.process
and l.start_time is not null
-- and l.start_time = u.last_logon_date
-- and l.session_number = u.session_number
and l.user_id = u.user_id
and u.user_id = a.user_id
and p.pid = a.pid
and
((upper(a.user_form_name) like upper('%&trgtform%')) or (upper('&trgtform') = 'ALL'))
and l.start_time = (select max
(l2.start_time)
from applsys.fnd_logins l2
where l2.pid = l.pid)
group by
u.user_name, u.description,a.time,a.user_form_name, s.sid,p.spid
order by to_char(max(l.start_time),'mm/dd/yy
hh:mi:ssAM'),a.time;
Query to see the top10 jobs based on total runtime for today
select * from (
select q.concurrent_queue_name qname,
c.concurrent_program_name
' (' to_char
(c.concurrent_program_id) ')' intprog,
ctl.user_concurrent_program_name "program",
sum((nvl
(actual_completion_date,sysdate)-actual_start_date)*1440) "TotTime",
count(*),
avg((nvl
(actual_completion_date,sysdate)-actual_start_date)*1440) "AvgTime"
from APPLSYS.fnd_Concurrent_requests
a,APPLSYS.fnd_concurrent_processes b
,applsys.fnd_concurrent_queues q
,APPLSYS.fnd_concurrent_programs c
,APPLSYS.fnd_concurrent_programs_tl ctl
where a.controlling_manager = b.concurrent_process_id
and a.concurrent_program_id =
c.concurrent_program_id
and a.program_application_id = c.application_id
and b.queue_application_id = q.application_id
and b.concurrent_queue_id = q.concurrent_queue_id
and ctl.concurrent_program_id = c.concurrent_program_id
and
ctl.language = 'US'
and trunc(actual_completion_date) = trunc(sysdate)
and actual_start_date is not null
and
actual_completion_date is not null
group by q.concurrent_queue_name,
c.concurrent_program_name ' (' to_char
(c.concurrent_program_id) ')' ,
ctl.user_concurrent_program_name
order by 4 desc)
where rownum < 11; Query to get the application user name based on the SID. select /*+ rule */ to_char(s.logon_time,'mm/dd/yy hh:mi:ssAM') startedat, a.time, floor (s.last_call_et/3600)':' floor(mod(s.last_call_et,3600)/60)':' mod(mod(s.last_call_et,3600),60) "LastCallET", u.user_name, u.description , s.module ' - ' a.user_form_name forminfo from applsys.fnd_logins l, applsys.fnd_user u, apps.fnd_signon_audit_view a, v$process p, v$session s where s.sid = &trgtsid and s.paddr = p.addr and p.pid = l.pid and l.end_time is null and l.spid = s.process and l.start_time is not null -- and l.start_time = u.last_logon_date -- and l.session_number = u.session_number and l.user_id = u.user_id and u.user_id = a.user_id and p.pid = a.pid and l.start_time = (select max(l2.start_time) from applsys.fnd_logins l2 where l2.pid = l.pid) group by to_char (s.logon_time,'mm/dd/yy hh:mi:ssAM'), floor(s.last_call_et/3600)':' floor(mod (s.last_call_et,3600)/60)':' mod(mod(s.last_call_et,3600),60), u.user_name, u.description,a.time,s.module ' - ' a.user_form_name order by to_char(s.logon_time,'mm/dd/yy hh:mi:ssAM'),a.time; Query to get the server tiers active sessions select replace(s.machine,'HEADLANDS\',null) usersrvr, s.sid, to_char(s.logon_time,'mm/dd hh24:mi') logonat, floor(last_call_et/3600)':' floor(mod(last_call_et,3600)/60)':' mod(mod(last_call_et,3600),60) "LastCallET", s.osuser, nvl(s.module,p.program) sessprog, w.event, w.state, p.spid, decode(h.sid,null,'None',h.name) holdinglatch from v$session s, v$session_wait w, v$process p, v$latchholder h where type = 'USER' and status = 'ACTIVE' and s.sid = w.sid and s.paddr = p.addr and s.osuser is not null and s.sid = h.sid (+) order by 1,4
Script to generate an Automatic workload repository report.
SQL> @E:\R12\11.1.0\RDBMS\ADMIN\awrrpt.sql
Current Instance DB Id DBName Instance
----------- ----------------
402873117 KLONE klone
Enter value for report_type: <---here you can enter 'html' or 'text' based on the output type you want.
Enter value for num_days:<---here enter the number of days will result in the most recent days of snapshots being listed.
Example if we enter 2 here will show two days of snapshots that are automatically stored in the database.
Enter value for begin_snap:<---here enter the begin snapshot number
Enter value for end_snap:<---here enter the end snapshot number
Enter value for report_name:<---awrrpt_1_2579_2580.html
This will generate the html report output for the performance analysis.
How to identify and remove locks on the table
Login to database as SYS or SYSTEM user.
Find out the SESSION_ID by running the following
SELECT SESSION_ID FROM DBA_DML_LOCKS WHERE NAME = Table Name;
Use this session id to find SERIAL# by using following
SELECT statment SELECT SID,SERIAL# FROM V$SESSION WHERE SID IN (SELECT SESSION_ID FROM DBA_DML_LOCKS WHERE NAME = Table Name)
Use ALTER SYSTEM command to KILL SESSION and this will release the lock.
ALTER SYSTEM KILL SESSION 'SID,SERIALl#';
Query to check database growth in previous months
select to_char(creation_time, 'RRRR Month') "Month",sum(bytes)/1024/1024 "Growth in Meg" from sys.v_$datafile where creation_time > SYSDATE-365
group by creation_time
Query to see the top 10 io datafiles for write activity
select * from (
select substr(f.name,8,(instr(f.name,'/',9,1) -8)) fsmtpt,
substr(f.name,(instr(f.name,'/',-1,1)+1)) fname,
s.phyrds, s.phywrts,s.lstiotim,s.avgiotim
from v$datafile f, v$filestat s
where f.file# = s.file#
order by 4 desc)
where rownum < 11;
Don't hesitate to contact me if you need any technical assistance for Oracle Applications DBA related work. samiora@gmail.com.
Labels:
Oracle Applications ERP
Monday, December 5, 2011
All about Oracle Concurrent Manager
The concurrent manager in Oracle EBS is a very important service. It manages the concurrentrequests submitted by users and does batch processing and report generation.
This blog article will help administrators to get insight of the concurrent manager and also control over its functionality.
Master Concurrent Managers
There are many concurrent managers in Oracle EBS application like Output Post Processor (related to XML publisher reports), Workflow Agent Listener Service (related to workflow notifications), Workflow Mailer Service (related to workflow notification mailer setup), Workflow Document Web Services Service, etc. But among all these concurrent managers are the three super concurrent managers and they are,
Internal Concurrent Manager — The master manager is called the Internal Concurrent Manager (ICM) because it controls the behavior of all of the other managers, and because the ICM is the boss, it must be running before any other managers can be activated. The main functions of the ICM are to start up and shutdown the individual concurrent managers, and reset the other managers after one of them has a failure.
Standard Manager — Another important master Concurrent Manager is called the Standard Manager (SM). The SM functions to run any reports and batch jobs that have not been defined to run in any specific product manager. Examples of specific concurrent managers include the Inventory Manager, CRP Inquiry Manager, and the Receivables Tax Manager.
Conflict Resolution Manager — The Conflict Resolution Manager (CRM) functions to check concurrent program definitions for incompatibility rules. However, the ICM can be configured to take over the CRM's job to resolve incompatibilities.
Enable Tracing for Concurrent Programs
For troubleshooting purposes if you want to enable tracing for a concurrent program then goto System Administrator-->Concurrent-->Program-->Define-->Here tick the checkbox 'Enable Trace' for the specific concurrent program that you want to generate trace for.

Now let's see as an Apps DBA, how to monitor and Tune the concurrent manager;
Tuning the Internal Concurrent Manager (ICM)
The ICM performance is affected by the three important Oracle parameters PMON cycle, queue size, and sleep time.
PMON cycle — This is the number of sleep cycles that the ICM waits between the time it checks for concurrent managers failures, which defaults to 20. You should change the PMON cycle to a number lower than 20 if your concurrent managers are having problems with abnormal terminations.
Queue Size — The queue size is the number of PMON cycles that the ICM waits between checking for disabled or new concurrent managers. The default for queue size of 1 PMON cycle should be used.
Sleep Time — The sleep time parameter indicates the seconds that the ICM should wait between checking for requests that are waiting to run. The default sleep time is 60, but you can lower this number if you see you have a lot of request waiting (Pending/Normal). However, reducing this number to a very low value many cause excessive cpu utilization.

Purging Concurrent Requests
It is recommended to run this program 'Purge concurrent request/manager data' once every week as a meintenance task. Sometimes some report output files doesn't get deleted so it is required to Set the system profile option "Concurrent: Force Local Output File Mode" to "Yes". You need to apply patch 7530490 for R12 (or) 7834670 for 11i to get this profile.
Refer Note.822368.1: Purge Concurrent Request FNDCPPUR Does Not Delete Files From File System or Slow performance
Note:- The profile option "Concurrent: Force Local Output File Mode" is set to "No" by default. After applying the patch, set the profile option to YES will
cause FNDCPPUR to always access files on the local file system, hence FNDCPPUR will remove the OS files faster.To enable this feature, All Concurrent Manager nodes must be able to access the output file location via the local filesystem.
Ensure that the log/out files are removed from the locations shown below as you run "Purge Concurrent Request and/or Manager Data program".
$APPLCSF/$APPLLOG==>P:\oracle\inst\apps\proderp_prodapp\logs\appl\conc\log $APPLCSF/$APPLOUT==>P:\oracle\inst\apps\proderp_prodapp\logs\appl\conc\out
Truncate the reports.log file in log directory.
Refer Note.844976.1 for more details.
Truncation of file "reports.log" is a regular maintenance work of Application DBA. Make sure that reports log file size should not increase to its maximum limit of 2 GB. There is no purge program to truncate file "reports.log". This maintenance needs to be done manually and regularly depending on number of concurrent program which uses "reports.log". You can safely truncate "reports.log". The "reports.log" file can be located under $APPLCSF/$APPLLOG.
Adjusting the Concurrent Manager Cache Size
Concurrent manager performance can also be enhanced by increasing the manager cache size to be at lease twice the number of target processes. The cache size specifies the number of requests that will be cached each time the concurrent manager reads from the FND_CONCURRENT_REQUESTS table. Increasing the cache size will boost the throughput of the managers by attempting to avoid sleep time.
Analyzing Oracle Apps Dictionary Tables for High Performance
It is also very important to run the request Gather Table Statistics on these tables:
FND_CONCURRENT_PROCESSES
FND_CONCURRENT_PROGRAMS
FND_CONCURRENT_REQUESTS
FND_CONCURRENT_QUEUES.
Run the request "Analyze All Index Column Statistics" on the indexes of these tables. Since the APPLSYS user is the owner of these tables, so you can also just run the request Analyze Schema Statistics for APPLSYS.
To troubleshoot performance, a DBA can use three types of trace. A module trace, such as PO or AR, can be set by enabling the module's profile option Debug Trace from within the applications. Second, most concurrent requests can be set to generate a trace file by changing the request parameters. To enable trace for a specific request, log in as a user with the System Administrator responsibility. Navigate to Concurrent -> Program -> Define. Query for the request that you want to enable trace. In the first picture given above you can check the box Enable Trace.
Another popular way to troubleshoot the Concurrent Managers is to generate a trace file. This is done by setting the OS environment variable FNDSQLCHK to FULL, and running the request from the command line.
Monitoring Pending Requests in the Concurrent Managers
Occasionally, you may find that requests are stacking up in the concurrent managers with a status of "pending". This can be caused by any of these conditions:
1. The concurrent managers were brought down will a request was running.
2. The database was shutdown before shutting down the concurrent managers.
3. There is a shortage of RAM memory or CPU resources.
When you get a backlog of pending requests, you can first allocate more processes to the manager that is having the problem in order to allow most of the requests to process, and then make a list of the requests that will not complete so they can be resubmitted, and cancel them.
To allocate more processes to a manager, log in as a user with the System Administrator responsibility. Navigate to Concurrent -> Manager -> Define. Increase the number in the Processes column (check second picture on this page).
Also, you may not need all the concurrent managers that Oracle supplies with an Oracle Applications install, so you can save resources by identifying the unneeded managers and disabling them.
However, you can still have problems. If the request remains in a phase of RUNNING and a status of TERMINATING after allocating more processes to the manager, then shutdown the concurrent managers, kill any processes from the operating system that won't terminate, and execute the following sqlplus statement as the APPLSYS user to reset the managers in the FND_CONCURRENT_REQUESTS table:
update fnd_concurrent_requests set status_code='X', phase_code='C'where status_code='T';
Changing Dispatching Priority within the Concurrent Manager
(Check first picture on this page) If there are requests that have a higher priority to run over other requests, you can navigate to Concurrent --> Program --> Define to change the priority of a request. If a priority is not set for a request, it will have the same priority as all other requests, or it will be set to the value specified in the user's profile option Concurrent:Priority.
Also, you can specify that a request run using an SQL optimizer mode of FIRST_ROWS, ALL_ROWS, RULE, or CHOOSE, and this can radically effect the performance of the SQL inside the Concurrent request. If several long running requests are submitted together, they can cause fast running requests to have to wait unnecessarily. If this is occurring, try to schedule as many long running requests to run after peak business hours. Additionally, a concurrent manager can be created to run only fast running requests.
Using data Dictionary Scripts with the Concurrent Manager
Few Oracle Applications DBAs understand that sophisticated data dictionary queries can be run to reveal details about the workings within each Concurrent Manager. Oracle provides several internal tables that can be queried from SQL*Plus to see the status of the concurrent requests, and the most important are FND_CONCURRENT_PROGRAMS and FND_CONCURRENT_REQUESTS.
Oracle supplies several useful scripts, (located in $FND_TOP/sql directory), for monitoring the concurrent managers:
afcmstat.sql Displays all the defined managers, their maximum capacity, pids, and their status.
afimchk.sql Displays the status of ICM and PMON method in effect, the ICM's log file, and determines if the concurrent manger monitor is running.
afcmcreq.sql Displays the concurrent manager and the name of its log file that processed a request.
afrqwait.sql Displays the requests that are pending, held, and scheduled.
afrqstat.sql Displays of summary of concurrent request execution time and status since a particular date.
afqpmrid.sql Displays the operating system process id of the FNDLIBR process based on a concurrent request id. The process id can then be used with the ORADEBUG utility.
afimlock.sql Displays the process id, terminal, and process id that may be causing locks that the ICM and CRM are waiting to get. You should run this script if there are long delays when submitting jobs, or if you suspect the ICM is in a gridlock with another oracle process.
In addition to these canned scripts you can skill write custom Concurrent Manager scripts. For example, the following query can be executed to identify requests based on the number of minutes the request ran:
SELECT
fcr.request_id request_id,
TRUNC(((fcr.actual_completion_date-fcr.actual_start_date)/(1/24))*60) exec_time,
fcr.actual_start_date start_date,
fcp.concurrent_program_name conc_prog,
fcpt.user_concurrent_program_name user_conc_prog
FROM
fnd_concurrent_programs fcp,
fnd_concurrent_programs_tl fcpt,
fnd_concurrent_requests fcr
WHERE
TRUNC(((fcr.actual_completion_date-fcr.actual_start_date)/(1/24))*60) > NVL('&min',45)
and
fcr.concurrent_program_id = fcp.concurrent_program_id
and
fcr.program_application_id = fcp.application_id
and
fcr.concurrent_program_id = fcpt.concurrent_program_id
and
fcr.program_application_id = fcpt.application_id
and
fcpt.language = USERENV('Lang')
ORDER BY
TRUNC(((fcr.actual_completion_date-fcr.actual_start_date)/(1/24))*60) desc;
Note that this script prompts you for the number of minutes.
Conclusion
The Oracle Concurrent Managers remain one of Oracle most important components for the Oracle Applications eBusiness suite and they perform an important TP monitor function. It is only by properly understand the functions and tuning of the Concurrent Managers that the Oracle Apps DBA can be successful in keep their sophisticated Applications optimizer for high-performance.
References: Oracle Metalink and sir Burlesons site.
If you have any question please don't hesitate to email me at samiora@gmail.com
This blog article will help administrators to get insight of the concurrent manager and also control over its functionality.
Master Concurrent Managers
There are many concurrent managers in Oracle EBS application like Output Post Processor (related to XML publisher reports), Workflow Agent Listener Service (related to workflow notifications), Workflow Mailer Service (related to workflow notification mailer setup), Workflow Document Web Services Service, etc. But among all these concurrent managers are the three super concurrent managers and they are,
Internal Concurrent Manager — The master manager is called the Internal Concurrent Manager (ICM) because it controls the behavior of all of the other managers, and because the ICM is the boss, it must be running before any other managers can be activated. The main functions of the ICM are to start up and shutdown the individual concurrent managers, and reset the other managers after one of them has a failure.
Standard Manager — Another important master Concurrent Manager is called the Standard Manager (SM). The SM functions to run any reports and batch jobs that have not been defined to run in any specific product manager. Examples of specific concurrent managers include the Inventory Manager, CRP Inquiry Manager, and the Receivables Tax Manager.
Conflict Resolution Manager — The Conflict Resolution Manager (CRM) functions to check concurrent program definitions for incompatibility rules. However, the ICM can be configured to take over the CRM's job to resolve incompatibilities.
Enable Tracing for Concurrent Programs
For troubleshooting purposes if you want to enable tracing for a concurrent program then goto System Administrator-->Concurrent-->Program-->Define-->Here tick the checkbox 'Enable Trace' for the specific concurrent program that you want to generate trace for.

Now let's see as an Apps DBA, how to monitor and Tune the concurrent manager;
Tuning the Internal Concurrent Manager (ICM)
The ICM performance is affected by the three important Oracle parameters PMON cycle, queue size, and sleep time.
PMON cycle — This is the number of sleep cycles that the ICM waits between the time it checks for concurrent managers failures, which defaults to 20. You should change the PMON cycle to a number lower than 20 if your concurrent managers are having problems with abnormal terminations.
Queue Size — The queue size is the number of PMON cycles that the ICM waits between checking for disabled or new concurrent managers. The default for queue size of 1 PMON cycle should be used.
Sleep Time — The sleep time parameter indicates the seconds that the ICM should wait between checking for requests that are waiting to run. The default sleep time is 60, but you can lower this number if you see you have a lot of request waiting (Pending/Normal). However, reducing this number to a very low value many cause excessive cpu utilization.

Purging Concurrent Requests
It is recommended to run this program 'Purge concurrent request/manager data' once every week as a meintenance task. Sometimes some report output files doesn't get deleted so it is required to Set the system profile option "Concurrent: Force Local Output File Mode" to "Yes". You need to apply patch 7530490 for R12 (or) 7834670 for 11i to get this profile.
Refer Note.822368.1: Purge Concurrent Request FNDCPPUR Does Not Delete Files From File System or Slow performance
Note:- The profile option "Concurrent: Force Local Output File Mode" is set to "No" by default. After applying the patch, set the profile option to YES will
cause FNDCPPUR to always access files on the local file system, hence FNDCPPUR will remove the OS files faster.To enable this feature, All Concurrent Manager nodes must be able to access the output file location via the local filesystem.
Ensure that the log/out files are removed from the locations shown below as you run "Purge Concurrent Request and/or Manager Data program".
$APPLCSF/$APPLLOG==>P:\oracle\inst\apps\proderp_prodapp\logs\appl\conc\log $APPLCSF/$APPLOUT==>P:\oracle\inst\apps\proderp_prodapp\logs\appl\conc\out
Truncate the reports.log file in log directory.
Refer Note.844976.1 for more details.
Truncation of file "reports.log" is a regular maintenance work of Application DBA. Make sure that reports log file size should not increase to its maximum limit of 2 GB. There is no purge program to truncate file "reports.log". This maintenance needs to be done manually and regularly depending on number of concurrent program which uses "reports.log". You can safely truncate "reports.log". The "reports.log" file can be located under $APPLCSF/$APPLLOG.
Adjusting the Concurrent Manager Cache Size
Concurrent manager performance can also be enhanced by increasing the manager cache size to be at lease twice the number of target processes. The cache size specifies the number of requests that will be cached each time the concurrent manager reads from the FND_CONCURRENT_REQUESTS table. Increasing the cache size will boost the throughput of the managers by attempting to avoid sleep time.
Analyzing Oracle Apps Dictionary Tables for High Performance
It is also very important to run the request Gather Table Statistics on these tables:
FND_CONCURRENT_PROCESSES
FND_CONCURRENT_PROGRAMS
FND_CONCURRENT_REQUESTS
FND_CONCURRENT_QUEUES.
Run the request "Analyze All Index Column Statistics" on the indexes of these tables. Since the APPLSYS user is the owner of these tables, so you can also just run the request Analyze Schema Statistics for APPLSYS.
To troubleshoot performance, a DBA can use three types of trace. A module trace, such as PO or AR, can be set by enabling the module's profile option Debug Trace from within the applications. Second, most concurrent requests can be set to generate a trace file by changing the request parameters. To enable trace for a specific request, log in as a user with the System Administrator responsibility. Navigate to Concurrent -> Program -> Define. Query for the request that you want to enable trace. In the first picture given above you can check the box Enable Trace.
Another popular way to troubleshoot the Concurrent Managers is to generate a trace file. This is done by setting the OS environment variable FNDSQLCHK to FULL, and running the request from the command line.
Monitoring Pending Requests in the Concurrent Managers
Occasionally, you may find that requests are stacking up in the concurrent managers with a status of "pending". This can be caused by any of these conditions:
1. The concurrent managers were brought down will a request was running.
2. The database was shutdown before shutting down the concurrent managers.
3. There is a shortage of RAM memory or CPU resources.
When you get a backlog of pending requests, you can first allocate more processes to the manager that is having the problem in order to allow most of the requests to process, and then make a list of the requests that will not complete so they can be resubmitted, and cancel them.
To allocate more processes to a manager, log in as a user with the System Administrator responsibility. Navigate to Concurrent -> Manager -> Define. Increase the number in the Processes column (check second picture on this page).
Also, you may not need all the concurrent managers that Oracle supplies with an Oracle Applications install, so you can save resources by identifying the unneeded managers and disabling them.
However, you can still have problems. If the request remains in a phase of RUNNING and a status of TERMINATING after allocating more processes to the manager, then shutdown the concurrent managers, kill any processes from the operating system that won't terminate, and execute the following sqlplus statement as the APPLSYS user to reset the managers in the FND_CONCURRENT_REQUESTS table:
update fnd_concurrent_requests set status_code='X', phase_code='C'where status_code='T';
Changing Dispatching Priority within the Concurrent Manager
(Check first picture on this page) If there are requests that have a higher priority to run over other requests, you can navigate to Concurrent --> Program --> Define to change the priority of a request. If a priority is not set for a request, it will have the same priority as all other requests, or it will be set to the value specified in the user's profile option Concurrent:Priority.
Also, you can specify that a request run using an SQL optimizer mode of FIRST_ROWS, ALL_ROWS, RULE, or CHOOSE, and this can radically effect the performance of the SQL inside the Concurrent request. If several long running requests are submitted together, they can cause fast running requests to have to wait unnecessarily. If this is occurring, try to schedule as many long running requests to run after peak business hours. Additionally, a concurrent manager can be created to run only fast running requests.
Using data Dictionary Scripts with the Concurrent Manager
Few Oracle Applications DBAs understand that sophisticated data dictionary queries can be run to reveal details about the workings within each Concurrent Manager. Oracle provides several internal tables that can be queried from SQL*Plus to see the status of the concurrent requests, and the most important are FND_CONCURRENT_PROGRAMS and FND_CONCURRENT_REQUESTS.
Oracle supplies several useful scripts, (located in $FND_TOP/sql directory), for monitoring the concurrent managers:
afcmstat.sql Displays all the defined managers, their maximum capacity, pids, and their status.
afimchk.sql Displays the status of ICM and PMON method in effect, the ICM's log file, and determines if the concurrent manger monitor is running.
afcmcreq.sql Displays the concurrent manager and the name of its log file that processed a request.
afrqwait.sql Displays the requests that are pending, held, and scheduled.
afrqstat.sql Displays of summary of concurrent request execution time and status since a particular date.
afqpmrid.sql Displays the operating system process id of the FNDLIBR process based on a concurrent request id. The process id can then be used with the ORADEBUG utility.
afimlock.sql Displays the process id, terminal, and process id that may be causing locks that the ICM and CRM are waiting to get. You should run this script if there are long delays when submitting jobs, or if you suspect the ICM is in a gridlock with another oracle process.
In addition to these canned scripts you can skill write custom Concurrent Manager scripts. For example, the following query can be executed to identify requests based on the number of minutes the request ran:
SELECT
fcr.request_id request_id,
TRUNC(((fcr.actual_completion_date-fcr.actual_start_date)/(1/24))*60) exec_time,
fcr.actual_start_date start_date,
fcp.concurrent_program_name conc_prog,
fcpt.user_concurrent_program_name user_conc_prog
FROM
fnd_concurrent_programs fcp,
fnd_concurrent_programs_tl fcpt,
fnd_concurrent_requests fcr
WHERE
TRUNC(((fcr.actual_completion_date-fcr.actual_start_date)/(1/24))*60) > NVL('&min',45)
and
fcr.concurrent_program_id = fcp.concurrent_program_id
and
fcr.program_application_id = fcp.application_id
and
fcr.concurrent_program_id = fcpt.concurrent_program_id
and
fcr.program_application_id = fcpt.application_id
and
fcpt.language = USERENV('Lang')
ORDER BY
TRUNC(((fcr.actual_completion_date-fcr.actual_start_date)/(1/24))*60) desc;
Note that this script prompts you for the number of minutes.
Conclusion
The Oracle Concurrent Managers remain one of Oracle most important components for the Oracle Applications eBusiness suite and they perform an important TP monitor function. It is only by properly understand the functions and tuning of the Concurrent Managers that the Oracle Apps DBA can be successful in keep their sophisticated Applications optimizer for high-performance.
References: Oracle Metalink and sir Burlesons site.
If you have any question please don't hesitate to email me at samiora@gmail.com
Labels:
Oracle Applications ERP
Tuesday, November 1, 2011
How to apply patch when adpatch is running
How to apply patch when adpatch is currently running?
Some times you might apply a patch and during the process the patch failed at some workers, you search on metalink and find out that you need to apply patch in order to solve this failure, here in this case you have two options either to cancel the current patch and apply the fixing patch then reapply the patch again or you can do the following (apply the fixing patch without the need to reapply the first patch and its very helpful when you applying a huge patch).
Steps to do that are:
1. Using the adctrl utility, shutdown the workers.
2. Backup the FND_INSTALL_PROCESSES and AD_DEFERRED_JOBS tables.
3. Backup the .rf9 files located in $APPL_TOP/admin//restart directory.
4. Drop the FND_INSTALL_PROCESSES and AD_DEFERRED_JOBS tables.
5. Apply the new patch. Once this new patch is appiled successfully, then restart the previous failed patch by the following steps.
6. Restore the backed up .rf9 files.
7. Restore the FND_INSTALL_PROCESSES table.
8. Restore the AD_DEFERRED_JOBS table.
9. Re-create synonyms for APPLSYS.AD_DEFERRED_JOBS and APPLSYS.FND_INSTALL_PROCESSES.
10. Start adpatch, it will resume where it stopped previously.
If you need any assistance please don't hesitate to email me [samiora@gmail.com]
Some times you might apply a patch and during the process the patch failed at some workers, you search on metalink and find out that you need to apply patch in order to solve this failure, here in this case you have two options either to cancel the current patch and apply the fixing patch then reapply the patch again or you can do the following (apply the fixing patch without the need to reapply the first patch and its very helpful when you applying a huge patch).
Steps to do that are:
1. Using the adctrl utility, shutdown the workers.
2. Backup the FND_INSTALL_PROCESSES and AD_DEFERRED_JOBS tables.
3. Backup the .rf9 files located in $APPL_TOP/admin//restart directory.
4. Drop the FND_INSTALL_PROCESSES and AD_DEFERRED_JOBS tables.
5. Apply the new patch. Once this new patch is appiled successfully, then restart the previous failed patch by the following steps.
6. Restore the backed up .rf9 files.
7. Restore the FND_INSTALL_PROCESSES table.
8. Restore the AD_DEFERRED_JOBS table.
9. Re-create synonyms for APPLSYS.AD_DEFERRED_JOBS and APPLSYS.FND_INSTALL_PROCESSES.
10. Start adpatch, it will resume where it stopped previously.
If you need any assistance please don't hesitate to email me [samiora@gmail.com]
Labels:
Oracle Applications ERP
Sunday, October 16, 2011
Linux Logical Volume Manager LVM
PARTITION--->PHYSICAL VOLUME ---> VOLUME GROUP ---> LOGICAL VOLUME
-> LVM is a method of allocating hard drive space into logical volumes that can be easily resized.
-> With LVM, the hard drive or set of hard drives is allocated to one or more Physical Volumes.
-> The Physical volume PV are then combined into Volume Groups VG.
Steps for creating normal volumes
1. Create partition
# fdisk /dev/sda
:l <- this gives all ID's i.e. list all known partion types
:t <- to change partition's system ID
:9 <- example partion number to be created
:8e <- 'linux LVM' system partion type code
:p <- print the partition table
:w <- write talbe to disk and exit
The above steps create a new partition with 'linux LVM' type.
2. Check and create physical volumes
[root@dregpodb /]# pvdisplay
--- Physical volume ---
PV Name /dev/dm-8
VG Name vg01
PV Size 150.00 GB / not usable 4.00 MB
Allocatable yes (but full)
PE Size (KByte) 4096
Total PE 38399
Free PE 0
Allocated PE 38399
PV UUID kuEpoH-xXL0-c7LU-Vf6Q-7Uj7-xxKn-MmmZLV
--- Physical volume ---
PV Name /dev/cciss/c0d0p2
VG Name vg00
PV Size 136.20 GB / not usable 14.56 MB
Allocatable yes
PE Size (KByte) 32768
Total PE 4358
Free PE 102
Allocated PE 4256
PV UUID 12osfI-bJBr-NtUy-0mo7-j3ZD-Aeqx-9m0N3P
[root@dregpodb /]#pvcreate /dev/dm-9
[root@dregpodb /]# pvdisplay
--- Physical volume ---
PV Name /dev/dm-9
VG Name vg02
PV Size 100.00 GB / not usable 4.00 MB
Allocatable yes (but full)
PE Size (KByte) 4096
Total PE 25599
Free PE 0
Allocated PE 25599
PV UUID 6Mjkim-P13j-Afu2-pUE7-E4l2-VfyB-dZ68VE
--- Physical volume ---
PV Name /dev/dm-8
VG Name vg01
PV Size 150.00 GB / not usable 4.00 MB
Allocatable yes (but full)
PE Size (KByte) 4096
Total PE 38399
Free PE 0
Allocated PE 38399
PV UUID kuEpoH-xXL0-c7LU-Vf6Q-7Uj7-xxKn-MmmZLV
--- Physical volume ---
PV Name /dev/cciss/c0d0p2
VG Name vg00
PV Size 136.20 GB / not usable 14.56 MB
Allocatable yes
PE Size (KByte) 32768
Total PE 4358
Free PE 102
Allocated PE 4256
PV UUID 12osfI-bJBr-NtUy-0mo7-j3ZD-Aeqx-9m0N3P
3. Volume Group creation
#vgcreate vg02 /dev/dm-9
[root@dregpodb /]# vgdisplay
--- Volume group ---
VG Name vg02
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 1
Act PV 1
VG Size 100.00 GB
PE Size 4.00 MB
Total PE 25599
Alloc PE / Size 25599 / 100.00 GB
Free PE / Size 0 / 0
VG UUID LdtcHj-g26p-BSRu-g9Wi-vcqj-dQki-nGoM2e
--- Volume group ---
VG Name vg01
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 1
Act PV 1
VG Size 150.00 GB
PE Size 4.00 MB
Total PE 38399
Alloc PE / Size 38399 / 150.00 GB
Free PE / Size 0 / 0
VG UUID dhdeBn-kdIP-frWp-gODa-9X6f-0dW7-rOAmzQ
--- Volume group ---
VG Name vg00
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 9
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 8
Open LV 8
Max PV 0
Cur PV 1
Act PV 1
VG Size 136.19 GB
PE Size 32.00 MB
Total PE 4358
Alloc PE / Size 4256 / 133.00 GB
Free PE / Size 102 / 3.19 GB
VG UUID JYPuCP-9ezo-hg8v-pvE9-1GAL-8o4F-UhezPC
4. Logical Volume Creation
# lvcreate -L 100g /dev/vg02 -n /dev/vg02/lvol01
[root@dregpodb /]# lvdisplay -v
Finding all logical volumes
--- Logical volume ---
LV Name /dev/vg02/lvol01
VG Name vg02
LV UUID T5EIW5-OiIS-WhvA-Wp0d-X0mL-4tKF-GxXY4u
LV Write Access read/write
LV Status available
# open 2
LV Size 100.00 GB
Current LE 25599
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:10
5. Format and mount logical volumes
#mkfs.ext3 /dev/vg02/lvol01
#mkdir /u01
#mount /dev/vg02/lvol01 /u01
#df -h
[root@dregpodb /]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg00-lvol01
9.7G 435M 8.8G 5% /
/dev/mapper/vg00-lvol04
12G 3.4G 7.7G 31% /usr
/dev/mapper/vg00-lvol03
9.7G 157M 9.1G 2% /home
/dev/mapper/vg00-lvol05
9.7G 336M 8.9G 4% /var
/dev/mapper/vg00-lvol08
49G 42G 4.1G 92% /u03
/dev/mapper/vg00-lvol07
9.7G 187M 9.1G 2% /tmp
/dev/mapper/vg00-lvol06
15G 320M 14G 3% /opt
/dev/cciss/c0d0p1 487M 21M 441M 5% /boot
tmpfs 3.9G 0 3.9G 0% /dev/shm
/dev/mapper/vg01-lvol0
148G 33G 108G 24% /u02
/dev/mapper/vg02-lvol01
99G 42G 52G 45% /u01
6. Resizing the logical volume
#lvresize -L +50g /dev/vg02/lvol01 <-This will add 50g to existing 100g size
#resize2fs /dev/vg02/lvol01 <-This will update the kernel with changes
7. Extending size of a volume group
#vgdisplay
#vgextend /dev/vg02 /dev/sda12
#vgdisplay
To check graphically about volumes use the following tool,
#system-config-lvm &
--------Additional commands------------
eject <-- To eject cd-rom device
eject -t <-- To insert the cd-rom device
init 6 <-- to reboot server
hwbrowser &<-- To view available free space of a disk
df -h <-- To view free space in a partition
du -sh <--- To view total amount of used space in a partition directory
e2label /dev/sda8 sami <-- To add a lable
e2label /dev/sda8 "" <-- To remove a lable
mkfs.etc3 L sami /dev/sda8 <-- format the partition and add a lable
-> LVM is a method of allocating hard drive space into logical volumes that can be easily resized.
-> With LVM, the hard drive or set of hard drives is allocated to one or more Physical Volumes.
-> The Physical volume PV are then combined into Volume Groups VG.
Steps for creating normal volumes
1. Create partition
# fdisk /dev/sda
:l <- this gives all ID's i.e. list all known partion types
:t <- to change partition's system ID
:9 <- example partion number to be created
:8e <- 'linux LVM' system partion type code
:p <- print the partition table
:w <- write talbe to disk and exit
The above steps create a new partition with 'linux LVM' type.
2. Check and create physical volumes
[root@dregpodb /]# pvdisplay
--- Physical volume ---
PV Name /dev/dm-8
VG Name vg01
PV Size 150.00 GB / not usable 4.00 MB
Allocatable yes (but full)
PE Size (KByte) 4096
Total PE 38399
Free PE 0
Allocated PE 38399
PV UUID kuEpoH-xXL0-c7LU-Vf6Q-7Uj7-xxKn-MmmZLV
--- Physical volume ---
PV Name /dev/cciss/c0d0p2
VG Name vg00
PV Size 136.20 GB / not usable 14.56 MB
Allocatable yes
PE Size (KByte) 32768
Total PE 4358
Free PE 102
Allocated PE 4256
PV UUID 12osfI-bJBr-NtUy-0mo7-j3ZD-Aeqx-9m0N3P
[root@dregpodb /]#pvcreate /dev/dm-9
[root@dregpodb /]# pvdisplay
--- Physical volume ---
PV Name /dev/dm-9
VG Name vg02
PV Size 100.00 GB / not usable 4.00 MB
Allocatable yes (but full)
PE Size (KByte) 4096
Total PE 25599
Free PE 0
Allocated PE 25599
PV UUID 6Mjkim-P13j-Afu2-pUE7-E4l2-VfyB-dZ68VE
--- Physical volume ---
PV Name /dev/dm-8
VG Name vg01
PV Size 150.00 GB / not usable 4.00 MB
Allocatable yes (but full)
PE Size (KByte) 4096
Total PE 38399
Free PE 0
Allocated PE 38399
PV UUID kuEpoH-xXL0-c7LU-Vf6Q-7Uj7-xxKn-MmmZLV
--- Physical volume ---
PV Name /dev/cciss/c0d0p2
VG Name vg00
PV Size 136.20 GB / not usable 14.56 MB
Allocatable yes
PE Size (KByte) 32768
Total PE 4358
Free PE 102
Allocated PE 4256
PV UUID 12osfI-bJBr-NtUy-0mo7-j3ZD-Aeqx-9m0N3P
3. Volume Group creation
#vgcreate vg02 /dev/dm-9
[root@dregpodb /]# vgdisplay
--- Volume group ---
VG Name vg02
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 1
Act PV 1
VG Size 100.00 GB
PE Size 4.00 MB
Total PE 25599
Alloc PE / Size 25599 / 100.00 GB
Free PE / Size 0 / 0
VG UUID LdtcHj-g26p-BSRu-g9Wi-vcqj-dQki-nGoM2e
--- Volume group ---
VG Name vg01
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 1
Act PV 1
VG Size 150.00 GB
PE Size 4.00 MB
Total PE 38399
Alloc PE / Size 38399 / 150.00 GB
Free PE / Size 0 / 0
VG UUID dhdeBn-kdIP-frWp-gODa-9X6f-0dW7-rOAmzQ
--- Volume group ---
VG Name vg00
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 9
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 8
Open LV 8
Max PV 0
Cur PV 1
Act PV 1
VG Size 136.19 GB
PE Size 32.00 MB
Total PE 4358
Alloc PE / Size 4256 / 133.00 GB
Free PE / Size 102 / 3.19 GB
VG UUID JYPuCP-9ezo-hg8v-pvE9-1GAL-8o4F-UhezPC
4. Logical Volume Creation
# lvcreate -L 100g /dev/vg02 -n /dev/vg02/lvol01
[root@dregpodb /]# lvdisplay -v
Finding all logical volumes
--- Logical volume ---
LV Name /dev/vg02/lvol01
VG Name vg02
LV UUID T5EIW5-OiIS-WhvA-Wp0d-X0mL-4tKF-GxXY4u
LV Write Access read/write
LV Status available
# open 2
LV Size 100.00 GB
Current LE 25599
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:10
5. Format and mount logical volumes
#mkfs.ext3 /dev/vg02/lvol01
#mkdir /u01
#mount /dev/vg02/lvol01 /u01
#df -h
[root@dregpodb /]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg00-lvol01
9.7G 435M 8.8G 5% /
/dev/mapper/vg00-lvol04
12G 3.4G 7.7G 31% /usr
/dev/mapper/vg00-lvol03
9.7G 157M 9.1G 2% /home
/dev/mapper/vg00-lvol05
9.7G 336M 8.9G 4% /var
/dev/mapper/vg00-lvol08
49G 42G 4.1G 92% /u03
/dev/mapper/vg00-lvol07
9.7G 187M 9.1G 2% /tmp
/dev/mapper/vg00-lvol06
15G 320M 14G 3% /opt
/dev/cciss/c0d0p1 487M 21M 441M 5% /boot
tmpfs 3.9G 0 3.9G 0% /dev/shm
/dev/mapper/vg01-lvol0
148G 33G 108G 24% /u02
/dev/mapper/vg02-lvol01
99G 42G 52G 45% /u01
6. Resizing the logical volume
#lvresize -L +50g /dev/vg02/lvol01 <-This will add 50g to existing 100g size
#resize2fs /dev/vg02/lvol01 <-This will update the kernel with changes
7. Extending size of a volume group
#vgdisplay
#vgextend /dev/vg02 /dev/sda12
#vgdisplay
To check graphically about volumes use the following tool,
#system-config-lvm &
--------Additional commands------------
eject <-- To eject cd-rom device
eject -t <-- To insert the cd-rom device
init 6 <-- to reboot server
hwbrowser &<-- To view available free space of a disk
df -h <-- To view free space in a partition
du -sh <--- To view total amount of used space in a partition directory
e2label /dev/sda8 sami <-- To add a lable
e2label /dev/sda8 "" <-- To remove a lable
mkfs.etc3 L sami /dev/sda8 <-- format the partition and add a lable
Sunday, September 11, 2011
Oracle EBS r12 troubleshooting & useful notes
1. Canceling of concurrent Request Gives “the concurrent manager process that was running this request has exited abnormally “
Some times we get a Request from customers that they are unable to cancel the request because of this error
“the concurrent manager process that was running this request has exited abnormally .The ICM will mark this request as completed with error.”"
How to navigate :
=-=-==-=-=-=-=-=-=-==
Tried to Cancel a concurrent request. Used the “Cancel Request” button from the Administer > Concurrent > Manager form.
Got the following message:
Request xxxxxx can no longer be cancelled. The Concurrent Manager Process that was running this request has exited abnormally. The ICM will mark this request as completed with error.
Solution
======
This can be safely done while managers are up and running with little care
1) Backup fnd_concurrent_requests table
2) SQL> UPDATE fnd_concurrent_requests
SET phase_code = ‘C’, status_code = ‘X’
WHERE Request_id=&request_id
Here Request id is the request which we want to cancel….
3) Commit
------------------------------------------------------------------------------------------------
2. Oracle EBS r12 Diagnostic Tests.
To execute a diagnostic test for,
Log File Test
DBC Parameter Test
Class Path Test
Java Run-Time Environment Version Test
Java System Property Report test
Go to 'system administrator' responsibility--->Under 'System Administration: Diagnostics'--->Click 'Diagnostic Test'-->Here run all tests under application "HTML Platform".
In the Report output under 'View Reports' tab you can see the result of the above tests. For example it includes, what the current guest username is set to and if it is successfully authenticated (this is displayed in the value "Diagnostic Test Executed By" in the report output).
-------------------------------------------------------------------------------------------
3. what is the usage & Contents of .dbc file in 11i/R12
dbc is the database connect descriptor file that stores database connection information used by application tier to connect to the database.
The file is found in $FND_TOP/secure directory also called as FND_SECURE.
Location of .dbc file in 11i is: $FND_TOP/SECURE OR $FND_SECURE
Location of .dbc file in R12 is: $INST_TOP/appl/fnd/12.0.0/secure
If we interpret .dbc file it contains the following,
GUEST_USER_PWD – Guest username & password
APPL_SERVER_ID – Used to Identify the Databse by Server ID, this ID is also stored in SERVER_ID column of FND_NODES table.
GWYUID – APPLSYSPUB user name and password
DBhostname - DB server name
dbport - Database Listener Port number
Other than these, the following are some other parameters with their default values, these are related to the Performance,
FND_JDBC_BUFFER_DECAY_INTERVAL=300
FND_JDBC_BUFFER_MIN=1
FND_JDBC_BUFFER_MAX=5
FND_JDBC_STMT_CACHE_FREE_MEM=TRUE
FND_JDBC_STMT_CACHE_SIZE=200
FND_MAX_JDBC_CONNECTIONS=500
FND_JDBC_USABLE_CHECK=false
FNDNAM=APPS
FND_JDBC_PLSQL_RESET=false
FND_JDBC_CONTEXT_CHECK=true
FND_JDBC_BUFFER_DECAY_SIZE=5
--------------------------------------------------------------------------------------
4. How to drop/delete an application user
We can only deactivate or end-date the application user in Oracle EBS using the application front end. While we cannot delete an application user, but if you try to delete it from the database then it might crash the system and more over it is not supported by oracle.
To deactivate or end-date the application user you can use any one of the following methods,
Method I:
—————
Login to Oracle Applications – Goto System Administrator responsibility – Under 'Security' – User – Define – Search user name – then you can give end date in the Effectives Date To column.
Method II:
=======
It's always recommended to use the above method to end-date/deactivate application user.
Even though the following method is not supported by oracle support, End-dating the user from backend database is also possible with the following steps, This is also mentioned in Note 1039608.6
Login as 'APPS' database user. Then take a backup of fnd_user table just in case if any issue comes then you can restore this table instead of the whole database restore.
SQL>CREATE TABLE BKUP_FND_USER AS SELECT * FROM FND_USER;
SQL>update fnd_user set end_date='27-JUL-2011' where user_name like ‘%%’;
-------------------------------------------------------------------------
5. How to know the Oracle Ebusiness Suite 11i / r12 application URL?
select home_url from apps.icx_parameters;
or
grep -i login $APPL_TOP/admin/Context_name.xml
----------------------------------------------
6. fnd_install_processes & ad_deferred_jobs tables
When a patch is applied using adpatch it will ask number of workers. These workers are used to run some task like executing some perl scripts, running sql scripts, etc.
If u check in the patch log file before assigning any job to workers the two tables fnd_install_processes and ad_deferred_jobs are created.
After the job is finished the tables are dropped automatically. The following is the purpose of these tables,
fnd_install_processes – This table is used to store the information about the job given to the worker. It will insert a row for each worker when it assigned a job.
ad_deferred_jobs – this table is used to store the information about the deferred jobs (jobs failed to run).
---------------------------------------------
7. Steps to manually stage r12 software
make a directory stage
in that (mkdir stage)
copy the start cd (mkdir startCD) -> startCD
copy the Tools-Disk1(mkdir oraiAS) ->oraiAS
copy the RDBMS Disk1 (mkdir oraDB) -> oraDB
copy the Databases disk1,disk2,disk3,disk4 (mkdir oraAppDB) ->oraAppDB
copy the APPL_TOP dis1 and 2 to (mkdir oraApps) -> oraApps
The automatic staging command is,
perl d:\mnt\cdrom\Disk1\rapidwiz\adautostg.pl
The stage script message informs you that you may either stage all the Rapid Installcomponents, or selected components only.
--------------------------------------------
8. Oracle Applications Current Patchsets Comparison Utility (Script to Analyze) Patchsets.sh
The program (Patchsets.sh) compares the currently installed patchsets and family packs to the most recently available ones generated by Oracle Development.
NOTE: The patchsets.sh program is frequently updated by the Oracle development team with the latest patchsets data in it.
So, this means that you need to get the latest version to get an up-to-date report.
*Download the latest Patchsets.sh script from: ftp://ftp.oracle.com/support/outgoing/PATCHSET_COMPARE_TOOL/patchsets.sh
*Also refer to metalink note ID 139684.1 for latest updates and how to run this program, the steps to run this program is compiled in short form.
This program utilizes direct database connectivity or the applptch.txt file for 10.7-11.0. For 11i and R12, it utilizes a combination of tables such as AD_BUGS and AD_APPLIED_PATCHES to create the installed patch list. If the 11i release does not use these AD tables (11.5.4 or lower and have not applied 11i.AD.E or higher) it still supports using applptch.txt for 11i.
Setup Requirements:
Must have connectivity to EBS database via sql*net with $TWO_TASK set
Source $APPL_TOP/APPSxx.env file or just setup database env such as ORACLE_HOME and TWO_TASK
Running the Patchsets Comparison Tool:
•11i - $ . $APPL_TOP/APPSORA.env
•R12 - $ . $APPL_TOP/APPS{sid}_{machine}.env
Note: As long as you can connect with sqlplus and $TWO_TASK, the script should have the access it needs.
Usage: $ patchsets.sh [connect=11i_login/pwapplptch=/path/applptch.txt] [-h] [silent=y] default is n, [htmlout=file]
Example Help:
$ patchsets.sh -h
Example Html Output in Silent Mode:
$ ./patchsets.sh applptch=/applptch_11i.txt htmlout=Report.html silent=y
$ ./patchsets.sh connect=apps/apps_password_here htmlout=xxReport.html
Columns in The Output of script:
Baseline Version: This is the baseline release version that come with EBS release
Running Version: This is The Current High Level Code running on instance..or currrent patch level
Latest AvailableStatus: THis Is the Latest Patches Available from The ORACLE for that module…
Platform Specific Issues:
TO RUN UNDER NT with MKS:
--> Get to the drive where the appl_top is.
C:> D:
D:\>
Make a tmp directory on that drives root.
D:> mkdir tmp (this is where the patchset lists get created)
--> cd to the APPL_TOP path and then execute the envshell to setup the env variables.
D:\> cd D:\apps\visappl
D:\apps\visappl> envshell
A new window spawns with the correct env settings, use it for next step
-->Start the MKS SHELL,
D:\apps\visappl> sh
$
--> Run the patchsets program from the APPL_TOP/admin/ directory
$ cd /admin/VIS
$ ./patchsets.sh applptch=applptch.txt
NOTE: Download the Patchsets.sh script from: ftp://ftp.oracle.com/support/outgoing/PATCHSET_COMPARE_TOOL/patchsets.sh
NOTE: Also you can get this script from metalink note : Oracle Applications Current Patchset Comparison Utility – patchsets.sh [ID 139684.1]
Some times we get a Request from customers that they are unable to cancel the request because of this error
“the concurrent manager process that was running this request has exited abnormally .The ICM will mark this request as completed with error.”"
How to navigate :
=-=-==-=-=-=-=-=-=-==
Tried to Cancel a concurrent request. Used the “Cancel Request” button from the Administer > Concurrent > Manager form.
Got the following message:
Request xxxxxx can no longer be cancelled. The Concurrent Manager Process that was running this request has exited abnormally. The ICM will mark this request as completed with error.
Solution
======
This can be safely done while managers are up and running with little care
1) Backup fnd_concurrent_requests table
2) SQL> UPDATE fnd_concurrent_requests
SET phase_code = ‘C’, status_code = ‘X’
WHERE Request_id=&request_id
Here Request id is the request which we want to cancel….
3) Commit
------------------------------------------------------------------------------------------------
2. Oracle EBS r12 Diagnostic Tests.
To execute a diagnostic test for,
Log File Test
DBC Parameter Test
Class Path Test
Java Run-Time Environment Version Test
Java System Property Report test
Go to 'system administrator' responsibility--->Under 'System Administration: Diagnostics'--->Click 'Diagnostic Test'-->Here run all tests under application "HTML Platform".
In the Report output under 'View Reports' tab you can see the result of the above tests. For example it includes, what the current guest username is set to and if it is successfully authenticated (this is displayed in the value "Diagnostic Test Executed By" in the report output).
-------------------------------------------------------------------------------------------
3. what is the usage & Contents of .dbc file in 11i/R12
dbc is the database connect descriptor file that stores database connection information used by application tier to connect to the database.
The file is found in $FND_TOP/secure directory also called as FND_SECURE.
Location of .dbc file in 11i is: $FND_TOP/SECURE OR $FND_SECURE
Location of .dbc file in R12 is: $INST_TOP/appl/fnd/12.0.0/secure
If we interpret .dbc file it contains the following,
GUEST_USER_PWD – Guest username & password
APPL_SERVER_ID – Used to Identify the Databse by Server ID, this ID is also stored in SERVER_ID column of FND_NODES table.
GWYUID – APPLSYSPUB user name and password
DBhostname - DB server name
dbport - Database Listener Port number
Other than these, the following are some other parameters with their default values, these are related to the Performance,
FND_JDBC_BUFFER_DECAY_INTERVAL=300
FND_JDBC_BUFFER_MIN=1
FND_JDBC_BUFFER_MAX=5
FND_JDBC_STMT_CACHE_FREE_MEM=TRUE
FND_JDBC_STMT_CACHE_SIZE=200
FND_MAX_JDBC_CONNECTIONS=500
FND_JDBC_USABLE_CHECK=false
FNDNAM=APPS
FND_JDBC_PLSQL_RESET=false
FND_JDBC_CONTEXT_CHECK=true
FND_JDBC_BUFFER_DECAY_SIZE=5
--------------------------------------------------------------------------------------
4. How to drop/delete an application user
We can only deactivate or end-date the application user in Oracle EBS using the application front end. While we cannot delete an application user, but if you try to delete it from the database then it might crash the system and more over it is not supported by oracle.
To deactivate or end-date the application user you can use any one of the following methods,
Method I:
—————
Login to Oracle Applications – Goto System Administrator responsibility – Under 'Security' – User – Define – Search user name – then you can give end date in the Effectives Date To column.
Method II:
=======
It's always recommended to use the above method to end-date/deactivate application user.
Even though the following method is not supported by oracle support, End-dating the user from backend database is also possible with the following steps, This is also mentioned in Note 1039608.6
Login as 'APPS' database user. Then take a backup of fnd_user table just in case if any issue comes then you can restore this table instead of the whole database restore.
SQL>CREATE TABLE BKUP_FND_USER AS SELECT * FROM FND_USER;
SQL>update fnd_user set end_date='27-JUL-2011' where user_name like ‘%
-------------------------------------------------------------------------
5. How to know the Oracle Ebusiness Suite 11i / r12 application URL?
select home_url from apps.icx_parameters;
or
grep -i login $APPL_TOP/admin/Context_name.xml
----------------------------------------------
6. fnd_install_processes & ad_deferred_jobs tables
When a patch is applied using adpatch it will ask number of workers. These workers are used to run some task like executing some perl scripts, running sql scripts, etc.
If u check in the patch log file before assigning any job to workers the two tables fnd_install_processes and ad_deferred_jobs are created.
After the job is finished the tables are dropped automatically. The following is the purpose of these tables,
fnd_install_processes – This table is used to store the information about the job given to the worker. It will insert a row for each worker when it assigned a job.
ad_deferred_jobs – this table is used to store the information about the deferred jobs (jobs failed to run).
---------------------------------------------
7. Steps to manually stage r12 software
make a directory stage
in that (mkdir stage)
copy the start cd (mkdir startCD) -> startCD
copy the Tools-Disk1(mkdir oraiAS) ->oraiAS
copy the RDBMS Disk1 (mkdir oraDB) -> oraDB
copy the Databases disk1,disk2,disk3,disk4 (mkdir oraAppDB) ->oraAppDB
copy the APPL_TOP dis1 and 2 to (mkdir oraApps) -> oraApps
The automatic staging command is,
perl d:\mnt\cdrom\Disk1\rapidwiz\adautostg.pl
The stage script message informs you that you may either stage all the Rapid Installcomponents, or selected components only.
--------------------------------------------
8. Oracle Applications Current Patchsets Comparison Utility (Script to Analyze) Patchsets.sh
The program (Patchsets.sh) compares the currently installed patchsets and family packs to the most recently available ones generated by Oracle Development.
NOTE: The patchsets.sh program is frequently updated by the Oracle development team with the latest patchsets data in it.
So, this means that you need to get the latest version to get an up-to-date report.
*Download the latest Patchsets.sh script from: ftp://ftp.oracle.com/support/outgoing/PATCHSET_COMPARE_TOOL/patchsets.sh
*Also refer to metalink note ID 139684.1 for latest updates and how to run this program, the steps to run this program is compiled in short form.
This program utilizes direct database connectivity or the applptch.txt file for 10.7-11.0. For 11i and R12, it utilizes a combination of tables such as AD_BUGS and AD_APPLIED_PATCHES to create the installed patch list. If the 11i release does not use these AD tables (11.5.4 or lower and have not applied 11i.AD.E or higher) it still supports using applptch.txt for 11i.
Setup Requirements:
Must have connectivity to EBS database via sql*net with $TWO_TASK set
Source $APPL_TOP/APPSxx.env file or just setup database env such as ORACLE_HOME and TWO_TASK
Running the Patchsets Comparison Tool:
•11i - $ . $APPL_TOP/APPSORA.env
•R12 - $ . $APPL_TOP/APPS{sid}_{machine}.env
Note: As long as you can connect with sqlplus and $TWO_TASK, the script should have the access it needs.
Usage: $ patchsets.sh [connect=11i_login/pwapplptch=/path/applptch.txt] [-h] [silent=y] default is n, [htmlout=file]
Example Help:
$ patchsets.sh -h
Example Html Output in Silent Mode:
$ ./patchsets.sh applptch=/applptch_11i.txt htmlout=Report.html silent=y
$ ./patchsets.sh connect=apps/apps_password_here htmlout=xxReport.html
Columns in The Output of script:
Baseline Version: This is the baseline release version that come with EBS release
Running Version: This is The Current High Level Code running on instance..or currrent patch level
Latest AvailableStatus: THis Is the Latest Patches Available from The ORACLE for that module…
Platform Specific Issues:
TO RUN UNDER NT with MKS:
--> Get to the drive where the appl_top is.
C:> D:
D:\>
Make a tmp directory on that drives root.
D:> mkdir tmp (this is where the patchset lists get created)
--> cd to the APPL_TOP path and then execute the envshell to setup the env variables.
D:\> cd D:\apps\visappl
D:\apps\visappl> envshell
A new window spawns with the correct env settings, use it for next step
-->Start the MKS SHELL,
D:\apps\visappl> sh
$
--> Run the patchsets program from the APPL_TOP/admin/ directory
$ cd /admin/VIS
$ ./patchsets.sh applptch=applptch.txt
NOTE: Download the Patchsets.sh script from: ftp://ftp.oracle.com/support/outgoing/PATCHSET_COMPARE_TOOL/patchsets.sh
NOTE: Also you can get this script from metalink note : Oracle Applications Current Patchset Comparison Utility – patchsets.sh [ID 139684.1]
Labels:
Oracle Applications ERP
Subscribe to:
Posts (Atom)