Saturday, August 1, 2009

Oracle Applications MWA Configuration

Due to busy scheduled I could not post any update yesterday. Last year we implemented oracle MWA (Mobile) in our company. Oracle mobile application is being used in warehouse to keep track of goods. Following are steps I performed as oracle applications DBA.

Apply MWA patches

  1. Stop Oracle Applications Services (Apache, Forms, Concurrent Manager, Report Server).

[orajai1@jai0301e] /home/orajai1

Source Oracle apps environment

$ . $APPL_TOP/$CONTEXT_NAME.env

$cd $COMMON_TOP/admin/scripts/$CONTEXT_NAME

$ adstpall.sh stop apps/<password> (Only on concurrent manager node)

  1. Take name and number of invalid objects belongs to apps, mwa, inv schema.

    SQL> SELECT COUNT(1) FROM DBA_OBJECTS WHERE status='INVALID' AND OWNER='APPS'

Export Invalid objects name in excel sheet, to compare invalid objects after apply these patches in case of any issue.

SELECT object_name, object_type, owner, status FROM dba_objects WHERE status = 'INVALID' AND owner = 'APPS' ORDER BY 1, 2, 3

  1. Take backup of following directories on all applications tier (web/form as well concurrent manager).

$cp $FND_TOP/secure $FND_TOP/secure.<mmddyyyy>

$cp $TNS_ADMIN/$CONTEXT_NAME $TNS_ADMIN/$CONTEXT_NAME.<mmddyyyy>

$cp $IAS_ORACLE_HOME/network/admin/$CONTEXT_NAME $IAS_ORACLE_HOME/network/admin/$CONTEXT_NAME.<mmddyyyy>

  1. Apply following MWA Patches using /staging/scripts/ikn_autopatch.sh script.

Noteà Sometime file version would be updated after running autoconfig. Autoconfig you need to run at end of installation of all patches. You need to make sure about file version using adident after running autoconfig.

# 4260471 Mobile Applications Telnet Screen is rendere

Duration : 30 Min

Check file version after patch installation

$ adident Header $MWA_TOP/bin/MWADIS

/opt01/app/jai1appl/mwa/11.5.0/bin/MWADIS:

$Header mwadis.oc 115.158.1159.5 2005/03/28 18:49:15 sthamman noship $

$Header mwacfg.lc 115.24.1159.2 2004/12/31 10:38:20 sthamman noship

$ adident Header $MWA_TOP/admin/template/mwactl.sh

/opt01/app/jai1appl/mwa/11.5.0/admin/template/mwactl.sh:

$Header mwactl.sh 115.53.1159.3 2004/11/17 10:03:19 sthamman ship

# 4577556 Mandatory Mobile Patch for 1159 Customer

Duration: 30

Check file version after patch installation

$cd $COMMON_TOP/java/oracle/apps/mwa/presentation/telnet

$ adident Header Options.class

Options.class:

$Header Options.java 115.17.1159.9 2005/09/30 04:12:05 ajohnson ship $

$ adident Header ProtocolHandler.class

ProtocolHandler.class:

$Header ProtocolHandler.java 115.133.1159.8 2005/05/18 13:32:12 ajohnson ship

# 4630366 Mandatory Mobile Patch for 1159 Customer

Duration 30 Min

$cd $COMMON_TOP/java/oracle/apps/mwa/presentation/telnet

$ adident Header Options.class

Options.class:

$Header Options.java 115.17.1159.9 2005/09/30 04:12:05 ajohnson ship

# 3869946 MOBILE PAGES FAILED TO OPEN

Duration 60 min

Check file version

$ adident Header $WMS_TOP/patch/115/import/US/wmsmenu.ldt

/opt01/app/jai1appl/wms/11.5.0/patch/115/import/US/wmsmenu.ldt:

$Header wmsmenu.ldt 115.29.11590.5 2004/09/16 19:13:01 htnguyen ship $

$ adident Header $FND_TOP/patch/115/sql/AFFMFUNB.pls

/opt01/app/jai1appl/fnd/11.5.0/patch/115/sql/AFFMFUNB.pls:

$Header AFFMFUNB.pls 115.36 2005/04/11 13:50:03 skghosh ship $

# 4345239 STOCK LOCATOR ISSUE IN THE SUB TRANSFER SCREEN

Duration 60 min

Check file version

$ adident Header $INV_TOP/patch/115/sql/INVITPSB.pls

/opt01/app/jai1appl/inv/11.5.0/patch/115/sql/INVITPSB.pls:

$Header INVITPSB.pls 115.108.11590.8 2005/05/27 16:07:52 mchemban ship $

$ adident Header $INV_TOP/patch/115/sql/INVLKFFB.pls

/opt01/app/jai1appl/inv/11.5.0/patch/115/sql/INVLKFFB.pls:

$Header INVLKFFB.pls 115.1.11590.3 2005/05/27 15:57:27 mchemban ship $

$ adident Header $INV_TOP/patch/115/sql/INVLKFFS.pls

/opt01/app/jai1appl/inv/11.5.0/patch/115/sql/INVLKFFS.pls:

$Header INVLKFFS.pls 115.1.11590.2 2005/05/27 15:46:14 mchemban ship $

$ adident Header $INV_TOP/patch/115/import/US/i4345239.ldt

/opt01/app/jai1appl/inv/11.5.0/patch/115/import/US/i4345239.ldt:

$Header i4345239.ldt 115.0 2005/05/27 15:33:22 mchemban noship $

  1. Compile all invalid objects and check if there is any new invalid objects.
  2. Check invalid object of INV and MWA schema and compile them manually if it is taking long
  3. We need to check MWA related configuration in auto context file on each middle tier , concurrent manager tier before running autoconfig.
  4. Make following changes in applications context file on each middle and concurrent manager tier and run autoconfig.

    <oa_mwa_server>

    <hostname oa_var="s_mwahost">jai0301e</hostname>

    <domain oa_var="s_mwadomain">orbit.com</domain>

    <mwaLogLevel oa_var="s_mwaLogLevel">error</mwaLogLevel>

    <mwaLogRotate oa_var="s_mwaLogRotate">Yes</mwaLogRotate>

    <mwaLogFileSize oa_var="s_mwaLogFileSize">10000000</mwaLogFileSize>

    <mwaDropConnectionTimeoutoa_var="s_mwaDropConnectionTimeout">5</mwaDropConnectionTimeout>

    <mwaStaleSessionTimeoutoa_var="s_mwaStaleSessionTimeout">60</mwaStaleSessionTimeout>

    <mwaDispatcherThreadCountoa_var="s_mwaDispatcherThreadCount">15</mwaDispatcherThreadCount>

    <mwaDispatcherClientsPerWorkeroa_var="s_mwaDispatcherClientsPerWorker">10</mwaDispatcherClientsPerWorker>

    <mwaJVMb oa_var="s_mwaJVMb">FALSE</mwaJVMb>

    <mwaPortNo oa_var="s_mwaPortNo" oa_type="PORT">10210</mwaPortNo>

    <mwaTelnetPortNo oa_var="s_mwaTelnetPortNo" oa_type="PORT">10200</mwaTelnetPortNo>

    <mwaDispatcherPort oa_var="s_mwaDispatcherPort"oa_type="PORT">10310</mwaDispatcherPort>

    <mwaActivateLOVByEnter oa_var="s_mwaActivateLOVByEnter">FALSE</mwaActivateLOVByEnter>

    <mwaSubmenuChangeOrgResp oa_var="s_mwaSubmenuChangeOrgResp">FALSE</mwaSubmenuChangeOrgResp>

    </oa_mwa_server>

    Check value for following tag in the application context file $APPL_TOP/admin/<SID>_<HOSTNAME>.xml. Value for these port would be decided for production. We'll use last two digit of mwaPortNo same as last two digit of Apache Port.

    e.g.

    if Production port is 8010 then mwaPortNo would be 10210 and Dispatcher port 10310

    <mwaPortNo oa_var="s_mwaPortNo" oa_type="PORT">10210</mwaPortNo>

    mwa.Dispatcher=%s_hostname%.%s_domainname%:%s_mwaDispatcherPort%

    mwa.TelnetServer=%s_hostname%.%s_domainname%:%s_mwaPortNo%

    Make sure Dispatcher and Telnet Server hostname is as per production requirement.

  5. Run autoconfig on all web/concurrent manager tier.

