Showing posts with label Sasikumar Maruthachalam. Show all posts
Showing posts with label Sasikumar Maruthachalam. Show all posts

Monday, January 11, 2010

RAC Online Training URL from Oracle University

Hi Reader,

Sharing the following RAC online training URLs from Oracle University,

RAC & ASM - http://oukc.oracle.com/static05/opn/oracle9i_database/40168/053107_40168_source/index.htm

RAC Tuning Steps : http://oukc.oracle.com/static05/opn/oracle9i_database/49466/040908_49466_source/index.htm

RAC Beginners : http://oukc.oracle.com/static05/opn/oracle9i_database/64339/120408_64339_source/index.htm

RAC Internels :  http://oukc.oracle.com/static05/opn/oracle9i_database/40168/053107_40168_source/index.htm

Comments are welcome !!!

- Thanks.

Concurrent Manager issue ( Actual 0, Target 1 ) in R12

Dear Reader,

Today, One of my application user reported that the workflow services were down on TEST instance.

When I checked through OAM ( System Administrator --> OAM --> Workflow Manager ), I saw all service components are down.

Then, I checked in Concurrent Administrator window, I saw all Workflow managers ( ie. Workflow Notification Mailer, Workflow Agent Listener,Workflow Document Web Services Service ) were having their actul value as 0 and target value as 1.

I have tried with Restarting Workflow managers one by one, Activating and Deactivating the managers. But still issue was persist. So, many of the notes suggested to run cmclean.sql and bounce entire CM services.

Finally, I have decided to fix this issue without bouncing any services. I have completely reviewed the CMCLEAN.sql and execute the following update statements manually for all the WF Managers,


-- Updating process value as Zero

UPDATE  fnd_concurrent_queues
SET     running_processes = 0, max_processes = 0
where    concurrent_queue_name in ('WFWSSVC','WFALSNRSVC','WFMLRSVC');

-- Updating Control code with NULL

UPDATE  fnd_concurrent_queues
SET     control_code = NULL
WHERE   concurrent_queue_name in ('WFWSSVC','WFALSNRSVC','WFMLRSVC')
AND    control_code not in ('E', 'R', 'X')
AND     control_code IS NOT NULL;

-- Making Target node as Null

UPDATE  fnd_concurrent_queues
SET     target_node = null
where   concurrent_queue_name in ('WFWSSVC','WFALSNRSVC','WFMLRSVC');

commit;


After making these updates statements, Immediately Internal manager brought up all Workflow managers with actual and target value as 1 and all service components showed as UP in OAM.

Same update statements I have performed for "Output Post Processor" concurrent manager and this also fixed.

Finally I have ignored the bouncing of ICM Services. :)

You can also do the same and update your comments here.

Thanks once again for visiting our blog !!!

Sunday, January 3, 2010

Hot Backup

Dear Friends,

From long back, I have doubt on What exactly happening when Database is in HOT BACKUP mode ?

Here we have explaniation for this,

 - When an 'alter tablespace begin backup' command is issued the datafiles that belong to the tablespace are marked as hot-backup-in-progress. 

 - The dirty databuffers in the database buffer cache that belong to the database files are written out to the files and the datafiles are checkpointed. 

 - The datafile headers are updated to the SCN captured when the begin backup is issued. 

 - The datafile headers are not updated until the 'alter tablespace end backup' command is issued;

 - However, the datablock within the database files can continue to be read and updated. 

 - When the datafile is restored from a hot backup, the recovery will begin from the SCN captured during the begin backup is issued. 

 - All changes applied during the hot backup time period will be rolled forward from the redo logs.

Hope this information will clear all our doubts.

Friday, January 1, 2010

OPatch - Prerequisite check "CheckRollbackable" on auto-rollback patches failed.

Hello Friends,

Today, I faced the following OPATCH issue when I tried to apply the patch 8450774.

/oracle/product/10.2.0.4/TEST01/PATCHES/8450774 > opatch apply -invPtrLoc $ORACLE_HOME/oraInst.loc
Invoking OPatch 10.2.0.4.3

Oracle Interim Patch Installer version 10.2.0.4.3
Copyright (c) 2007, Oracle Corporation.  All rights reserved.


Oracle Home       : /oracle/product/10.2.0.4/TEST01
Central Inventory : /oracle/product/10.2.0.4/TEST01/oraInventory
   from           : /oracle/product/10.2.0.4/TEST01/oraInst.loc
OPatch version    : 10.2.0.4.3
OUI version       : 10.2.0.4.0
OUI location      : /oracle/product/10.2.0.4/TEST01/oui
Log file location : /oracle/product/10.2.0.4/TEST01/cfgtoollogs/opatch/opatch2009-12-07_09-55-44AM.log

ApplySession applying interim patch '8450774' to OH '/oracle/product/10.2.0.4/TEST01'
Interim patch 8450774 is a superset of the patch(es) [  7263055 ] in OH /oracle/product/10.2.0.4/TEST01
OPatch will rollback the subset patches and apply the given patch.

Running prerequisite checks...
Prerequisite check "CheckRollbackable" on auto-rollback patches failed.
The details are:

