Quantcast
Channel: Doyensys Allappsdba Blog..
Viewing all 1640 articles
Browse latest View live

opmnctl: opmn is not running and failed to start a managed process after the maximum retry limit

$
0
0
Scenario:

Recently we have got error ‘Failed to start managed process after the 
maximum retry limit’ because  copied IAS from different machine and 
try to start the opmn service as below.

Error : oracle opmn start failed . We can check the opmn logs to check 
opmn is not running
======

[oracle@appsprd ~]$ opmnctl startall

opmnctl: starting opmn and all managed processes...
opmn id=doyen.com:6299
    0 of 1 processes started.

ias-instance id=standalone
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ias-component/process-type/process-set:
    HTTP_Server/HTTP_Server/HTTP_Server

Error:

--> Process (pid=10533)
    failed to start a managed process after the maximum retry limit
    Log:
    /data01/apex/prd/opmn/logs/HTTP_Server~1


Solution:

[oracle@appsprd ~]$ su – root
Password:
[root@appsprd oracle]# ln -s /usr/lib/libgdbm.so.2.0.0 /usr/lib/libdb.so.2


Now Retest the issue : In my case issue got resolved.
=====================

[oracle@appsprd ~]$ opmnctl startall
opmnctl: starting opmn and all managed processes...
[oracle@appsprd ~]$ ./opmnctl status
Processes in Instance: apex_home. appsprd.com
-------------------+--------------------+---------+---------
ias-component      | process-type       |     pid | status
-------------------+--------------------+---------+---------
DSA                    | DSA                           |     N/A | Down
LogLoader          | logloaderd                 |     N/A | Down
dcm-daemon      | dcm-daemon             |     N/A | Down
OC4J                  | home                          |    5678 | Alive
HTTP_Server    | HTTP_Server            |    5677 | Alive


How To Calculate IOPS of an Oracle Database

$
0
0



How To Calculate IOPS of an Oracle Database

IOPS (Input/Output Operations Per Second) is a common performance metric used to compare computer storage devices.

IOPS in Oracle databases is the total number of read and write requests of the database system per second. To maintain database performance, we must check whether our hardware is capable of processing the request generated by the database system.

These values ​​are in the dba_hist_sysmetric_summary table.


select METRIC_NAME,avg(AVERAGE) as "VALUE"
from dba_hist_sysmetric_summary
where METRIC_NAME in ('Physical Read Total IO Requests Per Sec','Physical Write Total IO Requests Per Sec')
group by METRIC_NAME;


select METRIC_NAME,avg(AVERAGE) value
from dba_hist_sysmetric_summary
where begin_time between to_date('01-JAN-20 00:00:00', 'dd-MON-yy hh24:mi:ss')
and to_date('28-JAN-20 23:59:59', 'dd-MON-yy hh24:mi:ss')
and end_time like '%28-JAN-20%'
and METRIC_NAME in ('Physical Read Total IO Requests Per Sec','Physical Write Total IO Requests Per Sec')
group by METRIC_NAME;

Ultimate Database Health Check (DBMS_HM)

$
0
0


Ultimate Database Health Check (DBMS_HM)


– DB Structure Integrity Check
– CF Block Integrity Check
– Data Block Integrity Check
– Redo Integrity Check
– Transaction Integrity Check
– Undo Segment Integrity Check
– Dictionary Integrity Check
– ASM Allocation Check

How to run a health check on the Oracle database?

BEGIN
   DBMS_HM.run_check ('Dictionary Integrity Check', 'report_dictionary_integrity');
END;
/

or

BEGIN
   DBMS_HM.RUN_CHECK (check_name     => 'Transaction Integrity Check',
                      run_name       => 'my_transaction_run',
                      input_params   => 'TXN_ID=22.87.1');
END;


ET LONG 100000
SET LONGCHUNKSIZE 1000
SET PAGESIZE 1000
SET LINESIZE 512
SELECT DBMS_HM.get_run_report ('report_dictionary_integrity') FROM DUAL;