$cd $SCRIPTS

$ pwd

/opt01/app/oracle/jai1comn/admin/scripts/JAI1_jai0301e

$adautocfg.sh

Enter apps password : *****

Check autoconfig log on each tier (middle tier, concurrent manager tier).

  1. Run /staging/scripts/ikn_post_autoconf.sh on each node.

Run ikn_post_autoconf.sh on both jai00108e and jai00208e.

$cd /staging/scripts

./ikn_post_autoconf.sh ERMR_jai0108e ERMR ERMR1PPSSYS eierm

  1. Copy back the listener.ora and tnsnames.ora files from backup in 806 home and IAS home.
  2. Check the DBC files in $FND_TOP/secure and add given entry if not there.

    BATCH_VALIDATE_USER=GUEST

    BATCH_VALIDATE_PWD=ORACLE

    Make sure DBC file exists.

    -rwxr-xr-x 1 orajai1 dba 806 Feb 08 11:00 jai001_jai1.dbc

  3. Start applications services including concurrent manager.
  4. Email to Functional team to run given below "Concurrent Manager", which is part of post installation step of patch # 4345239 "Generate Stock Locator Flexfield definition for Mobile transactions"
  5. Compile invalid objects if there was any due to above concurrent program.
  6. Validate applications services

Configure MWA

We are going to use only MWA server for time being. Ensure mwa related

setting are part of configuration file. Please perform as given below.

  1. Make given changes in $MWA_TOP/secure/mwa.cfg file.

mwa.logdir= /log01/JAI1/mwa

Rest of given below mwa related settings are part of autocontext file. Please cross check values for given variables in the $MWA_TOP/secure/mwa.cfg file

File : $MWA_TOP/secure/mwa.cfg

Variable Values:

mwa.DbcFolder= /opt01/app/jai1appl/fnd/11.5.0/secure/

mwa.DbcFile= jai0301e_jai11

mwa.logdir= /log01/JAI1/mwa

mwa.TelnetPortNumber=10210

mwa.DropConnectionTimeout=5

mwa.StaleSessionTimeout=60

mwa.SystemLog=system.log

mwa.LogLevel=trace

Check Dispatcher setting

Dispatcher related setting variable's values are already part of autocontext file. Please check values for following dispatcher related variables in the $MWA_TOP/secure/mwa.cfg file.

[orajai1@jai0301e] /opt01/app/jai1appl/mwa/11.5.0/secure

$ grep -i Dispatcher mwa.cfg grep -v "#"

mwa.Dispatcher=jai0301e.orbit.com:10310

mwa.DispatcherWorkerThreadCount=15

mwa.DispatcherClientsPerWorker=10

Change Default_key Files

Please modify $MWA_TOP/default_key.ini file in JAI1 instance with following updates

The changes required to be done are in $MWA_TOP/default_key.ini

$ cp $MWA_TOP/default_key.ini $MWA_TOP/default_key.ini.mmddyyyy

1) Change DEFAULT_WIDTH = 27

2) Change DEFAULT_HEIGHT = 18

3) Change PROMPT_RATIO = 1:2

Performance Related Changes.

Execute following SQL using APPS schema

SQL> CREATE INDEX po.idx_rcv_tran_interface_prf1 ON po.rcv_transactions_interface

(shipment_header_id,transaction_status_code)

TABLESPACE pox COMPUTE STATISTICS ;

SQL> CREATE INDEX inv.idx_mtl_onhand_quan_det_prf1

ON inv.mtl_onhand_quantities_detail(lpn_id,organization_id)

TABLESPACE invx COMPUTE STATISTICS;

SQL> analyze table inv.MTL_SECONDARY_INVENTORIES delete statistics

SQL> CREATE INDEX wsh.idx_wsh_delivery_details_prf1 ON wsh.wsh_delivery_details

(source_header_number,released_status)

TABLESPACE wshx COMPUTE STATISTICS;

SQL> create index PO.idx_rcv_ship_headers_PRF1 ON PO.rcv_shipment_headers(EXPECTED_RECEIPT_DATE)

TABLESPACE POX COMPUTE STATISTICS;

Schedule Gather Schema Statistic for MWA

Login to Oracle Applications and select "SYSTEM ADMINISTRATOR" and Submit gather statistics

MWA Services Alert/Start/Stop Scripts

/home/orajai1/start_mwa

/home/orajai1/stop_mwa

/home/orajai1/stat_mwa

Start MWA Server

Ensure script mwa_services has been deployed in $HOME to start services.

Start mwa services using script

$. ./start_mwa

Validate MWA Configuration

After copying scripts run /home/orajai1/start_mwa script to start MWA services. Allocate following responsibility to any user and perform given steps to validate configurations.

"Materials & Mfg"

Start à Run à telnet jai0301e.orbit.com 10210

Noteà Only "Oracle Mobile Applications" repsonsbility would be visible in WMA telnet session.

Appendix

Start MWA services

$ cat start_mwa.sh

. $APPL_TOP/$CONTEXT_NAME.env

export WMATELPORT=10250 # WMA Tel Net Server Port

export WMATELPORT2=10260 # WMA Tel Net Server Port

ulimit -n 1024

echo "Starting the MWA Telnet Server ..."

cd $MWA_TOP/bin

nohup mwactl.sh -java_config "-mx128m -ms64m -Dmwa.cfg=$MWA_TOP/secure/$CONTEXT_NAME/mwa.cfg" start $WMATELPORT &

sleep 30

nohup mwactl.sh -java_config "-mx128m -ms64m -Dmwa.cfg=$MWA_TOP/secure/$CONTEXT_NAME/mwa.cfg" start $WMATELPORT2 &

sleep 30

if [ `ps -ef grep mwa grep -v grep wc -l` -eq 2 ]

then

echo "MWA Telnet Server is up now "

else

echo "WMA Telnet Server Did not start"

fi

cd

Stop MWA services

# You need instance sysadmin password to stop MWA server

. $APPL_TOP/$CONTEXT_NAME.env

export WMATELPORT=10250

export WMATELPORT2=10260

echo "Stoping the MWA Telnet Server ..."

cd $MWA_TOP/bin

mwactl.sh -java_config "-Dmwa.cfg=$MWA_TOP/secure/$CONTEXT_NAME/mwa.cfg" -mwatop $MWA_TOP -login SYSADMIN/<password> stop_force $WMATELPORT &

mwactl.sh -java_config "-Dmwa.cfg=$MWA_TOP/secure/$CONTEXT_NAME/mwa.cfg" -mwatop $MWA_TOP -login SYSADMIN/gone2acpt stop_force $WMATELPORT2 &