Patch 7263055:
Archive Action: Source file "/oracle/product/10.2.0.4/TEST01/.patch_storage/7263055_Jul_21_2008_01_37_17/files/lib/libserver10.a/kwqmn.o" does not exist.
'oracle.rdbms, 10.2.0.4.0': Cannot update file '/oracle/product/10.2.0.4/TEST01/lib/libserver10.a' with '/kwqmn.o'
Archive Action: Source file "/oracle/product/10.2.0.4/TEST01/.patch_storage/7263055_Jul_21_2008_01_37_17/files/lib/libserver10.a/knlp.o" does not exist.
'oracle.rdbms, 10.2.0.4.0': Cannot update file '/oracle/product/10.2.0.4/TEST01/lib/libserver10.a' with '/knlp.o'
Archive Action: Source file "/oracle/product/10.2.0.4/TEST01/.patch_storage/7263055_Jul_21_2008_01_37_17/files/lib/libserver10.a/kwqa.o" does not exist.
'oracle.rdbms, 10.2.0.4.0': Cannot update file '/oracle/product/10.2.0.4/TEST01/lib/libserver10.a' with '/kwqa.o'
Archive Action: Source file "/oracle/product/10.2.0.4/TEST01/.patch_storage/7263055_Jul_21_2008_01_37_17/files/lib/libserver10.a/kwqit.o" does not exist.
'oracle.rdbms, 10.2.0.4.0': Cannot update file '/oracle/product/10.2.0.4/TEST01/lib/libserver10.a' with '/kwqit.o'
Copy Action: Source file "/oracle/product/10.2.0.4/TEST01/.patch_storage/7263055_Jul_21_2008_01_37_17/files/rdbms/admin/prvtaqds.plb" does not exist.
'oracle.rdbms, 10.2.0.4.0': Cannot copy file from 'prvtaqds.plb' to '/oracle/product/10.2.0.4/TEST01/rdbms/admin/prvtaqds.plb'

ApplySession failed during prerequisite checks: Prerequisite check "CheckRollbackable" on auto-rollback patches failed.
System intact, OPatch will not attempt to restore the system
--------------------------------------------------------------------------------
The following warnings have occurred during OPatch execution:
1) OUI-67078:Interim patch 8450774 is a superset of the patch(es) [  7263055 ] in OH /oracle/product/10.2.0.4/TEST01
--------------------------------------------------------------------------------

OPatch failed with error code 74
 db-node1 TEST01
/oracle/product/10.2.0.4/TEST01/PATCHES/8450774 >


This issue is because, opatch is trying to rollback the existing patch ( because of confilct issue ) from backup area i.e $ORACLE_HOME/.patch_storage. But somehow, the backup of that particular patch is not there. So, OPatch is failing with this error message.

So, When I checked the URL " http://download.oracle.com/docs/cd/B14099_19/manage.1012/b16227/oui8_opatch.htm ", I came to know the option " -no_sysmod ".no_sysmod used to Specifies that the OPatch utility need not update the files in the system. It will only update the inventory.

/oracle/product/10.2.0.4/TEST01/PATCHES/8450774 > opatch rollback -id 7263055 -no_sysmod -invPtrLoc $ORACLE_HOME/oraInst.loc
Invoking OPatch 10.2.0.4.3

Oracle Interim Patch Installer version 10.2.0.4.3
Copyright (c) 2007, Oracle Corporation.  All rights reserved.


Oracle Home       : /oracle/product/10.2.0.4/TEST01
Central Inventory : /oracle/product/10.2.0.4/TEST01/oraInventory
   from           : /oracle/product/10.2.0.4/TEST01/oraInst.loc
OPatch version    : 10.2.0.4.3
OUI version       : 10.2.0.4.0
OUI location      : /oracle/product/10.2.0.4/TEST01/oui
Log file location : /oracle/product/10.2.0.4/TEST01/cfgtoollogs/opatch/opatch2009-12-07_10-02-14AM.log

RollbackSession rolling back interim patch '7263055' from OH '/oracle/product/10.2.0.4/TEST01'

Running prerequisite checks...

OPatch detected non-cluster Oracle Home from the inventory and will patch the local system only.


Skip patching component oracle.rdbms, 10.2.0.4.0 and its actions.
The actions are reported here, but are not performed.

Deleting "lib/libserver10.a/kwqmn.o" from archive "/oracle/product/10.2.0.4/TEST01/lib/libserver10.a"
ArchiveAction::rollback() failed: File is not present in backup area so kwqmn.ois not modified
Deleting "lib/libserver10.a/knlp.o" from archive "/oracle/product/10.2.0.4/TEST01/lib/libserver10.a"
ArchiveAction::rollback() failed: File is not present in backup area so knlp.ois not modified
Deleting "lib/libserver10.a/kwqa.o" from archive "/oracle/product/10.2.0.4/TEST01/lib/libserver10.a"
ArchiveAction::rollback() failed: File is not present in backup area so kwqa.ois not modified
Deleting "lib/libserver10.a/kwqit.o" from archive "/oracle/product/10.2.0.4/TEST01/lib/libserver10.a"
ArchiveAction::rollback() failed: File is not present in backup area so kwqit.ois not modified
Running make for target ioracle
RollbackSession removing interim patch '7263055' from inventory