SELECT run_id,
       name,
       check_name,
       run_mode,
       status,
       src_incident,
       num_incident,
       error_number
  FROM v$hm_run;
 
 
Viewing the list of checks that can be done on your database

SELECT name
  FROM v$hm_check
 WHERE internal_check = 'N';



Displaying parameter information for all health checks

SELECT c.name check_name,
         p.name parameter_name,
         p.TYPE,
         p.DEFAULT_VALUE,
         p.description
    FROM v$hm_check_param p, v$hm_check c
   WHERE p.check_id = c.id AND c.internal_check = 'N'
  ORDER BY c.name;
 
 
  

Generate user DDL with dbms_metadata

$
0
0




Generate user DDL with dbms_metadata.get_ddl user

clear screen
accept uname prompt 'Enter User Name : '
accept outfile prompt  ' Output filename : '

spool &&outfile..gen

SET LONG 20000 LONGCHUNKSIZE 20000 PAGESIZE 0 LINESIZE 1000 FEEDBACK OFF VERIFY OFF TRIMSPOOL ON

BEGIN
   DBMS_METADATA.set_transform_param (DBMS_METADATA.session_transform, 'SQLTERMINATOR', true);
   DBMS_METADATA.set_transform_param (DBMS_METADATA.session_transform, 'PRETTY', true);
END;
/

SELECT dbms_metadata.get_ddl('USER','&&uname') FROM dual;
SELECT DBMS_METADATA.GET_GRANTED_DDL('SYSTEM_GRANT','&&uname') from dual;
SELECT DBMS_METADATA.GET_GRANTED_DDL('ROLE_GRANT','&&uname') from dual;
SELECT DBMS_METADATA.GET_GRANTED_DDL('OBJECT_GRANT','&&uname') from dual;

spool off

SQL Library

$
0
0


SQL Library


Table LAST_ANALYZED

set ver off
set linesize 60
col table_name format a15
col last_analyzed format a40
select TABLE_NAME "Table Name",to_char(LAST_ANALYZED,'DD-MON-YY HH24:MI:SS') "Date and Time" from dba_TABLES where lower(TABLE_NAME)='&tname';

Displays Last Analyzed Details for a given Schema. (All schema owners if 'ALL' specified).
--

SET PAUSE ON
SET PAUSE 'Press Return to Continue'
SET PAGESIZE 60
SET LINESIZE 300

SELECT t.owner,
       t.table_name AS "Table Name",
       t.num_rows AS "Rows",
       t.avg_row_len AS "Avg Row Len",
       Trunc((t.blocks * p.value)/1024) AS "Size KB",
       to_char(t.last_analyzed,'DD/MM/YYYY HH24:MM:SS') AS "Last Analyzed"
FROM   dba_tables t,
       v$parameter p
WHERE t.owner = Decode(Upper('&&Table_Owner'), 'ALL', t.owner, Upper('&&Table_Owner'))
AND   p.name = 'db_block_size'
ORDER by t.owner,t.last_analyzed,t.table_name
/

This script is intended for daily use to get tables where percentage of changed records is above 10%:

SELECT DT.OWNER,
       DT.TABLE_NAME,
       ROUND ( (DELETES + UPDATES + INSERTS) / NUM_ROWS * 100) PERCENTAGE
FROM   dba_tables dt, ALL_TAB_MODIFICATIONS atm
WHERE      DT.OWNER = ATM.TABLE_OWNER
       AND DT.TABLE_NAME = ATM.TABLE_NAME
       AND NUM_ROWS > 0
       AND ROUND ( (DELETES + UPDATES + INSERTS) / NUM_ROWS * 100) >= 10

ORDER BY 3 desc


Login into sqlplus as sys user

To start trace run procedure with a module name and database name:

begin
dbms_monitor.serv_mod_act_trace_enable( service_name => '<db_name>'
, module_name => '<module_name>'
, action_name => dbms_monitor.all_actions
,waits => true
,binds => true
,instance_name => null
,plan_stat => null
);
end;
/




