Tuesday, April 6, 2010

How to avoid ORA-01565 on database STARTUP due to failure to open spfile

We have an init.ora file points to the spfile:

oracle@pind41(PROD1/DBTier):$ cat initPROD1.ora
spfile='+DSKGRP1/PROD/PARAMETERFILE/spfilePROD.ora'

we started up the database using the actual initPROD1.ora.final file

oracle@pind41(PROD1/DBTier):$ ls -l initPROD1.ora.final
-rw-r--r-- 1 oracle oinstall 5438 Feb 21 08:07 initPROD1.ora.final

Then create spfile using following command:

SQL> create spfile='+DSKGRP1/PROD/PARAMETERFILE/spfilePROD.ora' using pfile;

SQL> shutdown immediate;
SQL> startup nomount
ORA-01078: failure in processing system parameters
ORA-01565: error in identifying file '+DSKGRP1/PROD/PARAMETERFILE/spfilePROD.ora'
ORA-17503: ksfdopn:2 Failed to open file +DSKGRP1/PROD/PARAMETERFILE/spfilePROD.ora
ORA-01000: maximum open cursors exceeded

The above issue is due to creating spfile without specify the pfile so the default pfile was used to create the spfile. The default pfile is a pointer to the spfile.

Two ways to avoid the problem:

1. Follow Metalink Note 419509.1, specify the pfile with full path and file name when creating spfile.

2. rename initPROD1.ora to be initPROD1.ora.spfile and copy initPROD1.ora.final to initPROD1.ora, then startup database and create spfile. Copy initPROD1.ora.spfile to initPROD1.ora and then startup force.


REF:

ORA-01565 on database STARTUP due to failure to pen SPFILE[ID 419509.1].

schedule downtime and monitor adpatch, adadmin etc

1. schedule downtime: sitemap->maintenance->manage downtime schedules->schedule downtime

downtime page is at: http://{host}:{port}/OA_HTML/oam/nonUix/launchMode/restricted/downtime.html

2. OAM restricted mode

2.1 update contextfile, set s_trusted_admin_client_nodes to be the desktop ip address. (need to add load balancer ip address to if it is used).
2.2 Run adautocfg
2.3 Unlock database account ad_monitor and change password. Default password is lizard.
2.4 Run adadmin to put system in maintenance mode.
2.5 Start apache in restricted mode: adaprstctl.sh start|stop
2.6 login to OAM: http://{host}:{port}/servlets/weboam/oam/oamLogin
use ad_monitor to login to monitor the progress of adpatch / adadmin

login to the system using http://{host}:{port}/ to see the downtime maintenance page.

3. run adpatch or adadmin for system maintenance

4. remember to disable maintenance mode and run adaprstctl.sh stop

5. need to apply patch 4584326 if step 2.6 hangs.

6. Metalink Notes: 364236.1: Managing Downtime in Restricted Mode from OAM; 368503.1: Not able to login to Oracle applications manager

How to fix invalid database components

End users got invalid objects error and database eventually crashed. After starting up database, following components are invalidated: AMD (OLAP Catalog), CATPROC (Oracle Database Packages and Types), CONTEXT (Oracle Text) and ODM (Oracle Data Mining).

Attempt 1: use utlrp.sql to compile invalid objects: does not work.

Attempt 2: startup restrict and then run following: (does not work).
SQL>@?/rdbms/admin/catalog.sql
SQL>@?/rdbms/admin/catproc.sql
SQL>@?/rdbms/admin/utlrp.sql

Attempt 3: startup upgrade and then run following:
SQL>@?/rdbms/admin/catalog.sql
SQL>@?/rdbms/admin/catproc.sql
SQL>@?/rdbms/admin/utlrp.sql

It worked.

Here is the note from 10gR2 upgrade guide:

Note: The UPGRADE keyword allows you to open a pre-10.2
database. It also restricts logons to AS SYSDBA sessions, disables
system triggers, and performs additional operations that prepare the
environment for the upgrade.

Thus the upgrade keyword includes restricted mode. Furthermore, disables system triggers etc. Normally, upgrade key is used during an upgrade session. I believe we need to set _system_trig_enabled to be false under restricted mode before running catalog.sql, catproc.sql.

