Sunday, 29 March 2020

Adop apply fails with " Do you wish to apply this patch now [No] ? No *

Adop apply fails with " Do you wish to apply this patch now [No] ? No *





APPLIES TO:

Oracle E-Business Suite Technology Stack - Version 12.2.3 to 12.2.3 [Release 12.2]
Information in this document applies to any platform.
SYMPTOMS
On  12.2.x version, Patch Application Issues
When attempting to apply patch the following error occurs:

  Node <node>: FAILED
  - Apply status: FAILED
  [UNEXPECTED] Apply phase has failed.
  [ERROR] adop phase=apply failed on Node: "<node>"
  [ERROR] adop phase=apply failed or is incomplete on Admin node: <node>
  [ERROR] Unable to continue processing on other available nodes: <node2>,<node3>
  [UNEXPECTED] Error running "adop phase=apply" on node(s): <node>.

The issue can be reproduced at will with the following steps:

1. Attempt to apply patch
2 Fails without much information apart from patch log entry:

-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
This base patch contains files which may require translation
depending on the languages you currently have installed.

Oracle Corporation recommends that you obtain any translated versions of this
patch for each of your non-US languages after applying this base patch.
Or you may request and apply a Translation Synchronization Patch
to obtain the translation.
-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Do you wish to apply this patch now [No] ? No *

CAUSE

The adalldefaults.txt was providing default answer "No" during patch application.
 
As per the following output:

$APPL_TOP/admin/${TWO_TASK}/adalldefaults.txt


#
# Do you wish to continue with applying this patch even if there are
# translated version of the same patch pending to be applied ?
#

## Start of Defaults Record
 %%START_OF_TOKEN%%
  MISSING_TRANSLATED_VERSION
 %%END_OF_TOKEN%%

 %%START_OF_VALUE%%
No
 %%END_OF_VALUE%%
## End of Defaults Record
 

SOLUTION


1. Please change the: $APPL_TOP/admin/${TWO_TASK}/adalldefaults.txt:

FROM:
#
# Do you wish to continue with applying this patch even if there are
# translated version of the same patch pending to be applied ?
#

## Start of Defaults Record
 %%START_OF_TOKEN%%
  MISSING_TRANSLATED_VERSION
 %%END_OF_TOKEN%%

 %%START_OF_VALUE%%
No
 %%END_OF_VALUE%%
## End of Defaults Record

TO:
#
# Do you wish to continue with applying this patch even if there are
# translated version of the same patch pending to be applied ?
#

## Start of Defaults Record
 %%START_OF_TOKEN%%
  MISSING_TRANSLATED_VERSION
 %%END_OF_TOKEN%%

 %%START_OF_VALUE%%
Yes
 %%END_OF_VALUE%%
## End of Defaults Record

2. Re-run the patch application and verify it completes successfully.

Monday, 16 September 2019

Find Installed Modules in Oracle E-Business Suite R12

Using SQL Query:


SELECT a.application_name,a.product_code, DECODE (b.status, ‘I’, ‘Installed’, ‘S’, ‘Shared’, ‘N/A’) status,patch_level FROM apps.fnd_application_vl a, apps.fnd_product_installations b WHERE a.application_id = b.application_id and b.status=’I’ order by product_code asc;


Wednesday, 4 September 2019

Fatal Error: TXK Install Service occurred on rapidwiz install R12.2 start CD 51 at step-1 of the database install

SYMPTOMS:


On Oracle Applications 12.2, the following: Fatal Error: TXK Install Service occurred on rapidwiz install R12.2 start CD 51 at step-1 of the database install:

Fatal Error: TXK Install Service

oracle.apps.fnd.txk.config.ProcessStateException: OUI process failed : Exit=253 See log for details. CMD= /u01/stage/stage_R122_51/TechInstallMedia/database/examples/runInstaller -waitForCompletion -ignoreSysPrereqs -force -silent -responseFile /u01/ora_prod/PROD/12.1.0/temp/PROD_erpnode1/cfgHome/response/DB_HOME/txkDB12cR1_12102_examples.rsp

  at oracle.apps.fnd.txk.config.OUIPatchActionNode.processState(OUIPatchActionNode.java:160)

  at oracle.apps.fnd.txk.config.PatchActionNode.processState(PatchActionNode.java:187)

  at oracle.apps.fnd.txk.config.PatchNode.processState(PatchNode.java:338)

  at oracle.apps.fnd.txk.config.PatchesNode.processState(PatchesNode.java:79)

  at oracle.apps.fnd.txk.config.InstallNode.processState(InstallNode.java:68)

  at oracle.apps.fnd.txk.config.TXKTopology.traverse(TXKTopology.java:594)

  at oracle.apps.fnd.txk.config.InstallService.doInvoke(InstallService.java:224)

  at oracle.apps.fnd.txk.config.InstallService.invoke(InstallService.java:237)

  at oracle.apps.fnd.txk.config.InstallService.main(InstallService.java:291)