To stop trace run procedure:

EXECUTE DBMS_MONITOR.SERV_MOD_ACT_TRACE_DISABLE('<db_name>','<module_name>');


*** statistics of objects of a specific sql id

set lines 300 set pages 300
col table_name for a40
col owner for a30
select distinct owner, table_name, STALE_STATS, last_analyzed, stattype_locked
  from dba_tab_statistics
  where (owner, table_name) in
  (select distinct owner, table_name
          from dba_tables
          where ( table_name)
          in ( select object_name
                  from gv$sql_plan
                  where upper(sql_id) = upper('&sql_id') and object_name is not null))
  --and STALE_STATS='YES'
/

Detail report user session

$
0
0



Detail report user session

COL orauser HEA "   Oracle User   " FOR a17 TRUNC
COL osuser HEA " O/S User " FOR a10 TRUNC
COL ssid HEA "Sid" FOR a4
COL sserial HEA "Serial#" FOR a7
COL ospid HEA "O/S Pid" FOR a7
COL slogon HEA "  Logon Time  " FOR a14
COL sstat HEA "Status" FOR a6
COL auth HEA "Auth" FOR a4
COL conn HEA "Con" FOR a3

SELECT
   ''||NVL( s.username, '    ????    ' ) orauser,
   ''||s.osuser osuser,
   LPAD( s.sid, 4 ) ssid, LPAD( s.serial#, 6 ) sserial,
   LPAD( p.spid, 6 ) ospid,
   INITCAP( LOWER( TO_CHAR( logon_time, 'MONDD HH24:MI:SS' ) ) ) slogon,
   DECODE( s.status, 'ACTIVE', ' Busy ', 'INACTIVE', ' Idle ', 'KILLED', ' Kill ', '  ??  ' ) sstat,
   DECODE( sc.authentication_type, 'DATABASE', ' DB ', 'OS', ' OS ', ' ?? ' ) auth,
   DECODE( s.server, 'DEDICATED', 'Dir', 'NONE', 'Mts', 'SHARED', 'Mts', '???' ) conn
FROM
   v$session s, v$process p,
   (
   SELECT
      DISTINCT sid, authentication_type
   FROM
      v$session_connect_info
   ) sc
WHERE
   s.paddr = p.addr AND s.sid = sc.sid
ORDER BY
   s.status,s.sid
/
 

To Investigate Recent Blocking Locks (after the dust settles)

set pagesize 50
set linesize 120
col sql_id format a15
col inst_id format '9'
col sql_text format a50
col module format a10
col blocker_ses format '999999'
col blocker_ser format '999999'
SELECT distinct
       a.sql_id ,
       a.inst_id,
       a.blocking_session blocker_ses,
       a.blocking_session_serial# blocker_ser,
       a.user_id,
       s.sql_text,
       a.module
FROM  GV$ACTIVE_SESSION_HISTORY a,
      gv$sql s
where a.sql_id=s.sql_id
  and blocking_session is not null
  and a.user_id <> 0 --  exclude SYS user
  and a.sample_time > sysdate - 1
/
exit
/


Displays information on all database sessions.

SET LINESIZE 500
SET PAGESIZE 1000

COLUMN username FORMAT A15
COLUMN osuser FORMAT A15
COLUMN spid FORMAT A10
COLUMN service_name FORMAT A15
COLUMN module FORMAT A35
COLUMN machine FORMAT A25
COLUMN logon_time FORMAT A20

SELECT NVL(s.username, '(oracle)') AS username,
       s.osuser,
       s.sid,
       s.serial#,
       p.spid,
       s.lockwait,
       s.status,
       s.service_name,
       s.module,
       s.machine,
       s.program,
       TO_CHAR(s.logon_Time,'DD-MON-YYYY HH24:MI:SS') AS logon_time
FROM   v$session s,
       v$process p
WHERE  s.paddr = p.addr
ORDER BY s.username, s.osuser;



DBMS_SCHEDULER Details

$
0
0




DBMS_SCHEDULER

set feedback off
set echo off
set lines 205
column owner format a15
column job_name format a22
column program_name format a24
column status format a10
column state format a10
column last_start format a25
column last_start_norm format a18
column "DURATION (d:hh:mm:ss)" format a21
column next_run format a25
column next_run_norm format a18

var local_offset number
begin
   select extract(timezone_hour from systimestamp) into :local_offset from dual;
end;
/


dba_job_run_scheduler_details

-------------------------------------------------------------------
 column job_name format a10
 column job_creator format a10
 column job_action format a10
 column start_date format a40
 column repeat_interval format a30

 select job_name, job_creator, job_type, job_action,start_date
 from user_scheduler_jobs;

Monitoring job-scheduling

To show details on job run:
select log_date
,      job_name
,      status
,      req_start_date
,      actual_start_date
,      run_duration
from   dba_scheduler_job_run_details

To show running jobs:
select job_name
,      session_id
,      running_instance
,      elapsed_time
,      cpu_used
from dba_scheduler_running_jobs;

To show job history:
 select log_date
 ,      job_name
 ,      status
 from dba_scheduler_job_log;


show all schedules:
select schedule_name, schedule_type, start_date, repeat_interval
from dba_scheduler_schedules;

show all jobs and their attributes:

select *
from dba_scheduler_jobs


show all program-objects and their attributes

select *
from dba_scheduler_programs;

show all program-arguments:
select *
from   dba_scheduler_program_args;
 

select log_date
,      job_name
,      status
,      req_start_date
,      actual_start_date
,      run_duration
from   dba_scheduler_job_run_details


SELECT * FROM dba_scheduler_jobs;

SELECT *
FROM   dba_scheduler_window_groups;
SELECT *
FROM   dba_scheduler_windows;

Oracle CPU January 2020 - Important Links

$
0
0
All that an Apps DBA needs to refer for Oracle Critical Patch Update Jan 2020


  • Oracle Critical Patch Update Advisory - January 2020


  • Patches that address security vulnerabilities in Oracle E-Business Suite Release 12 (12.2 & 12.1) :
         Oracle E-Business Suite Release 12 Critical Patch Update Knowledge Document (January 2020) (Doc ID 2613782.1) 

  • Patches for Database, Fusion Middleware which includes WebLogic, IDAM, WebTier etc. :
Critical Patch Update (CPU) Program Jan 2020 Patch Availability Document (PAD) (Doc ID 2602410.1)

Article 2

$
0
0

Find Concurrent Manager status from Backend 

select decode(CONCURRENT_QUEUE_NAME,
'FNDICM','Internal Manager',
'FNDCRM','Conflict Resolution Manager',
'AMSDMIN','Marketing Data Mining Manager',
'C_AQCT_SVC','C AQCART Service',
'FFTM','FastFormula Transaction Manager',
'FNDCPOPP','Output Post Processor',
'FNDSCH','Scheduler/Prereleaser Manager',
'FNDSM_AQHERP','Service Manager: AQHERP',
'FTE_TXN_MANAGER','Transportation Manager',
'IEU_SH_CS','Session History Cleanup',
'IEU_WL_CS',
'UWQ Worklist Items Release for Crashed session',
'INVMGR','Inventory Manager','
INVTMRPM','INV Remote Procedure Manager','OAMCOLMGR',
'OAM Metrics Collection Manager',
'PASMGR','PA Streamline Manager',
'PODAMGR','PO Document Approval Manager',
'RCVOLTM','Receiving Transaction Manager',
'STANDARD','Standard Manager',
'WFALSNRSVC','Workflow Agent Listener Service',
'WFMLRSVC','Workflow Mailer Service','WFWSSVC',
'Workflow Document Web Services Service',
'WMSTAMGR','WMS Task Archiving Manager',
'XDP_APPL_SVC','SFM Application Monitoring Service',
'XDP_CTRL_SVC',
'SFM Controller Service',
'XDP_Q_EVENT_SVC','SFM Event Manager Queue Service',
'XDP_Q_FA_SVC','SFM Fulfillment Actions Queue Service',
'XDP_Q_FE_READY_SVC','SFM Fulfillment Element Ready Queue Service',
'XDP_Q_IN_MSG_SVC','SFM Inbound Messages Queue Service',
'XDP_Q_ORDER_SVC',
'SFM Order Queue Service',
'XDP_Q_TIMER_SVC','SFM Timer Queue Service',
'XDP_Q_WI_SVC','SFM Work Item Queue Service',
'XDP_SMIT_SVC','SFM SM Interface Test Service') as "Concurrent Manager's Name",
max_processes as "TARGET Processes",
running_processes as "ACTUAL Processes"
from apps.fnd_concurrent_queues
where CONCURRENT_QUEUE_NAME
in ('FNDICM','FNDCRM','AMSDMIN','C_AQCT_SVC','FFTM','FNDCPOPP','FNDSCH','FNDSM_AQHERP','FTE_TXN_MANAGER','IEU_SH_CS','IEU_WL_CS','INVMGR','INVTMRPM',
'OAMCOLMGR','PASMGR','PODAMGR','RCVOLTM','STANDARD','WFALSNRSVC','WFMLRSVC','WFWSSVC','WMSTAMGR','XDP_APPL_SVC','XDP_CTRL_SVC','XDP_Q_EVENT_SVC',
'XDP_Q_FA_SVC','XDP_Q_FE_READY_SVC','XDP_Q_IN_MSG_SVC','XDP_Q_ORDER_SVC','XDP_Q_TIMER_SVC','XDP_Q_WI_SVC','XDP_SMIT_SVC')
order by max_processes
/

Article 1

$
0
0

To check scheduled concurrent request in R12

SELECT cr.request_id,
DECODE (cp.user_concurrent_program_name,
'Report Set', 'Report Set:' || cr.description,
cp.user_concurrent_program_name
) NAME,
argument_text, cr.resubmit_interval,
NVL2 (cr.resubmit_interval,
'PERIODICALLY',
NVL2 (cr.release_class_id, 'ON SPECIFIC DAYS', 'ONCE')
) schedule_type,
DECODE (NVL2 (cr.resubmit_interval,
'PERIODICALLY',
NVL2 (cr.release_class_id, 'ON SPECIFIC DAYS', 'ONCE')
),
'PERIODICALLY', 'EVERY '
|| cr.resubmit_interval
|| ''
|| cr.resubmit_interval_unit_code
|| ' FROM '
|| cr.resubmit_interval_type_code
|| ' OF PREV RUN',
'ONCE', 'AT :'
|| TO_CHAR (cr.requested_start_date, 'DD-MON-RR HH24:MI'),
'EVERY: ' || fcr.class_info
) schedule,
fu.user_name, requested_start_date
FROM apps.fnd_concurrent_programs_tl cp,
apps.fnd_concurrent_requests cr,
apps.fnd_user fu,
apps.fnd_conc_release_classes fcr
WHERE cp.application_id = cr.program_application_id
AND cp.concurrent_program_id = cr.concurrent_program_id
AND cr.requested_by = fu.user_id
AND cr.phase_code = 'P'
AND cr.requested_start_date > SYSDATE
AND cp.LANGUAGE = 'US'
AND fcr.release_class_id(+) = cr.release_class_id
AND fcr.application_id(+) = cr.release_class_app_id;

Article 0

$
0
0

ADOP – Applications DBA Online Patching Tool 

ADOP: Oracle E-Business R12.2 introduced new patching mechanism that allow the application of patches while your environment is up and running which is called as Online patch.

The online patching cycle consists of a number of phases:

1) Prepare – Prepare the instance for patch application.
2) Apply – Apply patches (to the patch edition).
3) Finalize – Ready the instance for cutover.
4) Cutover – Make the patch edition the new run edition.
5) Cleanup – Drop obsolete objects and data from old editions.