*._system_trig_enabled = TRUE # set FALSE for upgrades/migrations

Check and validate individual components:

SQL> Rem Indicate CATPROC load complete and check validity
SQL> BEGIN
2 dbms_registry.update_schema_list('CATPROC',
3 dbms_registry.schema_list_t('SYSTEM', 'OUTLN', 'DBSNMP'));
4 dbms_registry.loaded('CATPROC');
5 dbms_registry_sys.validate_catproc;
6 dbms_registry_sys.validate_catalog;
7 END;
8 /

Upgrade JDK to 1.6.0_017 in EBS 11i (11.5.10.2)

1. upgrade client plug-in to Jinitiator 1.3.1.x or JRE 1.5.0.x (native plug-in) before upgrading java to JDK 6.
2. down jdk 6.0 from http://java.sun.com/javase/downloads/index.jsp and run chmod
chmod +x $PATCH_TOP/jdk-6u17-linux-i586.bin
3. install jdk 6
mkdir $COMMON_TOP/util/java/1.6
cd $COMMON_TOP/util/java/1.6
$PATCH_TOP/jdk-6u17-linux-i586.bin
The installer will create a directory: jdk1.6.0_17 under $COMMON_TOP/util/java/1.6
4. apply ATG_PF.H.RUP5 5473858.
5. apply JDK 6 consolidated patch and other EBS interoperability patches
for 11.5.10.2: jdk 6 consolidated patch for 11.5.10CU2, patch 5622511 and contract core patch 5977502.
6. run the JDK 6 upgrade script to update configuration file
txkrun.pl –script=SetJDKCfg –contextfile=$CONTEXT_FILE –runautoconfig=Yes –appspass=appspwd –jdktop=$COMMON_TOP/util/java/1.6/jdk1.6.0_17
7. source env and check JRE related env variables are point to jdk1.6.0_17
8. replace $iAS_ORACLE_HOME/Apache/jdk to link to new jdk.
9. run adadmin to regenerate appsborg2.zip and product JAR files.

Reference:
Metalink Note 401561.1: Using J2SE version 6 with oracle e-business suite 11i

How to run adautocfg.sh and adcfgclone.sh in a script

Running adautocfg.sh and perl adcfgclone.pl will prompt for apps password. Here is the way to run it in non-interactive mode:

1. adautocfg.sh

adautocfg.sh appspass=appspw

using following method will generate invalid argument message but the message can be ignored.

echo appspw |adautocfg.sh

applptch@pind34(PTCH_806_BALANCE/Web:Forms:MWA):$ echo as46bw8 |adautocfg.sh
stty: standard input: Invalid argument
Enter the APPS user password :
stty: standard input: Invalid argument

2. adcfgclone.pl

echo appspw | perl adcfgclone.pl $CONTEXT_FILE

need to specify contextfile to prevent from cloning interview process for creating a new contextfile.

Note:
For suppressing stty error, add following in .bashrc

##to avoid following error
##stty: standard input: Invalid argument
if [ -t 0 ]; then
stty intr ^C
fi

menu_option for adadmin and adctrl

Menu Option Corresponding AD Administration Menu Choice
GEN_MESSAGES Generate message files
GEN_FORMS Generate form files
GEN_GRAPHICS Generate graphics files
GEN_REPORTS Generate reports files
GEN_JARS Generate product JAR files
RELINK Relink Applications programs
CREATE_ENV Create Applications environment file
COPY_FILES Copy files to destinations
CONVERT_CHARSET Convert character set
SCAN_APPLTOP Scan the APPL_TOP for exceptions
SCAM_CUSTOM_DIR Scan a CUSTOM directory for exceptions
LIST_SNAPSHOT List snapshots
UPDATE_CURRENT_VIEW Update current view snapshot
CREATE_SNAPSHOT Create named snapshot
EXPORT_SNAPSHOT Export snapshot to file
IMPORT_SNAPSHOT Import snapshot from file
DELETE_SNAPSHOT Delete named snapshot
CHECK_FILES Check for missing files
CMP_INVALID Compile APPS schema
CMP_MENU C ompile menu information
CMP_FLEXFIELDS Compile flexfield data in AOL tables
RELOAD_JARS Reload JAR files to database
VALIDATE_APPS Validate APPS schema
CREATE_GRANTS Recreate grants and synonyms for APPS schema
MAINTAIN_MLS Maintain multi-lingual tables
CHECK_DUAL Check DUAL table
MAINTAIN_MRC Maintain Multiple Reporting Currencies schema
CONVERT_MCURR Convert to Multiple Reporting Currencies
CONVERT_MULTI_ORG Convert to Multi-Org
ENABLE_MAINT_MODE Enable Maintenance Mode
DISABLE_MAINT_MODE Disable Maintenance Mode