for i in `ps -ef grep mwa grep -v grep grep -v _mwa awk '{ print $2 }'`

do

kill -9 $i

done

echo "MWA Server and dispatcher is down ...."

cd

MWA Services availability Check

$ cat stat_mwa

# Description:This script will check mwa services and send notify DBAs if it was down.

# Author: Janmejai Singh

#

# History

##############################################

#! /bin/ksh

maillist="jsingh@orbit.com"

set -x

if [ -f /tmp/run_it.txt ]

then

exit

fi

if [ `ps -ef grep -i mwa grep -v grep grep -v stat_mwa wc -l` -ne 2 ]

then

echo "MWA Server is down on `hostname` ." mailx -s "Please start MWA Services using $HOME/start_mwa.sh script ..." $maillist

#echo "Please start MWA Services using `hostname` : $HOME/start_mwa script ..." mailx -s "MWA Server is down on `hostname` ." $maillist

fi

Thursday, July 30, 2009

ORA-01081: cannot start already-running ORACLE - shut it down first

Though we have latest database but still we are having some old legacy system. I was trying to stop 8.1.7.4.0 database instance and it failed with given below error.

Issue

While starting 8.1.7.4 database I got "ORA-01081: cannot start already-running ORACLE - shut it down first" error though database was not running.

# ps –ef | grep smon

# svrmgrl             

Oracle Server Manager Release 3.1.7.0.0 - Production

Copyright (c) 1997, 1999, Oracle Corporation.  All Rights Reserved.

Oracle8i Enterprise Edition Release 8.1.7.4.0 - Production

With the Partitioning and Parallel Server options

JServer Release 8.1.7.4.0 - Production

SVRMGR> connect internal

Connected.

SVRMGR> startup                            

ORA-01081: cannot start already-running ORACLE - shut it down first

SVRMGR> exit

Server Manager complete.

Solution

I performed as given below.

# ipcs -b | grep oracle

m 290455565   00000000 --rw-r-----   oracle      dba 249442304

m 290455566 0xbc71ed40 --rw-r-----   oracle      dba 2147483648

/opt/app/oracle/JAIdb/8.1.7/network/admin

# ipcrm -m 290455565

/opt/app/oracle/JAIdb/8.1.7/network/admin

# ipcrm -m 290455566

/opt/app/oracle/JAIdb/8.1.7/network/admin

# sqlplus sys

SQL*Plus: Release 8.1.7.0.0 - Production on Sun Feb 10 15:23:27 2008

(c) Copyright 2000 Oracle Corporation.  All rights reserved.

Enter password:

Connected to an idle instance.

SQL> startup

ORACLE instance started.

Total System Global Area 2396762004 bytes

Fixed Size                    73620 bytes

Variable Size            1677832192 bytes

Database Buffers          688128000 bytes

Redo Buffers               30728192 bytes

Database mounted.

Database opened.

SQL>

 

OracleBI Discoverer was unable to authenticate using the password provided

My day started with lots of technical issues and most important issue I was suppose to address first was Discoverer login issue using SSO enabled Ebusiness suite Application (11.5.9).

After production clone (11.5.9) we registered instance to SSO OID (101420) as given below.

Registered SSO

$ txkrun.pl -script=SetSSOReg \

> -registersso=Yes \

> -appspass=pass4jait \        ß Oracle Applications apps schema password

> -infradbhost=jai001.orbit.com\    ß OID server name

> -infradbport=1530 \            ß OID LDAP Port

> -infradbsid=SSOT \            ß SSO OID Database SID

> -orassopass=D9v01D75 \         ß It's OID orasso user's password.

> -systempass=pass4jait \        ß Oracle Application System Password

> -ssosdkpass=ssosdk            ß Oracle Applications SSOSDK schema password

*** ALL THE FOLLOWING FILES ARE REQUIRED FOR RESOLVING RUNTIME ERRORS

*** Log File = /opt01/app/oracle/jaitcomn/rgf/JAIT_ios11301e/sso/txkSetSSOReg_Mon_Jul_27_16_01_54_2009.log

Program : /opt01/app/jaitappl/fnd/11.5.0/patch/115/bin/txkSetSSOReg.pl started @ Mon Jul 27 16:01:54 2009

*** Log File = /opt01/app/oracle/jaitcomn/rgf/JAIT_ios11301e/sso/txkSetSSOReg_Mon_Jul_27_16_01_54_2009.log

######################## WARNING ########################################

This application works with SSOSDK version 9.0.2 or higher. If lower version

(3.0.9) of SSOSDK was installed in your system and you have a registered

partner application, this process will remove the 3.0.9 version of the SSOSDK

schema and install the 9.0.2 version.

######################## WARNING ########################################

Beginning input parameter validation for SSO registration.

Beginning loading SSO SDK into database if necessary.

Loading of SSO SDK into database completed successfully.

Input parameter validation for SSO registration completed.

BEGIN SSO REGISTRATION:

Beginning to register partner application.

Partner application has been registered successfully.

Single Sign-On partner application registered successfully.

End of /opt01/app/jaitappl/fnd/11.5.0/patch/115/bin/txkSetSSOReg.pl : No Errors encountered

Registered OID

$ txkrun.pl -script=SetSSOReg \

> -provtmp=$FND_TOP/admin/template/ProvOIDToApps.tmp \

> -registeroid=Yes \

> -appspass=pass4jait \            ß Oracle Applications apps schema password

> -infradbhost=jai001.orbit.com\        ß OID server name

> -orcladminpass=ssotirisqa123 \        ß OID orcladmin user password

> -instpass=welcome123 \            ß New password to register application in SSO

> -ldapport=3030 \                ß OID LDAP Port

> -appname="JAIT" \                ß Application Name of Oracle applications

> -svcname="JAIT"                ß Service Name of Oracle Applications

*** ALL THE FOLLOWING FILES ARE REQUIRED FOR RESOLVING RUNTIME ERRORS

*** Log File = /opt01/app/oracle/jaitcomn/rgf/JAIT_ios11301e/sso/txkSetSSOReg_Mon_Jul_27_16_04_37_2009.log

Program : /opt01/app/jaitappl/fnd/11.5.0/patch/115/bin/txkSetSSOReg.pl started @ Mon Jul 27 16:04:38 2009

*** Log File = /opt01/app/oracle/jaitcomn/rgf/JAIT_ios11301e/sso/txkSetSSOReg_Mon_Jul_27_16_04_37_2009.log

Beginning input parameter validation for OID registration.

Input parameters validation for OID registration completed.

BEGIN OID REGISTRATION:

Beginning to register Application and Service containers if necessary.

Application and Service containers were found and thus not created.

Beginning to register application in Oracle Internet Directory.

Registration of application in Oracle Internet Directory completed successfully.

Beginning to register instance password in Oracle Internet Directory.

Registration of instance password in Oracle Internet Directory completed successfully.

Beginning to test application registration in Oracle Internet Directory.

Testing of application registration in Oracle Internet Directory completed successfully.

Beginning to register provisioning profile in Oracle Internet Directory.

Registration of provisioning profile in Oracle Internet Directory completed successfully.

Application is now registered successfully with provisioning in Oracle Internet Directory.

End of /opt01/app/jaitappl/fnd/11.5.0/patch/115/bin/txkSetSSOReg.pl : No Errors encountered

[orajait@ios11301e] /home/orajait

After registration I made sure following SSO related profile value was set at site level

Application SSO LDAP Synchronization : Enabled