Steps to apply patch on R12.2 using ADOP:

1) Download and unzip the patch, Before proceeding with patching activity please go through the patch radme.

2) Source the environment.
$ source <run APPL_TOP path>/APPS<CONTEXT_NAME>.env

3) Check the staus of adop using below command.
$ adop -status

4) Prepare the system for patching.
$ adop phase=prepare

5) Apply the patch to patch edition.
$ adop phase=apply patches=<patch number>

4) After patch has been applied successfully, Complete the below patch cycles.
$ adop phase=finalize
$ adop phase=cutover
$ adop phase=cleanup

5) Synchronize the file system, which copy the new run edition code and configuration to the patch file system.
$ adop phase=fs_clone

Article 5

$
0
0

ORA-01804: failure to initialize timezone information – issue while running AutoConfig during Upgrade Oracle Apps (EBS) to 12.2 ? 


issue “ORA-01804: failure to initialize timezone information” in Post Database upgrade 11.2.0.4  step while running AutoConfig.

1. Running Autoconfig on Database tier as

$ORACLE_HOME>/appsutil/bin/adconfig.sh

ERROR:
ORA-01804: failure to initialize timezone information

SP2-0152: ORACLE may not be functioning properly
adcrobj.sh exiting with status 1
ERRORCODE = 1 ERRORCODE_END