OPatch succeeded.
 db-node1 TEST01
/oracle/product/10.2.0.4/TEST01/PATCHES/8450774 >


So, I have rollback the patch manually with using option called " -no_sysmod " and continued with main patch.

Tuesday, December 29, 2009

FRM Performance issue on R12

Issue :

Forms Process (FRMWEB) Consumes 100% of CPU in Oracle Applications R12

Issue Confirmation :

From " top " command output, FRMWEB shows 100% of CPU usages on all FE nodes.

Node 1

Tasks: 252 total, 4 running, 248 sleeping, 0 stopped, 0 zombie
Cpu(s): 39.1% us, 0.2% sy, 0.0% ni, 60.5% id, 0.2% wa, 0.0% hi, 0.0% si
Mem: 33277600k total, 7763548k used, 25514052k free, 120288k buffers
Swap: 6731224k total, 0k used, 6731224k free, 857572k cached

PID USER PR NI %CPU TIME+ %MEM VIRT RES SHR S COMMAND
7954 applmgr 25 0 100 7:38.16 0.3 130m 84m 20m R frmweb
23357 applmgr 25 0 100 254:40.80 0.2 121m 75m 19m R frmweb
29362 applmgr 25 0 100 241:52.23 0.2 109m 62m 18m R frmweb
19146 applmgr 15 0 5 0:08.18 0.2 99.8m 55m 16m S frmweb
10994 applmgr 16 0 3 8:26.54 3.8 1918m 1.2g 7036 S java
10224 applmgr 16 0 2 2:02.79 0.3 133m 86m 20m S frmweb
26093 applmgr 17 0 1 0:00.04 0.0 56472 9264 6068 S frmweb
26068 applmgr 16 0 1 0:00.07 0.0 2644 1108 760 R top
10993 applmgr 17 0 0 11:24.62 3.8 1901m 1.2g 10m S java
14619 applmgr 15 0 0 0:05.47 0.1 86212 41m 13m S frmweb


Node 2

Tasks: 242 total, 3 running, 238 sleeping, 0 stopped, 1 zombie
Cpu(s): 15.0% us, 0.2% sy, 0.0% ni, 84.8% id, 0.0% wa, 0.0% hi, 0.0% si
Mem: 33277600k total, 7983180k used, 25294420k free, 111600k buffers
Swap: 6731224k total, 0k used, 6731224k free, 878220k cached

PID USER PR NI %CPU TIME+ %MEM VIRT RES SHR S COMMAND
1677 applmgr 25 0 100 238:31.17 0.1 85976 38m 14m R frmweb
29169 applmgr 15 0 13 0:04.91 0.2 107m 62m 17m S frmweb
31279 applmgr 15 0 2 1:14.63 0.3 147m 98m 22m S frmweb
12726 applmgr 15 0 2 0:11.64 0.2 99.1m 54m 16m S frmweb
30388 applmgr 17 0 1 0:00.04 0.0 56472 9264 6068 S frmweb


Node 3

PID USER PR NI %CPU TIME+ %MEM VIRT RES SHR S COMMAND
16225 applmgr 25 0 101 250:24.90 0.2 120m 74m 19m R frmweb
24725 applmgr 25 0 101 141:44.18 0.2 100m 55m 17m R frmweb
8339 applmgr 25 0 99 375:46.78 0.2 114m 68m 19m R frmweb
26492 applmgr 25 0 99 167:46.88 0.2 119m 72m 19m R frmweb
32477 applmgr 25 0 99 151:14.55 0.2 120m 74m 19m R frmweb
1 root 16 0 0 0:02.42 0.0 2652 508 432 S init


Cause :

The root cause of the issue is that returning rows from LOVs in core forms causes the forms process to grow up into memory depending on the number of rows returned.

When an end user login to forms and start working with LOV within core forms sometimes and according to the search criteria that the user will provide to filter the results in LOV, it may fetch huge numbers of records in which causes the frmweb process to grow very large, and in extreme cases this can even lock up the current process or even the whole machine.

So when executing a LOV query, every row is fetched into memory on the middle tier, the frmweb process can get extremely large, and the larger it gets the more likely it is to start paging.
Eventually it starts consuming excessive CPU just paging the process in and out of memory, which is probably what you can see here in this case as the amount of memory consumed when the LOV records are fetched into memory obviously depends on the amount of data in each record.

Solution :

1. The cleaner and consistent way is to set "s_forms_catchterm"=0 in the CONTEXT FILE and run autoconfig.

2. If you can't afford autoconfig now, then we need to update the following files with FORMS_CATCHTERM=0

$APPL_TOP/$CONTEXT_NAME.env
$ORA_CONFIG_HOME/10.1.2forms/server/socket.env
$ORA_CONFIG_HOME/10.1.2forms/server/default.env

Reference :

Metalink Doc : 745711.1 - Forms Process (FRMWEB) Consumes 100% of CPU in Oracle Applications R12