Applications Override SSO Server Language : Use SSO Server Language

Applications SSO Allow Multiple Accounts : Disabled

Applications SSO Allow Multiple Accounts : Disabled

Applications SSO Auto Link User : Enabled

Applications SSO Enable OID Identity Add Event : Enabled

Applications SSO Linking Source of Truth : Oracle Internet Directory

Applications SSO Login Types : SSO

Applications SSO Type : SSWA w/SSO

Applications SSO User Creation and Updation Allowed : Enabled

I logged in to jait (http://jait.orbit.com:8020) and login was though.

Discoverer Configuration

I performed following steps to configure already installed discoverer (10.1.2.0.2)

  1. Copy the dbc file from the application's $FND_TOP/secure to the discoverer $ORACLE_HOME/discoverer/secure
  2. Add the TNS entry for the database in the tnsnames.ora of the $ORACLE_HOME/network/admin (discoverer home)
  3. Add the variable TNS_ADMIN to the $ORACLE_HOME/bin/iasenv.sh of discoverer home
  4. Perform as given below to change plug-in from Sun Java to jinitiator for discoverer plus

    Logon to Enterprise Manager on the Oracle Business Intelligence 10g Release 2 ORACLE_HOME using the ias_admin account.

    - Select the "Oracle Business Intelligence 10g Release 2 Oracle Home" Instance

    - Select "Discoverer"

    - Select "Discoverer Plus"

    - Select "Configuration Java Plugin"

    - In the "Java Plugin" section switch the drop-down list from "Sun Java Plugin (1.4)" to "Oracle JInitiator".

    - Press "OK" to apply the changes.

  5. On the Oracle Business Intelligence 10g Release 2 filesystem, open the file $ORACLE_HOME/discoverer/config/configuration.xml

    - Find the line with the tag <jvm name="jinitiator"/>, for example
    <jvm name="jinitiator" classid="clsid:CAFECAFE-0013-0001-0022-ABCDEFABCDEF" plugin_setup="http://mybi.company.com:7780/jinitiator/jinit.exe" version="1.3.1.22" versionie="1,3,1,22" type="application/x-jinit-applet" plugin_page="/PlusPluginPage.uix" disco_archive="disco5i.jar" d4o_archive="d4o_double.jar"/>

    Update the line and specify usage of JInitiator 1.3.1.18, for example
    <jvm name="jinitiator" classid="clsid:CAFECAFE-0013-0001-0018-ABCDEFABCDEF" plugin_setup="http://ios0504e.orbit.com:8080/jinitiator/jinit13118.exe" version="1.3.1.18" versionie="1,3,1,18" type="application/x-jinit-applet" plugin_page="/PlusPluginPage.uix" disco_archive="disco5i.jar" d4o_archive="d4o_double.jar"/

  6. Save the configuration.xml file
  7. Copy the Jinitiator 1.3.1.18 executable from the application tier to the $ORACLE_HOME/jinit directory as jinit13118.exe.
  8. Change Oracle Applications Context file as given below

    <discoinstancename oa_var="s_discoinstance"><node>.orbit.com_8080</discoinstancename>

    <disco_ver_comma oa_var="s_disco_ver_comma">10,1,2</disco_ver_comma>

    <disco_standalone oa_var="s_disco_standalone">true</disco_standalone>

    <disco_protocol oa_var="s_disco_protocol">http</disco_protocol>

    <disco_machine oa_var="s_disco_machine"><node>.orbit.com</disco_machine>

    <disco_port oa_var="s_disco_port" oa_type="PORT">8080</disco_port>

  9. Save the changes.
  10. Modify the following profiles:

    ICX: Discoverer Default End User Layer Schema Prefix # IKNDWEUL ß Discoverer EUL schema

    ICX: Discoverer Launcher # http://<discoverer_host.domain:80/discoverer/plus?Connect=[APPS_SECURE]

    ICX: Discoverer Release # 10

    ICX: Discoverer Viewer Launcher # http://<discoverer_host.domain:80/discoverer/viewer?Connect=[APPS_SECURE]

    ICX: Discoverer use Viewer # Yes

  11. Copy the pref.txt under /staging/software/disc10gR2 to $ORACLE_HOME/discoverer/util. Run applypreferences.sh.
  12. Increase the timeout value in httpd.conf to 3600
  13. Bounce of discoverer will be needed after this change.
  14. Change $ORACLE_HOME/discoverer/discwb.sh

    # FND_TOP=$OH/discoverer

    FND_TOP=<fnd top of middle tier>

  15. Modify $ORACLE_HOME/bin/iasenv.sh

    if [ x${LD_LIBRARY_PATH} != x ] ; then

    LD_LIBRARY_PATH=$LD_LIBRARY_PATH

    else

    TO

    if [ x${LD_LIBRARY_PATH} != x ] ; then

    LD_LIBRARY_PATH=/opt01/disc10g/oracle/disc10g/discoverer/lib:$LD_LIBRARY_PATH

    else

  16. Change following value in Discoverer $OH/opmn/conf/opmn.xml file as below, this will drive how many max. connections can go to a discoverer installation. Make it to 200. Also make sure it's there in our discoverer installation.

    <process-set id="SessionServer" minprocs="0" maxprocs="100" restart-on-death="false" parallel-requests="true"/>

  17. Restart Discoverer Services.

After configuration I tried to click on discoverer report link using responsibility created for discoverer report. I got given below error.

A connection error has occurred.

- OracleBI Discoverer was unable to authenticate using the password provided.

This can happen due to an invalid password or because the password was lost while using back, forward, or refresh in your browser. Please enter the password again to continue.

- Unable to connect to Oracle Applications database: your password has expired.

Several time I checked discoverer profile values I also compared SSO profile and discoverer profile from other instance where it was working fine. Finally I decided to turn Discoverer debug on and checked log. I performed following steps to turn discoverer login trace on (mentioned in dark blue color) and restarted Discoverer services.

$ cp $ORACLE_HOME/opmn/conf/opmn.xml cp $ORACLE_HOME/opmn/conf/opmn.xml. 092409

$ vi opmn.xml

+185 <environment>

+186 <variable id="DISCOVERER_ALLOW_DB_CONNECT_STRING" value="YES"/>

+187 <variable id="PREFERENCE_PORT" value="1980"/>

+188 <variable id="DISCO_DIR" value="$ORACLE_HOME"/>

+189 <variable id="DCLOG_CONFIG_FILE" value="/opt01/disc10g/oracle/disc10g/discoverer/util/ServerLogParams.txt"/>

+190 <variable id="LIBPATH" value="/opt01/disc10g/oracle/disc10g/discoverer/lib:/opt01/disc10g/oracle/disc10g/lib32:/usr/lib" append="true"/>

+191 <variable id="DC10_REG" value="/opt01/disc10g/oracle/disc10g/discoverer/"/>

+192 <variable id="FND_TOP" value="/opt01/disc10g/oracle/disc10g/discoverer/"/>

+193 <variable id="FND_SECURE" value="/opt01/disc10g/oracle/disc10g/discoverer/secure"/>

+194 <variable id="NLS_LANG" value="AMERICAN_AMERICA.UTF8"/>

+195 <variable id="AFLOG_ENABLED" value="Y"/>

+196 <variable id="AFLOG_FILENAME" value="/opt01/disc10g/oracle/disc10g/discoverer/logs/apps_trace.txt"/>

+197 <variable id="AFLOG_LEVEL" value="STATEMENT"/>

+198 <variable id="AFLOG_MODULE" value="fnd.src.security.afscp fnd.src.osd.afenv"/>

+199 </environment>

$ $ORACLE_HOME/opmn/bin/opmnctl stopall

$$ORACLE_HOME/opmn/bin/opmnctl startall

I reproduced issue after restarting discoverer services and check $ORACLE_HOME/discoverer/logs/apps_trace.txt file.

=================STARTUP TIME= =================

PROCEDURE fnd.src.security.afscp.afscpcfg: Begin (config_file = /opt01/disc10g/oracle/disc10g/discoverer/secure/ios11301e_jait.dbc)

STATEMENT fnd.src.security.afscp.afscpinit: $Header: afscp.lc 115.25 2002/08/26 18:33:29 sdstratt ship $

PROCEDURE fnd.src.osd.afenv.usd_load_customfile: Begin(configname = nil)

PROCEDURE fnd.src.osd.afenv.usd_load_customfile: End: No config file specified

STATEMENT fnd.src.security.afscp.afscpcfg: About to load config file.

PROCEDURE fnd.src.osd.afenv.usd_load_customfile: Begin (configname = /opt01/disc10g/oracle/disc10g/discoverer/secure/ios11301e_jait.dbc)

STATEMENT fnd.src.osd.afenv.usd_load_customfile: File found in local directory

STATEMENT fnd.src.osd.afenv.usd_load_customfile: Loading config file contents

PROCEDURE fnd.src.osd.afenv.usd_load_customfile: End: Success

STATEMENT fnd.src.security.afscp.afscpcfg: Config file loaded.

STATEMENT fnd.src.security.afscp.afscpcfg: Config file params (fndnam = APPS, gwyuid = APPLSYSPUB/PUB, two_task = JAIT, appl_server_id = 6E91FD59C398E0EAE04

30A0B3EDBE0EA37940464221077978720915360229902)

PROCEDURE fnd.src.security.afscp.afscpcfg: End: Success

PROCEDURE fnd.src.security.afscp.afscpfree: Begin

PROCEDURE fnd.src.security.afscp.afscpfree: End

PROCEDURE fnd.src.security.afscp.afscpinit: Begin(fndnam = APPS, gwyuid = APPLSYSPUB/PUB@JAIT)

STATEMENT fnd.src.security.afscp.afscpinit: $Header: afscp.lc 115.25 2002/08/26 18:33:29 sdstratt ship $

PROCEDURE fnd.src.osd.afenv.usd_load_customfile: Begin(configname = nil)

PROCEDURE fnd.src.osd.afenv.usd_load_customfile: End: No config file specified

PROCEDURE fnd.src.security.afscp.afscpinit: End

PROCEDURE fnd.src.security.afscp.afscptik: Begin(ticket = sKXNm0vKEEVLxtU_0AAsD_x-:S)

PROCEDURE fnd.src.security.afscp.afscpsup: Begin

STATEMENT fnd.src.security.afscp.afscpsup: Username = GUEST

PROCEDURE fnd.src.security.afscp.afscpsup: End: Success

PROCEDURE fnd.src.security.afscp.afscptik: End: Success

PROCEDURE fnd.src.security.afscp.afscpsvr: Begin

PROCEDURE fnd.src.security.afscp.afscpsvr: End: Success

PROCEDURE fnd.src.security.afscp.afscpcon: Begin

STATEMENT fnd.src.security.afscp.afscpcon: Connecting to gwyuid = APPLSYSPUB/PUB@JAIT

STATEMENT fnd.src.security.afscp.afscpcon: New security pkg: Retrieving encrypted pwd

STATEMENT fnd.src.security.afscp.afscpcon: New security pkg success

STATEMENT fnd.src.security.afscp.afscpcon: Decrypting apps password

STATEMENT fnd.src.security.afscp.afscpcon: Closing gwyuid connection

STATEMENT fnd.src.security.afscp.afscpcon: Opening apps connection

STATEMENT fnd.src.security.afscp.afscpcon: Processing ticket

PROCEDURE fnd.src.security.afscp.get_icx_ticket: Begin

PROCEDURE fnd.src.security.afscp.get_icx_ticket: End: Not a one-time ticket.

STATEMENT fnd.src.security.afscp.afscpcon: Retrieve session values from ticket

STATEMENT fnd.src.security.afscp.afscpcon: Set icx_session_id profile

STATEMENT fnd.src.security.afscp.afscpcon: Get responsibility info

STATEMENT fnd.src.security.afscp.afscpcon: user_id = 45514, resp_type = I, resp_key = resp_id = 50380

STATEMENT fnd.src.security.afscp.afscpcon: appl_type = I, appsname = , appl_id = 20003, secgrp = STANDARD

STATEMENT fnd.src.security.afscp.afscpcon: Decrypting new oracle pwd for resp

STATEMENT fnd.src.security.afscp.afscpcon: Constructing connect string for resp

PROCEDURE fnd.src.security.afscp.afscpcon: End: Success

PROCEDURE fnd.src.security.afscp.afscpfree: Begin

PROCEDURE fnd.src.security.afscp.afscpfree: End

=================STARTUP TIME= =================

I did not noticed any issue in error log. Finally I turned on trace on discoverer services on instance where it was working and I compared working instance log with non working instance log. I noticed given below difference.

Non working discoverers header version was different from working discoverer header version

Working Discoverer Header Version

STATEMENT fnd.src.security.afscp.afscpinit: $Header: afscp.lc 115.25 2002/08/26 18:33:29 sdstratt ship $

Non Working Discoverer Header Version

STATEMENT fnd.src.security.afscp.afscpinit: $Header: afscp.lc 120.5.12000000.2 2007/05/25 20:33:57 mskees ship $

I mentioned this to other senior member and he recalled new installed discoverer was not upgraded. We asked junior team member to upgrade discoverer

Current version :

$cd $ORACLE_HOME/bin

$ strings -a dis51ws | grep "Discoverer Version:"

Discoverer Version:Server 10.1.2.48.18

New Expected Version (working version)

$  strings -a dis51ws | grep "Discoverer Version:"

Discoverer Version:Server 10.1.2.54.25

After discoverer upgrade problem was resolved. I will describe detail steps of discoverer upgrade in other post.

Wednesday, July 29, 2009

Download patch from Metalink and upload SR file to/from Unix Server

Steps to Upload trace/log file to Metalink Service Request on Unix Server

Login to unix server

$ftp ftp.oracle.com

User id : anonymous

Password : anonymous

ftp> cd support/incoming/

ftp> mkdir <SR number>

ftp> 6895234.994

ftp> bin

ftp> mput *.zip

Steps to Download patch from Metalink on Unix Server

$ftp updates.oracle.com

User Name : <MetalinkUserID>

Password : <password>

 

ftp> cd <patch number>

ftp> cd 5105622 (e.g.)

ftp> ls

ftp> bin

ftp> get <patch_full_name>

How to enable user’s Trace in EBusiness Suite?

  1. Login to Ebusiness Suite and Select System Administrator Responsibility
  2. Set profile for particular user i.d. JAISINGH Go to 'System Responsibility' à Profile à System
  3. Set profile 'Initialization SQL Statement – Custom' at user level to

    BEGIN FND_CTL.FND_SESS_CTL ('','','TRUE','TRUE','LOG','ALTER SESSION SET TRACEFILE_IDENTIFIER =''JHSINGH'' EVENTS=''10046 TRACE NAME CONTEXT FOREVER, LEVEL 12''');END;

  4. Exit application after change
  5. Ask user to produce issue
  6. Go to db parameter user_dump_dest location and search for *JHSINGH*.trc

Reference: Meatlink Note 787724.1

Sunday, September 14, 2008

unable to extend temp segment by 8192 in tablespace MSCX

Issue Development team send email with given below issue. Concurrent program failed with given error. ---------------------------------------------------------- <> <>CREATE INDEX ITEM_CATEGORIES_N3_IKN ON ITEM_CATEGORIES_IKN(CATEGORY_SET_ID,ORGANIZATION_ID,SR_INSTANCE_ID,SR_CATEGORY_ID,CATEGORY_NAME,DESCRIPTION) PARALLEL TABLESPACE MSCX STORAGE( INITIAL 106496 NEXT 67108864 PCTINCREASE 0) PCTFREE 10 INITRANS 11 MAXTRANS 255 ORA-12801: error signaled in parallel query server P005, instance ios0901e:EPRODR1 (1) ORA-01652: unable to extend temp segment by 8192 in tablespace MSCX <> <>ALTER TABLE MSC_ITEM_CATEGORIES EXCHANGE PARTITION ITEM_CATEGORIES__1 WITH TABLE ITEM_CATEGORIES_IKN INCLUDING INDEXES ORA-14098: index mismatch for tables in ALTER TABLE EXCHANGE PARTITION Calling Linking of Sales Order for 11i source ... Procedure LINK_SUPP_SO_DEMAND_EXT started. Truncated Source AD Tables Successfully ---------------------------------------------------------- Troubleshooting Steps Script was failing while creating index. I check initial and next space utilization of tablespace, which was good. I checked space utilization using given below query. #CONTIG_FREE_SPACE.sql #PL/SQL script to determine how much contiguous #free space is available for each tablespace in the database. Oracle will #acquire space by searching first for exact fit, then next best fit, and lastly#coalesce if possible. create table SPACE_TEMP ( TABLESPACE_NAME CHAR(30), CONTIGUOUS_BYTES NUMBER) / declare cursor query is select * from dba_free_space WHERE TABLESPACE_NAME='MSCX' order by tablespace_name, block_id; this_row query%rowtype; previous_row query%rowtype; total number; begin open query; fetch query into this_row; previous_row := this_row; total := previous_row.bytes; loop fetch query into this_row; exit when query%notfound; if this_row.block_id = previous_row.block_id + previous_row.blocks then total := total + previous_row.bytes; insert into SPACE_TEMP (tablespace_name) values (previous_row.tablespace_name); else insert into SPACE_TEMP values (previous_row.tablespace_name, total); total := this_row.bytes; end if; previous_row := this_row; end loop; insert into SPACE_TEMP values (previous_row.tablespace_name, total); end; / set pagesize 60 set newpage 0 set echo off ttitle center 'Contiguous Extents Report' - skip 1 center new_today skip 3 break on "TABLESPACE NAME" skip page duplicate spool contig_free_space.lis rem column "CONTIGUOUS BYTES" format 999,999,999 column "COUNT" format 999 column "TOTAL BYTES" format 999,999,999 column "TODAY" noprint new_value new_today format a1 rem select TABLESPACE_NAME "TABLESPACE NAME", CONTIGUOUS_BYTES "CONTIGUOUS BYTES", count(*) "COUNT", CONTIGUOUS_BYTES*count(*) "TOTAL BYTES", to_char(sysdate,'FMMonth DD, YYYY') "TODAY "from SPACE_TEMP where CONTIGUOUS_BYTES is not nullgroup by TABLESPACE_NAME, CONTIGUOUS_BYTES order by TABLESPACE_NAME, CONTIGUOUS_BYTES desc / spool off drop table SPACE_TEMP / Solution We dropped recyle bin object from tablespace to free space. SQL> purge tablespace Again I checked contigouse space which was more than required next space. Note--> Next space allocation is in form of next value (its not number of block. It is number of byte)

Unable to invoke "SOAP Endpoint URI" URL

Issue Development team were unable to invokd "SOAP Endpoint URI" URL from ESB console. Environment SOA Suite 10.1.3.1 Installation and Update to 10.1.3.3 Produce Error Login to ESB console http://jai1.singh.com:8890/esb User id = oc4jadmin Password = ******** Click on “WSF_To_OM_Integration”  “Validate_Line_Attribute” and then Link against “SOAP Endpoint URI” It opens blank page with error "The page cannot be found" Troubleshooting Steps http://jai1.singh.com:8890/em User id = oc4jadmin Password = Go to Home à “Web Services” à Click on Any “Port Name” e.g. “__soap_ChangeStatus_to_DB_RS_execute_ppt” It has reference of two test link one using 8890 (http) and other one 4443 (https). Note--> We never configured https protocol on this server. We searched for text file having reference to port 4443 and noticed $ORACLE_HOME/j2ee/home/config/secure-web-site.xml find . -type f -printxargs file cut -f1 -d: xargs grep -i -l "4443" tee -a 4443.log Solution - This file was not there on any instance and analyst advised to move this file to some other name. $mv $ORACLE_HOME/j2ee/home/config/secure-web-site.xml $ORACLE_HOME/j2ee/home/config/secure-web-site.xml.orig - Restarted opmn services

Monday, September 8, 2008

Change ONS Port

Unable To Start Opmn - "Listener bind failed" error ins ons.log Problem Unable To Start Opmn - "Listener bind failed" error ins ons.log I was not able to start opmn services. I noticed given below error in $ORACLE_HOME/opmn/logs/ons.log file 08/09/08 18:43:18 [2] BIND (Address already in use)08/09/08 18:43:18 [2] 10.11.62.124:394526720 - listener BIND failed08/09/08 18:43:18 [4] Listener thread 2057: 10.11.62.124:394526720 (0x404) termi ons port was 6220 $ cat $ORACLE_HOME/opmn/conf/ons.conf nodes=ios5102e.idc.ikon.org:6220 I checked uses of 6220 port. netstat -na grep 6220 There was no process still I was getting above error. Solution I performed following. 1. Changed ons port of $ORACLE_HOME/opmn/conf/opmn.xml file $cp $ORACLE_HOME/opmn/conf/opmn.xml $ORACLE_HOME/opmn/conf/opmn.xml.090908 2. Changed notification-server port from 6020 to 6060. 3. Updated change using dcmctl $ORACLE_HOME/dcm/bin/dcmctl updateConfig -ct opmn -v -d 4. Started opmn services $ORACLE_HOME/opmn/bin/opmnctl startall

Friday, August 31, 2007

Connect to multiple Applications 11i Instance using ADI

I had issue with connecting to ADI to individual instance when more than one Oracle Applications were running on same server. I performed following to overcome issue. 1. Defined the RRA: Service Prefix in each of your instances at site level as FNDFS_ntest. 2. Added in the Desktop PC tnsnames.ora in $ORACLE_HOME/network/admin and $ORACLE_HOME/net80/admin should be equal and include definitions for FNDFS which name should be FNDFS__

FNDFS_ntest_nfinox = (DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=nfinox)(PORT=1522)) (CONNECT_DATA=(SID=FNDFS)) )