Fix:

Apply patch 7651166 (as per ReadMe instructions ) to fix the above issue and run AutoConfig again as

$ORACLE_HOME/appsutil/bin/adconfig.sh contextfile=$ORACLE_HOME/appsutil/EBSTEMP_ebstemp.xml

You should see a message “AutoConfig Completed Successfully”

Article 4

$
0
0

RC-30007 :Error while running adpreclone on DB Tier during 12.1.3 cloning


RC-30007: Stage area /ebsdb1/ebstest/db/tech_st/11.1.0/appsutil/clone/dbts

[oracle@ebstemp ~]$ cd /ebsdb1/ebstest/db/tech_st/11.1.0/appsutil/clone

[oracle@ebstemp clone]$ mv dbts dbts_bkp

[oracle@ebstemp clone]$ mkdir dbts

Run perl adpreclone.pl dbTire

Article 3

$
0
0

Error while starting the application after cloning 12.1.3:-


Check the application status:-

[applmgr@ebstemp scripts]$./adoacorectl.sh status

Check the log file

From the log file below error came

HTTP listener is not responding

Due to missing library.  /usr/lib/libdb.so.2

Solution:--

* Shut all application services.

* create the below link for library file

[applmgr@ebstemp scripts]$ su - root
password

[root@ebstemp ~]# ln -s /usr/lib/libgdbm.so.2.0.0  /usr/lib/libdb.so.2