$ adadmin defaultsfile=$APPL_TOP/admin/$TWO_TASK/admydefaults.txt menu_option=ENABLE_MAINT_MODE interactive=n



Menu Option Corresponding AD Control Menu Choice
ACKNOWLEDGE_QUIT Tell manager that a worker acknowledges quit
INFORM_FAILURE Tell manager that a worker failed its job
RESTART_JOB Tell worker to restart a failed job
SHOW_STATUS Show worker status
SHUTDOWN_WORKER Tell worker to quit
START_WORKER Restart a worker on the current machine

Note: Using any menu option on the command line, except for SHOW_STATUS, requires that you also use the worker_range= option. See the AD Controller command line help for details.

$ adctrl interactive=n defaults_file=$APPL_TOP/admin/prod/ctrldefs.txt \ logfile=adctr.log menu_option=SHOW_STATUS

ways to enable or disable or bypass maintenance mode during patching

1. run sql script

sqlplus -s apps/appspass @$AD_TOP/patch/115/sql/adsetmmd.sql ENABLE
sqlplus -s apps/appspass @$AD_TOP/patch/115/sql/adsetmmd.sql DISABLE

2. interactive adadmin

adadmin->(5) Change Maintenance Mode->(1) Enable Maintenance Mode

adadmin->(5) Change Maintenance Mode->(2) Disable Maintenance Mode


3. noninteractive adadmin

3.1 create defaults file:

adadmin defaultsfile=$APPL_TOP/admin/$TWO_TASK/admydefaults.txt

(for email notification prompt, need to answer No. answer Yes to give an email address)

(the passwords for system and applsys are hashed).

3.2 use the defaults file:

adadmin defaultsfile=$APPL_TOP/admin/$TWO_TASK/admydefaults.txt \ menu_option=DISABLE_MAINT_MODE interactive=n

adadmin defaultsfile=$APPL_TOP/admin/$TWO_TASK/admydefaults.txt \ menu_option=ENABLE_MAINT_MODE interactive=n


4. adpatch options=hotpatch to bypass maintenance mode

Need to follow Oracle Support to use this options while the system is up. For other patches, shutdown application first and then use hotpatch option to apply patches without enable maintenance mode.

rapidclone finishing tasks

1. dba_libraries
(see other blog entry, login as sys)

2. dba_directories
(see other blog entry, login as sys)

3. profile options
3.1 hard-coded mounting points in profile options
select * from fnd_profile_optuion_values –search for path
update fnd_profile_option_values
set profile_option_value=replace(profile_option_value,’/data/applprod’,’/data/applptch’);

3.2 update site name
update fnd_profile_option_values set profile_option_value ='Powell GOLD '||to_char(sysdate,'mm/dd/yyyy') where profile_option_id =(select profile_option_id from fnd_profile_options where profile_option_name='SITENAME');

3.3 update color schema (for easy differentiation among different environment)

update fnd_profile_option_values set profile_option_value ='RED' where profile_option_id =(select profile_option_id from fnd_profile_options where profile_option_name='FND_COLOR_SCHEME') and LEVEL_ID=10001 and LEVEL_VALUE=0;

Other colors
select * from fnd_lookups where lookup_type ='COLOR_SCHEME'

LOOKUP_TYPE LOOKUP_CODE MEANING
COLOR_SCHEME BLAF blaf
COLOR_SCHEME BLUE blue
COLOR_SCHEME KHAKI khaki
COLOR_SCHEME OLIVE olive
COLOR_SCHEME PURPLE purple
COLOR_SCHEME RED red
COLOR_SCHEME TEAL teal
COLOR_SCHEME TITANIUM titanium


4. printer settings