====================================
In logfile:

============================
INFO: -----------------------------------------------
INFO: Verification Result for Node:erpnode1
INFO: Expected Value:x86_64
INFO: Actual Value:x86_64
INFO: -----------------------------------------------
INFO: *********************************************
INFO: OS Kernel Version: This is a prerequisite condition to test whether the system kernel version is at least "2.6.39".
INFO: Severity:CRITICAL
INFO: OverallStatus:VERIFICATION_FAILED
INFO: -----------------------------------------------
INFO: Verification Result for Node:erpnode1
INFO: Expected Value:2.6.39
INFO: Actual Value:2.6.32-100.34.1.el6uek.x86_64
INFO: Error Message:Kernel of proper version is not found on node "erpnode1" [Expected = "2.6.39" ; Found = "2.6.32-100.34.1.el6uek.x86_64"]
INFO: Cause:Cause Of Problem Not Available
INFO: Action:User Action Not Available
INFO: -----------------------------------------------

SOLUTION:


1. Edit both staging files for database:

 - Oracle RDBMS

location: <stage_area>/TechInstallMedia/database/database/stage/cvu/cvu_prereq.xml

 - Oracle Examples

location:<stage_area>/TechInstallMedia/database/examples/stage/cvu/cvu_prereq.xml

2. Modify the value of kernel value in prerequisites check file from 2.6.39 to 2.6.32 and save.

3. Retry the installation.


Reference Doc: Rapidwiz Install R12.2 Start CD 51 Fails With Fatal Error: TXK Install Service in Database Pre-install Checks (Doc ID 2155494.1)

Sunday, 6 January 2019

Apache HTTP_Server - Failed to start a managed process after the maximum retry limit Log (HTTP_Server~1)

Oracle HTTP Server, residing on a Unix platform, fails to start using OPMN. For example, OPMN reports the generic error

opmnctl startall
opmnctl: starting opmn and all managed processes...
================================================================================
opmn id=oradb:6200
0 of 1 processes started.

ias-instance id=infra.oracle.com
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ias-component/process-type/process-set:
HTTP_Server/HTTP_Server/HTTP_Server

Error
--> Process (pid=24042)
Failed to start a managed process after the maximum retry limit Log::
/opt/oracle/infra/opmn/logs/HTTP_Server~1

The HTTP_Server~1 OPMN log file just reports that the HTTP Server has been started, but there are actually no httpd processes present on the system.

There is also nothing written to the $ORACLE_HOME/apache/apache/logs directory even when HTTP Server logLevel is set to debug.

Furthermore there are no core / segmentation fault files created.

In order for the HTTP Server to listen on ports < 1024 e.g 80 and 443 the ownership and permissions of the Oracle HTTP Server binary - '.apachectl' - have been changed as follows:

One possible work-around is to change .apachectl to belong to another group - such as the generic one users (rather than have the file belong to the oracle group - typically called 'oinstall') e.g

Solution:

chown root:users .apachectl
chmod 6750 .apachectl

MOS Reference: OPMN Fails to Start Oracle HTTP Server 10g After Changing 'apachectl' to Root Ownership and 6750 Permissions (Doc ID 735023.1)

Thursday, 22 November 2018

ORA-28367: wallet does not exist When Opening TDE Wallet


SYMPTOMS

On 11gR1 or 11gR2, when executing "ALTER SYSTEM SET WALLET OPEN IDENTIFIED BY <password>", the following error is observed:


ORA-28367: wallet does not exist
 (On 12c, the "ADMINISTER KEY MANAGEMENT" commands are used instead.)

CAUSE

In the sqlnet.ora, ENCRYPTION_WALLET_LOCATION is formatted incorrectly.  Specifically, there is no indentation; the entry had multiple lines, but no whitespace.  For example:

ENCRYPTION_WALLET_LOCATION=
(SOURCE=
(METHOD=FILE)
(METHOD_DATA=
(DIRECTORY=/u01/app/oracle/product/11.2.0/network/admin)))


SOLUTION

Modify the sqlnet.ora so that everything is either on one line, or use indentation (whitespace) as follows:

ENCRYPTION_WALLET_LOCATION=
   (SOURCE=
   (METHOD=FILE)
   (METHOD_DATA=
   (DIRECTORY=/u01/app/oracle/product/11.2.0/network/admin)))

Reference : "ORA-28367: wallet does not exist" When Opening TDE Wallet (Doc ID 809763.1)

Export Database Takes Time in 12cR1 (12.1.0.2) - Oracle E-Business Suite Objects