* Startup all the application services.

* Now check the application status

[applmgr@ebstemp scripts]$ ./adoacorectl.sh status

Article 2

$
0
0

R12.2 Upgrade: Rapidwiz Prerequisite Check Fails With Message: DB Version Check Has Failed. Not able to check the Database version.


Issue:


Oracle E-business suite R12.2 Upgrade File System Pre-install check Failed for :

-------------------ADX Database Utility Finished---------------

DB Version Check has failed.
Not able to check the Database version. Please make sure the Database is at 11.2.0.3 or higher

DB service_names Check has failed.
Not able to check if ebs_patch as an entry exists in Database service_name parameter.

Existing DB SID validation has failed.
Connection to database failed.  Unable to validate the current SID

Solution:


To resolve the database connectivity issue, perform the following steps :

1. Review the sqlnet_ifile.ora or sqlnet.ora file and confirm the following entries are present:

  SQLNET.ALLOWED_LOGON_VERSION_SERVER

2. Update the sqlnet_ifile.ora or sqlnet.ora settings for the above parameters to the lowest version level that is required in your environment.

For example:

a) If the initialization parameter SEC_CASE_SENSITIVE_LOGON is set to FALSE:

  SQLNET.ALLOWED_LOGON_VERSION_SERVER = 8

b) If SEC_CASE_SENSITIVE_LOGON is set to TRUE

  SQLNET.ALLOWED_LOGON_VERSION_SERVER = 10