5. workflow
5.1 update over email address
update fnd_svc_comp_param_vals set parameter_value='oracle.powell@powellind.com' where parameter_id=(select parameter_id from fnd_svc_comp_params_tl where language='US' and display_name='Test Address');
5.2 update source system SID (PROD) and port (8000) in the URL
wf_notification_attributes.text_value
wf_item_attribute_values.text_value

5.3 wf_system
Select * from wf_system. Need to update name and display_name.
wf_system.GUID
wf_system.name

5.4 wf_agents.address
Select * from wf_agents. Need to update address
wf_agents.address

6. forms (optional)

fnd_form_functions.web_host_name
fnd_form_functions.web_agent_name

7. concurrent requests

fnd_concurrent_requests.log_file_name
fnd_concurrent_requests.out_file_name

8. cookie (in case load balancer and web servers on different domain)

example: web servers: .powellind.pri and load balancer: .powellind.com

update session_cookie_domain using the load balancer domain.

Update icx_parameters set session_cookie_domain = ‘.powellind.com’;

icx_parameters.session_cookie_domain

9. check $APPLCSF

10. dba_services (optional)
(see other blog entry, login as sys)

11. others

check fnd_concurrent_queues.node_name and node_name2, fnd_concurrent_requests.logfile_node_name.

postclone task (4) fix dba_services

New services are created during the cloning procedure. However, old services are not removed. Using dbms_service.delete_service(‘NAME’) to delete them.

SQL> col NAME format a20
SQL> col NETWORK_NAME format a45
SQL> select NAME,NETWORK_NAME,enabled from dba_services;

NAME NETWORK_NAME ENA
-------------------- --------------------------------------------- ---
SYS$BACKGROUND NO
SYS$USERS NO
PROD.powellind.com PROD.powellind.com
PROD PROD
PROD2 PROD2
PROD1 PROD1
PRODN.POWELLIND.COM PRODN.POWELLIND.COM
PRODN2 PRODN2
PRODN1 PRODN1
PRODN PRODN
APPLSYS.WF_CONTROL SYS$APPLSYS.WF_CONTROL.PRODN.POWELLIND.COM NO
DEV.POWELLIND.COM DEV.POWELLIND.COM NO
DEV2 DEV2 NO
DEV1 DEV1 NO
DEV DEV NO


SQL> exec dbms_service.delete_service('PROD.powellind.com');

PL/SQL procedure successfully completed.

SQL> exec dbms_service.delete_service('PROD');

PL/SQL procedure successfully completed.

SQL> exec dbms_service.delete_service('PROD2');

PL/SQL procedure successfully completed.

SQL> exec dbms_service.delete_service('PROD1');

PL/SQL procedure successfully completed.

SQL> exec dbms_service.delete_service('PRODN.POWELLIND.COM');

PL/SQL procedure successfully completed.

SQL> exec dbms_service.delete_service('PRODN2');

PL/SQL procedure successfully completed.

SQL> exec dbms_service.delete_service('PRODN1');

PL/SQL procedure successfully completed.

SQL> exec dbms_service.delete_service('PRODN');

PL/SQL procedure successfully completed.

SQL> exec dbms_service.STOP_SERVICE('APPLSYS.WF_CONTROL');

PL/SQL procedure successfully completed.

SQL> exec dbms_service.delete_service('APPLSYS.WF_CONTROL');

PL/SQL procedure successfully completed.

SQL> exec dbms_service.create_service('APPLSYS.WF_CONTROL','SYS$APPLSYS.WF_CONTROL.DEV.POWELLIND.COM');

PL/SQL procedure successfully completed.

SQL> exec dbms_service.start_SERVICE('APPLSYS.WF_CONTROL');

PL/SQL procedure successfully completed.

It is clean now:

SQL> select NAME,NETWORK_NAME,enabled from dba_services;

NAME NETWORK_NAME ENA
-------------------- --------------------------------------------- ---
SYS$BACKGROUND NO
SYS$USERS NO
APPLSYS.WF_CONTROL SYS$APPLSYS.WF_CONTROL.DEV.POWELLIND.COM NO
DEV.POWELLIND.COM DEV.POWELLIND.COM NO
DEV2 DEV2 NO
DEV1 DEV1 NO
DEV DEV


Reference:

1. Explicitly removing a Queue Service in RAC environment causes ORA-00600 [1 KWQVSS] [ID 602648.1]

postclone task (3) fix dba_directories

Database directories are not updated during the cloning procedure. You have to update them manually.

Select owner,directory_name,directory_path from dba_directories;

Use create or replace directory “directory_name” as “directory_path”; to update directories. Run from sys.

Use following query in the source system to find out the required priviledges that were granted:

Select * from dba_tab_privs where table_name in (select directory_name from dba_directories);


Directory has read and write privilege in database 10g.

Here is an example:

Drop Directory POWL_OUTBOUND_ACSIS;
Drop Directory POWL_OUTBOUND_EDI;
Drop Directory POWL_OUTBOUND_CERIDIAN;
Drop Directory CCR_CONFIG_DIR;
Drop Directory EBS_LL_CONFIG_DIR;
Drop Directory POWL_INBOUND_AMEX;
Drop Directory POWL_WIP_TRANS;

create or replace directory ADMIN_DIR
as '/opt/oracle/product/10.2.0/PTCH/md/admin';

create or replace directory WORK_DIR
as '/opt/oracle/product/10.2.0/PTCH/work';

create or replace directory DATA_PUMP_DIR
as '/opt/oracle/product/10.2.0/PTCH/rdbms/log';

create or replace directory ORACLE_OCM_CONFIG_DIR
as '/opt/oracle/product/10.2.0/PTCH/ccr/state';
grant ALL on dirctory ORACLE_OCM_CONFIG_DIR to ORACLE_OCM;


Create Directory CCR_CONFIG_DIR
As '/opt/oracle/product/10.2.0/db_2/ccr/state';

Create Directory EBS_LL_CONFIG_DIR
As '/opt/oracle/product/10.2.0/db_2/ccr/state';
grant ALL on dirctory EBS_LL_CONFIG_DIR to apps;

Create Directory POWL_INBOUND_GL
As '/pcp/applptch/common/xx_custom/inbound/gl';
Grant ALL on Directory POWL_INBOUND_GL to APPS;
Grant ALL on Directory POWL_INBOUND_GL to XX_CUSTOM;

Create Directory POWL_OUTBOUND_ACSIS
As '/pcp/applptch/common/xx_custom/outbound/acsis';
Grant ALL on Directory POWL_OUTBOUND_ACSIS to APPS;
Grant ALL on Directory POWL_OUTBOUND_ACSIS to XX_CUSTOM;

Create Directory POWL_OUTBOUND_EDI
As '/pcp/applptch/common/xx_custom/outbound/edi';
Grant ALL on Directory POWL_OUTBOUND_EDI to APPS;
Grant ALL on Directory POWL_OUTBOUND_EDI to XX_CUSTOM;

Create Directory POWL_OUTBOUND_CERIDIAN
As '/pcp/applptch/common/xx_custom/outbound/ceridian';
Grant ALL on Directory POWL_OUTBOUND_CERIDIAN to APPS;
Grant ALL on Directory POWL_OUTBOUND_CERIDIAN to XX_CUSTOM;

create or replace directory POWL_INBOUND_AMEX
As '/pcp/applptch/common/xx_custom/inbound/amex';
Grant ALL on Directory POWL_INBOUND_AMEX to APPS;
Grant ALL on Directory POWL_INBOUND_AMEX to XX_CUSTOM;

create or replace directory POWL_WIP_TRANS
As '/pcp/applptch/common/temp';
Grant ALL on Directory POWL_WIP_TRANS to APPS;
Grant ALL on Directory POWL_WIP_TRANS to XX_CUSTOM;

postclone task (2) fix dba_libraries

If you run adcfgclone.pl with dbTier component, following script will be called to update libraries: ctxsys.DR$LIBX, SYS.DBMS_SUMADV_LIB, and ORDSYS.ORDIMLIBS.

$ORACLE_HOME/appsutil/install//adupdlib.sql

If you manually created the database and only run adcfgclone.pl dbTechStack before cloning database, you need to run above script manually.

cd $ORACLE_HOME/appsutil/install//

sqlplus “/ as sysdba” @adupdlib.sql so

so is the library extension on linux and solaris. Check your system to see which extension you need to you.