Export Database (expdp) of Oracle E-Business Suite R12.2 takes time while doing Full Table Scan

Solution:


Collect Dictionary Statistics: 

SQL> connect / as sysdba
SQL> exec dbms_stats.gather_dictionary_stats;
SQL> exec dbms_stats.lock_table_stats (null,'X$KCCLH');
SQL> exec dbms_stats.gather_fixed_objects_stats;


Configure stream_pool_size, e.g. set streams_pool_size to a minimum of 256M.
Note that depending on the size of the database and the number of partitions, this value could be greater

For 12.1.0.2 apply the following patch: 


Patch 21554480
This is an merge generic patch available on top of the 12.1.0.2 for 18793246, 20236523, 20548904, 21128593

To obtain a patch from MOS:
1) Click on Patches.
2) Click on Simple Search
3) Enter patch number: 21554480
4) Select yourO/S
5) Click Go.

Try exporting the same database after executing the above steps. The performance will be better than earlier.

Bugs Resolved by This Patch

18793246 BASE OBJECT LOOKUP DURING DATAPUMP EXPORT CAUSES FULL TABLE SCAN PER OBJECT
20236523 DATAPUMP EXPORT SLOW USING CONTENT=METADATA_ONLY
20548904 EXPDP HANG IN METADA_ONLY ON A PARTITION TABLE WITH AROUND 40000 SUBPARTITIONS
21128593 UPDATING THE MASTER TABLE AT THE END OF DP JOB IS SLOW STARTING WITH 12.1.0.2

Oracle E-Business Suite Database Health Check Script

SQL>conn apps/apps
SQL>spool health_check_apps_db_EBS.txt

set pages 1000
set linesize 135
col PROPERTY_NAME for a25
col PROPERTY_VALUE for a15
col DESCRIPTION for a35
col DIRECTORY_PATH for a70
col directory_name for a25
col OWNER for a10
col DB_LINK for a40
col HOST for a20
col "User_Concurrent_Queue_Name" format a50 heading 'Manager'
col "Running_Processes" for 9999 heading 'Running'
set head off
set feedback off
set echo off

break on utl_file_dir

select '--------------------------------------------------------------------------------' from dual;
select '-----------------------     Database Checks    ---------------------------------' from dual;
select '--------------------------------------------------------------------------------' from dual;
Prompt
select '************************ Getting Database Information  *************' from dual ;

select 'Database Name..................... : '||name from v$database;
select 'Database Status................... : '||open_mode from v$database;
select 'Archiving Status.................. : '||log_mode  from v$database;
select 'Global Name....................... : '||global_name from global_name;
select 'Creation Date..................... : '||to_char(created,'DD-MON-YYYY HH24:MI:SS') from v$database;
select 'Checking For Missing File......... : '||count(*) from v$recover_file;
select 'Checking Missing File Name ....... : '||count(*) from v$datafile where name like '%MISS%';
select 'Total SGA ........................ : '||round(sum(value)/(1024*1024))||' MB' from v$sga ;
select 'Database Version.................. : '||version from v$instance;
select 'Temporary Tablespace.............. : '||property_value from database_properties
                                                where property_name like 'default_temp_tablespace';
select 'Apps Temp Tablespace.............. : '||temporary_tablespace from dba_users where username like '%APPS%';
select 'Temp Tablespace size.............. : '||sum(maxbytes/1024/1024/1024)||' GB' from dba_temp_files group by tablespace_name;
select 'No of Invalid Object ............. : '||count(*) from dba_objects where status = 'INVALID' ;
select 'service Name...................... : '||value from v$parameter2 where name='service_names';
select 'plsql code type................... : '||value from v$parameter2 where name='plsql_code_type';
select 'plsql subdir count................ : '||value from v$parameter2 where name='plsql_native_library_subdir_count';
select 'plsql native library dir.......... : '||value from v$parameter2 where name='plsql_native_library_dir';
select 'Shared Pool Size.........,........ : '||(value/1024/1024) ||' MB' from v$parameter where name='shared_pool_size';
select 'Log Buffer........................ : '||(value/1024/1024) ||' MB' from v$parameter where name='log_buffer';
select 'Buffer Cache...................... : '||(value/1024/1024) ||' MB' from v$parameter where name='db_cache_size';
select 'Large Pool Size................... : '||(value/1024/1024) ||' MB' from v$parameter where name='large_pool_size';
select 'Java Pool Size.................... : '||(value/1024/1024) ||' MB' from v$parameter where name='java_pool_size';
select 'utl_file_dir...................... : '||value from v$parameter2 where name='utl_file_dir';
select directory_name||'.................... : '||directory_path from all_directories where rownum  < 15 ;

select '************************ Getting Apps Information *****************' from dual ;