Modify the service_names parameter to include ebs_patch as shown below and retry.

SQL> sho parameter service

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
service_names                        string      EBSTEMP

SQL> alter system set service_names='EBSTEMP','ebs_patch' scope=both ;

System altered.

SQL> sho parameter service

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
service_names                        string      EBSTEMP, ebs_patch

After this Database connectivity issue should be resolved.

Article 1

$
0
0

AC-50480: Internal error occurred: java.lang.Exception: Error while generating listener.ora while running autoconfig on appstire 


Updating s_tnsmode to 'generateTNS'
UpdateContext exited with status: 0
AC-50480: Internal error occurred: java.lang.Exception: Error while generating listener.ora.
Error generating tnsnames.ora from the database, temporary tnsnames.ora will be generated using templates
Instantiating Tools tnsnames.ora
Tools tnsnames.ora instantiated
Web tnsnames.ora instantiated

Solution:-


1. Loging to as oracle user and perform the below steps

[oracle@ebstemp ~]$ sqlplus apps/apps

SQL> exec fnd_conc_clone.setup_clean

2. Run autoconfig.sh on db node.

3. Run autocnfig.sh on apps node.

Article 0

$
0
0

WLS Domain Validation failed during EBS 12.2 upgrade



In this particular case, one of the post installation check “WLS Domain Validation” failed as shown below .

WLS_Check_Failed

 Click on Red mark button ( ! ) to check why WLS Validation failed. In our case, it was showing:

EBS Domain validation failed for RUN filesystem.

Check Domain deployment logs and re-deploy the RUN domain.

After checking the log file, we came to know that there is some issue with OHS instance as shown in below error messages.

Successfully updated context variable s_ohs_installed with the value generateEBSOHSConfigFiles
opmnctl startall: starting opmn and all managed processes…

EBS_web_PRD84 is failed to start !!

.end std out.
===================
opmn id=<hostname>:6285
Response: 0 of 1 processes started.

ias-instance id=EBS_web_PRD84_OHS1
+++++++++++++++++++++++
———————————
ias-component/process-type/process-set:
EBS_web_PRD84/OHS/OHS/

Error
–> Process (index=1,uid=1443244297,pid=10563)
failed to start a managed process after the maximum retry limit
Log:
/u01/oracle/ PRD84/ fs2/FMW_Home/ webtier/instances/ EBS_web_PRD84_OHS1/ diagnostics/ logs/OHS/EBS_web_PRD84/ console~OHS~1.log

.end err out.

ERROR: Unable to create OHS instance.
Failed to create the OHS instance

So we checked in the given OHS log file (/<base_directory>/fs2/FMW_Home/webtier/instances/<instance>  /diagnostics /logs/OHS/<instance>/console~OHS~1.log) and got the exact error behind the issue that was “Address already in use“.

[2015-08-20T14:28:40.4043+01:00] [OHS] [INCIDENT_ERROR:32] [OHS-9999] [worker.c] [host_id: <Hostname>] [host_addr: <IP of Host>] [pid: 10527] [tid: 47435944011936] [user: <application_user>] [VirtualHost: main] (98)Address already in use: make_sock: could not bind to address [::]:8084

Root Cause:

As shown in the above log, 8084 port (OHS Port) is already being used by other application that’s why unable to bind to that address.

 Solution:

To check which process is using port 8084  (PID 2823 in our case)

[root@ebstemp ~]# lsof | grep 8084 | grep LISTEN

httpd  2823  oracle84  18u  IPv4  6925093  TCP *:8084 (LISTEN)

[root@ebstemp ~]# ps -ef | grep 2823

 oracle84  2823  2745  0  Aug17 ?  00:00:00                   /u01/applebs/EBSTEMP/apps/tech_st/10.1.3/Apache/Apache/bin/httpd -d /u01/applebs/EBSTEMP/apps/tech_st/10.1.3/Apache/Apache -DSSL -f /u01/applebs/EBSTEMP/inst/apps/EBSTEMP_ebstemp/ora/10.1.3/Apache/Apache/conf/httpd.conf