3. Added given two services in each tnsnames in the 8.0.6 ORACLE HOME of each instance in the applications server is generated by AutoConfig including these two services: FNDFS_ntest = (DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=nfinox)(PORT=1522)) (CONNECT_DATA=(SID=FNDFS)) ) FNDFS_ntest_nfinox = (DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=nfinox)(PORT=1522)) (CONNECT_DATA=(SID=FNDFS)) ) 4. Restarted the Concurrent Managers -- All the instances 5. Restarted the APPS Listener -- All the instances

Create Global oraInventory for Oracle Applications 11i

Some time I am not able to apply database patch (using opatch) to RDBMS home due to global inventory issue. So I thought of putting all the steps together to recreate global inventory problem. 1. Login as oracle user and identify the oracle Inventory location by referring to content of /var/opt/oracle/oraInst.loc.

$ cat /var/opt/oracle/oraInst.loc inventory_loc=/local/oracle/admin/ntst/oraInventory inst_group=dba
2. Renamed old inventory
$cd /local/oracle/admin/ntst
$mv oraInventory oraInventory.old
$chmod 777 oraInventory
3. Downloaded patch Patch 5035661 for HP-UX 32 (my os is HP-UX)
4. Login as
$ . $APPL_TOP/APPSORA.env
$ pwd /reports/ntrg/patches/secjuly07 $ echo $IAS_ORACLE_HOME /apps/OEBS/ntrg/iAS $ unzip -od /apps/OEBS/ntrg/iAS p5035661_11i_HPUX11.zip
$ cd $IAS_ORACLE_HOME/appsoui/setup $ pwd /apps/OEBS/ntst/iAS/appsoui/setup $ perl OUIsetup.pl
Check log from above script and ensure it was successful.
5. Go to parent directory of oraInventory and change its permission to 777 recursively.
$ pwd /local/oracle/admin/ntrg/oraInventory
$ chmod -R 777 *
6. Login as oracle and set enviroment
$cd /reports/ntrg/patches/secjuly07 $unzip -od $ORACLE_HOME p5035661_11i_HPUX11.zip
$ cd $ORACLE_HOME/appsoui/setup $pwd /local/oracle/product/9.2.0.8.2/appsoui/setup
$perl OUIsetup.pl
Log file : /local/oracle/product/9.2.0.8.2/appsoui/setup/OUIsetup.log
7. Check if you can list oraInventory
$cd $ORACLE_HOME/OPatch/
$./opatch lsinventory
8. You can also invoke universal installer to check the home registration validity in global inventory.
$export DISPLAY=:0.0
$cd $ORACLE_HOME/appsoui/oui/install
$./runInstaller.sh
It will invoke universal installer and you can see RDBS home registered there.
Subject: How to Recreate the Global oraInventory Note: 295185.1