SQL> col owner format a10
SQL> col file_spec format a60
SQL> set linesize 200
SQL> select OWNER,LIBRARY_NAME,FILE_SPEC
from dba_libraries where FILE_SPEC is not null;

OWNER LIBRARY_NAME FILE_SPEC
---------- ------------------------------ -----------------------------------------------------------
SYS DBMS_SUMADV_LIB /opt/oracle/product/10.2.0/DEV/lib/libqsmashr.so
SYSTEM NMUC_UTILS /opt/oracle/product/10.1.0/db_1/lib/libnmuc.so
SYSTEM EPS_LIB eps.so
ORDSYS ORDIMLIBS /opt/oracle/product/10.2.0/DEV/lib/libordim10.so
MDSYS SDO_GEOR_LIZARDTECH_LIB /opt/oracle/product/10.2.0/db_2/md/dll/liblt_dbmrsid_oci.so

Above is from my DEV environment. I am missing ctxsys.DR$LIBX (it is fine as only required for version before database 10g) and system.NUMUC_UTILS and MDSYS.SDO_GEOR_LIZARDTECH_LIB are wrong.

However, liblt_dbmrsid_oci.so does not exist on the system. Nevertheless, just create or replace it with correct path:

Create or replace library system.NMUC_UTILS as ‘/opt/oracle/product/10.2.0/DEV/lib/libnumuc.so’;
/

Create or replace library mdsys.SDO_GEOR_LIZARDTECH_LIB as
‘/opt/oracle/product/10.2.0/DEV/md/dll/liblt_dbmrsid_oci.so’;
/

Check following to see if grant execute on library to the intended users are correct:

Select * from dba_tab_priv where table_name in (select library_name from dba_libraries);

postclone task (1) fix symbolic links on apps tier

After cloning, the symbolic links need to be re-created. 6iserver in $IAS_ORACLE_HOME and jdk in $IAS_ORACLE_HOME/Apache. If your system has some customization, need to check the symbolic in $XX_CUSTOM_TOP. Following is my script to fix the symbolic links: fix_apps_symboliclink.sh


##run after source APPS.env
cd $IAS_ORACLE_HOME
rm 6iserver
ln -s $ORACLE_HOME 6iserver

cd $IAS_ORACLE_HOME/Apache
rm jdk
ln -s $OA_JRE_TOP jdk

cd $XX_CUSTOM_TOP/bin
rm POWLCERIDIAN
ln -s $FND_TOP/bin/fndcpesr POWLCERIDIAN

rm POWL_CERIDIAN_CMD
ln -s $FND_TOP/bin/fndcpesr POWL_CERIDIAN_CMD

rm POWL_MANUFAC_SUMMARY_RPT
ln -s $FND_TOP/bin/fndcpesr POWL_MANUFAC_SUMMARY_RPT

rm POWLPOACSIS
ln -s $FND_TOP/bin/fndcpesr POWLPOACSIS

rm POWLPOEDI
ln -s $FND_TOP/bin/fndcpesr POWLPOEDI

rm POWL_RS_STATION_RPT
ln -s $FND_TOP/bin/fndcpesr POWL_RS_STATION_RPT

rm XXPOW_CUSTOMER_BOM_RPT_LOG
ln -s $FND_TOP/bin/fndcpesr XXPOW_CUSTOMER_BOM_RPT_LOG

Using SUN JRE 1.6.0_017 with EBS 11i (11.5.10.2)

1.download the JRE plug-in Oracle E-Business Suite interoperability patch 6861618.

2. download the JRE 6 (JRE 1.6.0_X) plug-in from http://java.sun.com/javase/downloads/index.jsp.

3. download prerequisite patches (conditional)
For Developer 6i Patchset 19 users: patch 8717874.
For Developer 6i Patchset 18 users: patches 8753046 and 5884875.

4. rename jre-6uX-windows-i586 to j2se160X.exe. For example: rename jre-6u17-windows-i586 to j2se16017.exe

5. put j2se16017.exe in $COMMON_TOP/util/jinitiator on web tier and rename the old jinitiator or previous versions of jre.

6. apply prerequisite patches based on Developer 6i patchset level

7. apply interoperability patch 6861618 (need this patch when upgrade from jinitiator)