To kill the process, run command:

[root@ebstemp ~]# kill -9 2823 <PID>

The solution provided above resolved the issue (after this start services manually and click on Retry)

ORA-12514: TNS:listener does not currently know of service requested in connect descriptor

$
0
0
Issue:

On Oracle Applications 12.2 version, ADOP generates error at prepare stage when trying to apply patch with phase=prepare option

*******FATAL ERROR*******
PROGRAM : (apps/fs1/EBSapps/appl/ad/12.0.0/bin/adzdoptl.pl)
TIME : Sat Apr 6 20:02:22 2019
FUNCTION: ADOP::Phase::executeSQL [ Level 1 ]
ERRORMSG: Invalid Credentials


adop patch log file has below error:

AutoPatch error:
The following ORACLE error:

ORA-12514: TNS:listener does not currently know of service requested in connect descriptor

Casue:

There may be multiple reasons for this but following is the cause:

1) ebs_patch service is not registered in listener due to local_listener parameter set .

local_listener is not define in init.ora.

During adop run when it tries to connect to database through ebs_patch service get the error ORA-12514. Which suggest that service is not available and checking listener status does not show service .

Listener status shows

Services Summary...
Service "<sid>" has 1 instance(s).
 Instance "<sid>", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully

In the init.ora service_names=<service_name> exist but no local_listener available and listener is not using default port . There for even though following command does not give any errors service is not registering .
alter system set SERVICE_NAMES='<service_name>';

Solution:

To implement the solution execute the following steps:

1. Add following line to init.ora:

local_listener = _LOCAL

In this SID is database instance name.

e.g

local_listener = <sid>_LOCAL

2. Restart database.

3. Retest the issue.

4. Migrate the solution as appropriate to other environments.

Reference:

ADOP Failed At Prepare Stage With Invalid Credential Error ORA-12514 (Doc ID 1546945.1)

How To Identify Sessions Which Cause PL/SQL LOCK TIMER Wait Event

$
0
0
Issue:

How To Identify Sessions Which Cause PL/SQL LOCK TIMER Wait Event

Solution:

SELECT vs.inst_id,vs.osuser,vw.event,vw.p1,vw.p2,vw.p3 ,vt.sql_text , vs.program
FROM gv$session_wait vw, gv$sqltext vt , gv$session vs
WHERE vw.event = 'PL/SQL lock timer'
AND vt.address=vs.sql_address
AND vs.inst_id = vw.inst_id
AND vs.sid = vw.sid;


For more information on identification and resolution steps review the following document:

Note 1672174.1 - Oracle E-Business Suite Performance Guide (Doc ID 1672174.1)

Reference:

How To Identify Sessions Which Cause PL/SQL LOCK TIMER Wait Event (Doc ID 434265.1)

To Enable PL/SQL Profiler manually in PL/SQL

$
0
0
PL/SQL Profiler data can be collected manually by enabling and disabling directly in PL/SQL.

This could be useful if testing directly from SQL*Plus / SQL Developer (i.e. outside of E-Business Suite).

This requires updating the PL/SQL code and re-compiling.

Care is also needed to ensure that the commands to enable and disable are placed at the correct points (where they will definitely be executed and capture all the necessary actions).

Enable PL/SQL Profiler using:

dbms_profiler.start_profiler(run_comment => ‘<comment>’, run_comment1 => ‘<comment 1>’);
Disable PL/SQL Profiler using:

dbms_profiler.stop_profiler;
Note that profiler data is stored in memory and is flushed into profiler tables when the profiler is stopped. It can be advisable to run dbms_profiler.flush_data at intervals to flush data to tables and free up memory.

Reference:

Oracle E-Business Suite Performance Guide (Doc ID 1672174.1)
Viewing all 1640 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>