select 'Home URL.......................... : '||home_url from apps.icx_parameters ;
select 'Session Cookie.................... : '||session_cookie from apps.icx_parameters ;
select 'Applicaiton Database ID........... : '||fnd_profile.value('apps_database_id') from dual;
select 'GSM Enabled....................... : '||fnd_profile.value('conc_gsm_enabled') from dual;
select 'Maintainance Mode................. : '||fnd_profile.value('apps_maintenance_mode') from dual;
select 'Site Name......................... : '||fnd_profile.value('Sitename')from dual;
select 'Bug Number........................ : '||bug_number from ad_bugs where bug_number='2728236';

select '************************ Doing Workflow Checks ********************' from dual ;

select 'No Open Notifications............. : '||count(*) from wf_notifications where mail_status in('MAIL','INVALID','OPEN');
select 'Name(wf_systems).................. : '||name from wf_systems;
select 'Display Name(wf_systems).......... : '||display_name from wf_systems;
select 'Address........................... : '||address from wf_agents;
select 'Workflow Mailer Status............ : '||component_status from applsys.fnd_svc_components
                                                where component_name like 'Workflow Notification Mailer';
select 'Test Address...................... : '||b.parameter_value
                                                from fnd_svc_comp_param_vals_v a, fnd_svc_comp_param_vals b
                                                where a.parameter_id=b.parameter_id
                                                and a.parameter_name in ('TEST_ADDRESS');
select 'From Address...................... : '||b.parameter_value
                                                from fnd_svc_comp_param_vals_v a, fnd_svc_comp_param_vals b
                                                where a.parameter_id=b.parameter_id
                                                and a.parameter_name in ('FROM');
select 'WF Admin Role..................... : '||text from wf_resources where name = 'WF_ADMIN_ROLE' and  rownum =1;


Prompt
Prompt Getting Apps Node Info
Prompt ************************
select Node_Name,'........................ : '||server_id from fnd_nodes;
select server_type||'......................: '||name from fnd_app_servers, fnd_nodes
                                                where fnd_app_servers.node_id =fnd_nodes.node_id;

select '************************ Doing Conc Mgr Checks  ********************' from dual ;

Prompt Getting Con Mgr Status
Prompt ************************
Prompt
Prompt Manager Name                                                 Hostname          No of Proc Running
Prompt ~~~~~~~~~~~~                                                 ~~~~~~~~          ~~~~~~~~~~~~~~~~~~
set lines 145
Column Target_Node   Format A12
select User_Concurrent_Queue_Name,'....... : '||Target_Node||' ...... : '||Running_Processes
                                                from fnd_concurrent_queues_vl
                                                where Running_Processes = Max_Processes
                                                and Running_Processes > 0;

Prompt
Prompt Getting Pending Request
Prompt ***********************
--select user_concurrent_program_name||'........ : '||request_id
--                                                  from fnd_concurrent_requests r, fnd_concurrent_programs_vl p, fnd_lookups s, fnd_lookups ph
--                                                  where r.concurrent_program_id = p.concurrent_program_id
--                                                 and r.phase_code = ph.lookup_code
--                                                and ph.lookup_type = 'CP_PHASE_CODE'
--                                               and r.status_code = s.lookup_code
--                                                  and s.lookup_type = 'CP_STATUS_CODE'
--                                                  and ph.meaning ='Pending'
--                                                  and rownum < 10
--                                                  order by to_date(actual_start_date, 'dd-MON-yy hh24:mi');
--

Prompt
Prompt Getting Workflow Components Status
Prompt **********************************

set pagesize 1000
set linesize 125
col COMPONENT_STATUS for a20
col COMPONENT_NAME for a45
col STARTUP_MODE for a12

select fsc.COMPONENT_NAME,
fsc.STARTUP_MODE,
fsc.COMPONENT_STATUS,
fcq.MAX_PROCESSES TARGET,
fcq.RUNNING_PROCESSES ACTUAL
from APPS.FND_CONCURRENT_QUEUES_VL fcq, APPS.FND_CP_SERVICES fcs,
APPS.FND_CONCURRENT_PROCESSES fcp, fnd_svc_components fsc
where fcq.MANAGER_TYPE = fcs.SERVICE_ID
and fcs.SERVICE_HANDLE = 'FNDCPGSC'
and fsc.concurrent_queue_id = fcq.concurrent_queue_id(+)
and fcq.concurrent_queue_id = fcp.concurrent_queue_id(+)
and fcq.application_id = fcp.queue_application_id(+)
and fcp.process_status_code(+) = 'A'
order by fcp.OS_PROCESS_ID, fsc.STARTUP_MODE;

select '--------------------------------------------------------------------------------' from dual;
select '-----------------------     End Of Database Checks  ----------------------------' from dual;
select '--------------------------------------------------------------------------------' from dual;

SQL>spool off