Custom Forms/Menu Failes with Listener Servlet with Oracle Applications 11i

Last week we configured oracle application forms from socket mode to servelete move in production. We were not able to start any forms/menus from oracle applications. When we further investigated issue and did following. 1. Go to $APACHE_TOP/Jserv/etc/ 2. Add all custom tops in the formservlet.ini file. Put custom top between “#Begin Customization” and “End Customization”. #Begin Customization SEXX_TOP=/apps/OEBS//appltop/sexx/custom #End Customization 3. Begin Customization and end Customization entries are needed if instance is autoconfig enabled else SEXX_TOP will be overwritten by autoconfig. 4. You need not to restart services. You can log off and login again.

Thursday, August 30, 2007

How to turn on trace for apache and Jserv to troubleshoot Selfservice Issue?

Most of time Oracle ask us to generate trace file of Apache and Jserv so I though of putting all steps together. 1. Please enable debug in your Apache Conf files Bring down Apache - Set LogLevel debug in the following files httpd.conf, httpd.conf_pls, and jserv.conf - Edit the .../iAS/Apache/Jserv/etc/jserv.properties to enable debug for the java portion of the Apache jserv. example log=true / log.timestamp=true 2. Delete all existing logs from $IAS_ORACLE_HOME/A* ./Apache/logs/ ./Jserv/logs/ ./Jserv/jvm/logs/ 3. Restart Apache 4. Recreate your issue 5. Provide all log and config files with the following script To be executed from the .../iAS/Apache directory: zip logfile.zip \ ./Apache/logs/*_log* \ ./Apache/conf/*.conf \ ./Jserv/logs/*.log \ ./Jserv/logs/jvm/* \ ./Jserv/etc/*.properties \ ./Jserv/etc/*.conf \ ./Jserv/etc/*.ini \ ./Jserv/etc/*.txt

Oracle Applications Clear Cache

Refer given below to clear cache in E-Business Suite. 1. Apache - shutdown iAS server- go to $OA_HTML or $COMMON_TOP (11.5.10) directory- remove the directory _pages- restart iAS server 2. Browser -Netscape :- go to menu Edit => Preferences…, - choose 'Cache' in 'Advanced' category,- click on buttons 'Clear Memory Cache' and 'Clear Disk Cache'.- close all Netscape windows and restart new browser session. -Internet Explorer :- go to menu Tools => Internet Options…,- select 'General' tab,- click on button 'Delete Files' in 'Temporary Internet files' zone- close all IE windows and restart new browser session. 3. Jinitiator -Two possibilities depending of Jinitiator version, for instance: - delete all files in directory : C:\Program Files\Oracle\Jinitiator 1.1.7.27\jcache\ (Jinitiator version directory may be different) or - go to Start => Parameters => Control Panel- double-click on Jinitiator 1.3.1.18 (or other version)- in the new pop-up window, click on "Cache" Tab- click on "Clear Jar Cache " button. On prompt, click Yes. (you can also delete directly all files under directory:C:\Documents and Settings\\Oracle Jar Cache) After clearing cache bound Apache and Forms server.

Friday, July 20, 2007

Oracle Critical Patch Update–July 2007

As part of security concern DBA has to apply Oracle Critical Patch regularly as and when there is critical security patch release from Oracle. Oracle started critical security patch in 2005 and since then there is four-security patches release in year. For year 2007 following are four dates:

- 17 July 2007

- 16 October 2007

- 15 January 2008

- 15 April 2008

Last we applied critical security patch July 2006. As part of regular critical security patch update we are going to apply “Oracle Critical Patch Update – July 2007” by referring given URL.

Oracle E-Business Suite Critical Patch Update Note July 2007

Note: 432882.1

Before analyzing Patch requirement I would list down product installed.

- Oracle E-Business Suite Release 11i 11.5.10 CU2

- Oracle9i Enterprise Edition Release 9.2.0.8.0 - 64bit Production

- Oracle Application Server 10g Release 2 (10.1.2), versions 10.1.2.0.2

We have running Oracle E-Business Suite Rel. 11i so I am referring “Section 2, "Oracle E-Business Suite Release 11i"” of Note: 432882.1

As per oracle guideline we should apply updates to systems that have highest risk first e.g. update systems that are external to firewall before upgrading internal network system. It our environment we do not have any external system.

Oracle has recommended patching Oracle environment in given order and I follow same.

1. Oracle Database

2. Oracle Application Server

3. Oracle E-Business Suite

Patching Considerations for Oracle E-Business Suite Release 11i

Oracle Database and Oracle Application Server critical patches are cumulative, which means it includes all patches for fixes from earlier Oracle critical security patch updates. CPU patches for Oracle E-Business Suite 11i are generally not cumulative, that means one has to refer earlier critical updates and apply all the e-business suite critical patches in chronological order.

In my case I had applied Critical update patch July 2006 and now I need to apply Critical update patch July 2007. So in this case I should apply patches as given below.

1. Oracle Database Critical Update patches is cumulative so I need to apply only critical update patch July 2007.

2. Oracle Applications Server Critical Update patches is cumulative so I need not to apply Critical update patch July 2007.

3. Oracle E-Business Suite Critical Update patches is not cumulative so I need to apply Critical update patch Oct 2006, Jan 2007, Apr 2007 before apply Critical update patch July 2007.

As per Note: 432882.1 Release 11.5.10 applications upgraded to release 11.5.10 CU2 without apply CPUApr2007 must now apply CPUApr2007. E-Business Suite are not cumulative, so we one should apply prior CPUs as appropriate before applying CPUApr2007.

Stop all process running using that Oracle home before patching. Patch one oracle home at a time.

Oracle recommends updating database tier and the middle tier at same time, one after the other. After applying patch start services in following order. We have only these two components in our environment.

1. Oracle Database

2. Oracle Application Server

‘opatch’ is required to apply database patch.

$ pwd

/local/oracle/product/9.2.0.8/OPatch

$ opatch -version

Oracle Interim Patch Installer version 1.0.0.0.56

Oracle recommends to use OPatch release 1.0.0.0.57 so need to install patch 2617419

Patches to be applied in Ebusiness Suit.

Noteà We are Running Ebusiness Suite in HP-UX 11i environment.

Oracle Database Patches

Oracle Database 9.2.0.8 Rel Patch 6079579

Oracle HTTP Server Patche

There are no new patches for CPUJul2007. Please uptake the patches listed for this release in CPUJan2007. See Note 402670.1: Oracle E-Business Suite Critical Patch Update Note January 2007.

As per Note 402670.1

1. If you have not already done so, upgrade to release 1.0.2.2.x. See Note 146468.1.

2. Upgrade to Oracle8i Database release 8.1.7.4 using patch 2376472 if your Oracle Database Client release is earlier than release 8.1.7.4. See Note 309026.1.

3. Apply CPUJan2007 patch 5700129 to the Oracle Application Server Oracle home.

We have applied upgraded to Orace8i 8.1.7.4 home using patch 2376472 so I need to apply only CPUJan2007 patch 5700129.

Oracle Developer Suite Patches

We are at Oracle Developer Suite Release 6.0.8.27.0. According to Note 402670.1 “There are no new patches for CPUApr2007. Please uptake the following patches which were listed for this release in CPUJan2007. “

· Oracle Forms (HP-UX): 5687261

· Oracle Reports (HP-UX): 5686997

· Release 8.0.6 Oracle home: 5078711

JInitiator Patches

We are using Jinitiator Release 1.3.1.26 and as Note 402670.1 “Per Oracle policy, customers on Oracle JInitiator Release 1.3 must move to version 1.3.1.26 or higher for CPUApr2007.” Refer to Note 124606.1 and Note 232200.1 for more information.

We’ll upgrade Jinitator Release from 1.3.1.26 to 1.3.1.28.

As per Note 124606.1 I need to apply following patches to upgrade Jinitiator to 1.3.1.28.

JInitiator Version JInitiator Patch Interop Patch

1.3.1.28 5882294 5117525

Apart from above patches following patches are required for respective product users. I am listing only those patches, which are applicable in our environment.

- Oracle Applications Framework Navigator Page

If you are using Oracle Applications prior to 11.5.10.2CU, please apply patch 4517707.

- General Ledger Hierarchy Manager / Financial Intelligence - Financial Dimension Hierarchy Manager Users

If you are upgrading to JInitiator 1.3.1.x and are using Oracle Applications Framework 5.7 or later, you must apply patch 3698893.

Oracle E-Business Suite Release 11i Patches

Oracle CPUApr2007 patches for E-Business Suite Release 11i are not generally cumulative. We need to apply the previous critical patch updates and Oracle security alerts related to ebusiness Suite before applying this critical patch update.

In my case I need to apply following patches.

E-Business Suite Critical Patch October 2006

· 5486407

· 5479643 Superceded by 5473858 (11i.ATG_PF.H.RUP5)

· 5500118 Superceded by 5473858 (11i.ATG_PF.H.RUP5)

· 5335967

E-Business Suite Critical Patch January 2007

· 5571208 Superceded by 5473858

· If your instance is at 11i.BNE.D, then apply patch 5518587 Supercede by patch 5473858

· 5658489

· 3748835

· 5711485

E-Business Suite Critical Patch April 2007

Patch 5021981 (FND)

Release 11.5.10 CU2

· 5893391

· 5900224

· 5352601

· 5720979

· 5738134

· 5909233

· 5873313

· 5904576

· 5967405

Oracle E-Business Suite 11i with 11i.ATG_PF.H RUP4 (4676589) installed

· 5873313

· 5904576

· 5900224

· 5938358

· Any other patches listed for the Oracle E-Business Suite Release 11i base release on which 11i.ATG_PF.H RUP4 is installed.

E-Business Suite Critical Patch July 2007

11i with 11i.ATG_PF.H RUP4 (4676589) installed

· 5973659

· 6045931

Release 11.5.10 CU2

· 6117954

· 6045983

· 5973898

· 5973651

· 5973629

· 6185758

· 6082483

· 6110945

· 6111066

· 6111008

· 6188705

Reference:

Oracle E-Business Suite Critical Patch Update Note January 2007 Note:402670.1

Oracle E-Business Suite Critical Patch Update Note April 2007

Note:420072.1

Oracle E-Business Suite Critical Patch Update Note July 2007

Note:432882.1

Wednesday, July 18, 2007

Generate SQL tkprof

Very often we need to generate tkprof output of sql/plsql to troubleshoot performance issue so I though of putting all steps together.

  • Login as SQLPLUS.
SQL>connect apps/appsndev6 Connected.
  • Set SQL Trace ON
SQL> ALTER SESSION SET SQL_TRACE = TRUE; SQL> alter session set events '10046 trace name context forever, level 8';
  • Get SPID number to identify trace file generate at UDUMP location.
SQL> SELECT spid FROM v$process WHERE addr = ( SELECT paddr FROM v$session WHERE audsid=userenv('SESSIONID') ); SPID ------------ 18979
  • Run SQL to generate trace
SQL> begin BIS_MV_REFRESH.refresh_wrapper ('FII_GL_BASE_MAP_MV', 'f', 0); end;
  • Go to RDBMS udump location and list *SPID* return from previous query.
nysesapd:/local/oracle/admin/ndev6/udump $ls -l *18979* -rw-rw-r-- 1 oracle dba 238565 Jul 18 14:56 ndev6_ora_18979.trc
  • Generate tkprof output as given below.
tkprof ndev6_ora_18979.trc ndev6_ora_18979.tkp sort=exeela,prsela,fchela mailto:explain=apps/appsndev6@ndev6

Tuesday, July 17, 2007

Forms Listener Servlet with Oracle Applications 11i

As part of DMZ configuration we were suppose to convert Forms to Forms Listener Servlet.

As part of configuration I performed following steps.

  1. Ensured Forms Patchset level is 16 or higher. We are at patchset level 18.

  2. Ensured Instance is Autoconfig enable.

  3. Ensured patch 3594604 has been applied. We have applied 11.5.10 Rel 2 maintenance patch 3480000 which is superseded patch of 3594604.

  4. Logged in to OAM. OAM Site Map -> AutoConfig-> Configuration Wizard -> Forms Listener Servlet and Choose the Enable or Disable button to enable or disable "Forms Listener Servlet".

  5. Run autoconfig.

$ ./adautocfg.sh Enter the APPS user password: AutoConfig is configuring the Applications environment...