8. run txkSetPlugin.sh which in $PATCH_TOP/6861618/fnd/bin against the web nodes. It will update contextfile, update the version used by Workflow and run AutoConfig to incorporate the new values throughout your application. (need to run it when upgrade from jinitiator or upgrade from previous versions of jre on all web nodes)

txkSetPlugin.sh jversion

example: txkSetPlugin.sh 16017



Reference:
Deploying Sun JRE (Native Plug-in) for Windows clients in Oracle E-Business Suite 11i [ID 290807.1]

Status code and Phase code for Concurrent requests

Status code and Phase code for Concurrent requests
Here is what the abbreviation for status code and phase code means for Concurrent Requests in Oracle Apps

select lookup_type,lookup_code,meaning
from fnd_lookups
where lookup_type in ('CP_STATUS_CODE','CP_PHASE_CODE')

LOOKUP_TYPE LOOKUP_CODE MEANING
CP_PHASE_CODE C Completed
CP_PHASE_CODE I Inactive
CP_PHASE_CODE P Pending
CP_PHASE_CODE R Running

CP_STATUS_CODE A Waiting (1)
CP_STATUS_CODE B Resuming
CP_STATUS_CODE C Normal (1)
CP_STATUS_CODE D Cancelled
CP_STATUS_CODE E Error
CP_STATUS_CODE G Warning
CP_STATUS_CODE H On Hold
CP_STATUS_CODE I Normal (2)
CP_STATUS_CODE M No Manager
CP_STATUS_CODE P Scheduled
CP_STATUS_CODE Q Standby
CP_STATUS_CODE R Normal (3)
CP_STATUS_CODE S Suspended
CP_STATUS_CODE T Terminating
CP_STATUS_CODE U Disabled
CP_STATUS_CODE W Paused
CP_STATUS_CODE X Terminated
CP_STATUS_CODE Z Waiting (2)

Note above that there are three status codes for Normal: C, I, and R and there are two satus codes for Waiting: A and Z.
Thus a request in "Running" "Normal" state will have phase_code "R" and status_code"R"

logfile location for ad tools

1. Rapidclone, rapidinstall and aduatocfg.sh

$APPL_TOP/admin/${CONTEXT_NAME}/log/MMDDhhmm/adconfig.log

$APPL_TOP/admin/${CONTEXT_NAME}/log/ApplyAppsTier_MMDDhhmm.log

$ORACLE_HOME/appsutil/log/${CONTEXT_NAME}/ApplyDBTechStack_MMDDhhmm.log

$ORACLE_HOME/appsutil/log/${CONTEXT_NAME}/MMDDhhmm/adconfig.log

2. adadmin, adpatch, adaimgr, adctrl, autoconfig run from adpatch, relink from adadmin logs


$APPL_TOP/admin/${TWO_TASK}/log


3. Restart files for adadmin and adpatch

$APPL_TOP/admin/${TWO_TASK}/restart


4. adrelink.sh, admkappsutil.pl

$APPL_TOP/admin/log

For relink AD tools, need to use adrelink.sh. adrelink.sh can be used for other products or run adadmin relink option.


5. start/stop services:

$COMMON_TOP/admin/log/${CONTEXT_NAME}/MMDDhhmm.log


6. CONTEXT_NAME and TWO_TASK

CONTEXT_NAME=${SID}_hostname

TWO_TASK=${SID} or ${SID}_806_BALANCE

adpatch operations

1. prompts for required information about the patch
2. unloads patch metadata and verifies prerequisite patches have been applied (need most recent snaphosts:run adadmin->maintain snapshots option)
3. uploads patch history information to the database from previous run (if needed).
4. reads and validates the patch driver file.
5. reads product file driver files.
6. extracts object modules from the product libraries (so it can compare version numbers on the object modules it extracts)
7. compares the version numbers of the existing files against the files in the patch (version checking)
8. backs up any existing files that will be changed.
9. copies files
10. archives files into libraries.
11. relinks executables.
12. generates Java archive (JAR) files.
13. compiles JSP files.
14. updates database objects.
15. maintains the MRC schema, if needed.
16. compiles invalid database objects.
17. generates forms, reports, message, and graphics files.
18. runs AutoConfig to update configuration files, if any template files are introduced or updated by the patch.
19. saves patch history information to the database.