DOYENSYS Knowledge Portal




We Welcome you to visit our DOYENSYS KNOWLEDGE PORTAL : Doyensys Knowledge Portal




Saturday, December 31, 2016

Find IOPS of an Oracle database

There may be a situation where we have to calculate IOPS (Input Output Per Second) of oracle database to know the performance bottleneck of an oracle database regarding IO or when planning capacity for new hardware implementation. Though we can find it from AWR report, below is the sql to calculate the IOPS of an Oracle database

IOPS for entire day:
====================

ALTER SESSION SET NLS_DATE_FORMAT='DD-MON-YY HH24:MI:SS';
break on report
compute sum of value on report
select METRIC_NAME,avg(AVERAGE) value from dba_hist_sysmetric_summary
where begin_time between to_date('20-DEC-16 00:00:00', 'dd-MON-yy hh24:mi:ss') and to_date('20-DEC-16 23:59:59', 'dd-MON-yy hh24:mi:ss')
and end_time like '%20-DEC-16%' and  METRIC_NAME in ('Physical Read Total IO Requests Per Sec','Physical Write Total IO Requests Per Sec')
group by METRIC_NAME;

You can change the time interval in the above sql query based on your requirement.


How to Cancel a Concurrent Request Stuck in the Queue


Some times we get a Request from customers that they are not able to cancel their request because of the following error.

"The concurrent manager process that was running this request has exited abnormally.    The ICM will mark this request as completed with error".


Navigation 

If we try to cancel a concurrent request using "Cancel Request" button from the Administer > Concurrent > Manager form.
We will get the following message:
Request xxxxxx can no longer be cancelled. The Concurrent Manager Process that was running this request has exited abnormally. The ICM will mark this request as completed with error.


Solution

This can be safely done when Concurrent Managers are up and running.

1) Backup fnd_concurrent_requests table

2) SQL> UPDATE fnd_concurrent_requests
SET phase_code = ‘C’, status_code = ‘X’
WHERE Request_id=&request_id
Here Request id is the request which we want to cancel….

3) Commit


Happy Learning...

How to change Date & time in AIX.

smitty date

# smitty date
                                                   Change / Show Day and Time

Type or select values in entry fields.
Press Enter AFTER making all desired changes.


                                        [Entry Fields]

  YEAR (00-99)                        [16]                                                                                      #
  MONTH (01-12)                       [02]                                                                                      #
  DAY (1-31)                          [02]                                                                               #
  HOUR (00-23)                        [09]                                                                                      #
  MINUTES (00-59)                     [46]                                                                                      #
  SECONDS (00-59)                     [49]                                                                                      #









F1=Help                                F2=Refresh                              F3=Cancel                              F4=List
Esc+5=Reset                            Esc+6=Command                           Esc+7=Edit                             Esc+8=Image
Esc+9=Shell                            Esc+0=Exit                              Enter=Do


Press Enter <After you change the date & time.

Happy Learning !



Friday, December 30, 2016

Oracle License Calculations


To calculate/compare the user license according to application/responsibility. –In Details which user using which responsibility.

SELECT   fu.employee_id,
         fu.user_name,
         application_name,
         t.responsibility_name,
         wur.START_DATE responsibility_start_date,
         wur.EXPIRATION_DATE responsibility_end_date
     FROM fnd_responsibility_tl t,
         fnd_responsibility b,
         fnd_application_tl fn,
         fnd_user fu,
         wf_all_user_roles wur,
         per_all_assignments_f asg
   WHERE b.responsibility_id = t.responsibility_id
     AND asg.person_id = fu.employee_id
     AND b.application_id = t.application_id
     AND b.application_id = fn.application_id
     AND t.LANGUAGE = 'US'
          --AND fu.end_date IS NULL
     --AND wur.expiration_date IS NULL
     AND fn.LANGUAGE = 'US'
     AND b.end_date IS NULL
     AND fu.user_name = wur.user_name
     AND wur.role_orig_system_id = t.responsibility_id
     AND wur.role_orig_system = 'FND_RESP'
     AND sysdate between wur.START_DATE and NVL (wur.expiration_date, SYSDATE )
     -- AND fu.user_name='4445'
     -- AND application_name='Human Resources'
     and sysdate between fu.START_DATE  and nvl(fu.end_date,sysdate)

Sample output:

EMPLOYEE_ID USER_NAME   APPLICATION_NAME  RESPONSIBILITY_NAME            RESPONSIBILITY_START_DATE         RESPONSIBILITY_END_DATE

20804   4724     Human Resources        Employee Self-Service  12/25/2013
20804   4724     Human Resources        Employee Self-Service  12/25/2013
20804   4724     Oracle iProcurement     AME Application Administrator   6/1/2014  
20804   4724     Oracle iProcurement     AME Application Administrator   6/1/2014  
20735   4555     Advanced Product Catalog        Project Engineer           12/10/2013
20735   4555     Advanced Product Catalog        Project Engineer           12/10/2013
20735   4555     Advanced Product Catalog        Project Engineer           12/10/2013
20735   4555     Advanced Product Catalog        Project Engineer           12/10/2013
20696   4462     Enterprise Asset Management   Enterprise Asset Management   8/3/2015   

More Precise (which user using one application how many licenses

SELECT   fu.user_name,
         application_name,
         count(application_name)
     FROM fnd_responsibility_tl t,
         fnd_responsibility b,
         fnd_application_tl fn,
         fnd_user fu,
         wf_all_user_roles wur,
         per_all_assignments_f asg
   WHERE b.responsibility_id = t.responsibility_id
     AND asg.person_id = fu.employee_id
     AND b.application_id = t.application_id
     AND b.application_id = fn.application_id
     AND t.LANGUAGE = 'US'
          --AND fu.end_date IS NULL
     --AND wur.expiration_date IS NULL
     AND fn.LANGUAGE = 'US'
     AND b.end_date IS NULL
     AND fu.user_name = wur.user_name
     AND wur.role_orig_system_id = t.responsibility_id
     AND wur.role_orig_system = 'FND_RESP'
     AND sysdate between wur.START_DATE and NVL (wur.expiration_date, SYSDATE )
     and sysdate between fu.START_DATE  and nvl(fu.end_date,sysdate)
     group by application_name, fu.user_name

Sample output:

USER_NAME   APPLICATION_NAME  COUNT(APPLICATION_NAME)

4445                 Human Resources                    4
4490                 Purchasing                                 4
4632                 Human Resources                    3
4632                 Purchasing                                 3
4502                 Human Resources                    4


More Precise (per application How many users) as comes in oracle Invoice.

select application_name, count(user_name)
from
(SELECT   fu.user_name,
         application_name,
         count(application_name)
     FROM fnd_responsibility_tl t,
         fnd_responsibility b,
         fnd_application_tl fn,
         fnd_user fu,
         wf_all_user_roles wur,
         per_all_assignments_f asg
   WHERE b.responsibility_id = t.responsibility_id
     AND asg.person_id = fu.employee_id
     AND b.application_id = t.application_id
     AND b.application_id = fn.application_id
     AND t.LANGUAGE = 'US'
          --AND fu.end_date IS NULL
     --AND wur.expiration_date IS NULL
     AND fn.LANGUAGE = 'US'
     AND b.end_date IS NULL
     AND fu.user_name = wur.user_name
     AND wur.role_orig_system_id = t.responsibility_id
     AND wur.role_orig_system = 'FND_RESP'
     AND sysdate between wur.START_DATE and NVL (wur.expiration_date, SYSDATE )
     and sysdate between fu.START_DATE  and nvl(fu.end_date,sysdate)
     group by application_name, fu.user_name)
     group by application_name;

Sample Output:

Application Name                                                         Count(Users)
                                                 
General Ledger                                                                  33
Receivables                                                                        21
Order Management                                                         14
Advanced Supply Chain Planning                                     3
Process Manufacturing Product Development              4
Sourcing                                                                              44
Assets                                                                                    8
Process Manufacturing Financials                                    6
Application Object Library                                               17
YES Custom                                                                       162
Marketing                                                                           15
XML Publisher                                                                      4
System Administration                                                      11
Process Manufacturing Process Execution                    86
Cash Management                                                             21
Time and Labor Engine                                                     13
Advanced Product Catalog                                                1
Alert                                                                                      4
Oracle iProcurement                                                          1
Enterprise Asset Management                                    204
Inventory                                                                         135
Oracle Landed Cost Management                                16
Human Resources                                                        1196
Purchasing                                                                      386
Treasury                                                                            11
Property Manager                                                            8
Cost Management                                                            3
Quality                                                                                5
Advanced Pricing                                                             8
Bills of Material                                                                1
Payables                                                                          25
                                                                        

Hope this helps..

ORA-04063: package body “APPS.AD_ZD_ADOP” has errors



 adop prepare phase was failing with the following error in customer test environment.


echo $FILE_EDITION
run

echo $TWO_TASK
test


adop phase=prepare

Enter the APPS password:
Enter the SYSTEM password:
Enter the WLSADMIN password:

Validating credentials.

Initializing.
    Run Edition context  : /u01/apps/fs1/inst/test_erptest/appl/admin/test_erptest.xml
    Patch edition context: /u01/apps/fs2/inst/test_erptest/appl/admin/test_erptest.xml
    Patch file system free space: 89.80 GB

Validating system setup.



    [ERROR]     Failed to execute SQL statement:
 select AD_ZD_ADOP.GET_INVALID_NODES() from dual
    [ERROR]     Error Message:
    [ERROR]     ORA-04063: package body "APPS.AD_ZD_ADOP" has errors (DBD ERROR: OCIStmtExecute)
    [UNEXPECTED]Error determining whether this is a multi-node instance


[STATEMENT] Please run adopscanlog utility, using the command

"adopscanlog -latest=yes"

to get the list of the log files along with snippet of the error message corresponding to each log file.


adop exiting with status = 2 (Fail)

Cause :

Package “APPS.AD_ZD_ADOP” is not valid since this package became invalid due to incorrect execution of adgrants.sql script.



Solution:

SQL> alter package APPS.AD_ZD_ADOP compile body;

Warning: Package Body altered with compilation errors.

SQL> show error
Errors for PACKAGE BODY APPS.AD_ZD_ADOP:

LINE/COL ERROR
-------- -----------------------------------------------------------------
2686/3   PL/SQL: Statement ignored
2686/7   PLS-00201: identifier 'SYS.DBMS_METADATA_UTIL' must be declared
SQL>
SQL> conn / as sysdba
Connected.

SQL> grant execute on DBMS_METADATA_UTIL to apps;

Grant succeeded.

SQL> conn apps
Enter password:
Connected.

SQL> alter package APPS.AD_ZD_ADOP compile body;

Package body altered.

adop phase=prepare

ADOP cycle completed without any further issues.

Thank you for reading.



Oracle Database and Applications Security Audit Part 1


Hello Everyone,

I would like to start series of write ups/post based on the experience regarding How to perform Security Audit for oracle database and applications. 

Hoping that it will guide/help you to ensure/be aware of the areas related to Oracle Database & Applications Security , and Data Security, and to perform frequent internal security audit for Proactive and Reactive measures.

Assumption: Though most of the topic it would be in plain English / Laymen language, I assume that the reader has and  understands basic RDBMS, Applications , Data and networking concepts.

I don't want to rush with multiple concepts in one post. I would like to go step by step with detail analysis and description. In this series of post , im not going to talk about tools which can automate the complete audit operations, Thought process is to explain the key areas/factors related to data security, Recommendations / Guidelines related to them, How and What to audit and action to be taken over them.

So Let us Begin.....

What is Data Security ? : Simple Terms : Ensuring my data (sensitive/insensitive) not visible and accessible by others, available & accessible by me always.

Hope i dont want to elaborate , and i have obvious assumption that the readers knows what is data security.

What are areas we need to protect and monitor for Data Security ( High level ) ?
(other words : Area you should plan to audit the data security)

Network  : Network layer plays an vital role in IT Data Security. 
IP Address and Port access should be perfect maintained such that other intruders cannot get into our system. Based on the Sensitivity and volume on the data , It is recommended to have an ethical hacker on board to take proactive and reactive actions.

Guidelines:

1. Production Servers  and Non-Production Servers highly recommended to be in two different networks.

2. Production Servers (file system , database and applications) are not recommended to be accessible from non-prod servers.

3. Mandatory : Production Servers (file system, database and applications) should not be visible outside network ( if there is a requirement, the network security should be tightened up that the one specific applications should only be accessible ).

4. Production (Database and applications) Ports should not be using the default one like 1521 for DB and 8000 for Applications. - Reason behind 1521 and 8000 are worldwide known default Oracle database and applications ports, so Intruders can easily get into system very easily.

For Applications , It is recommended to implement SSL for Oracle applications , or traffic that comes to oracle applications server should be protected by SSL , for example Hardware Load Balancer.

5. Highly recommended to set TCP.INVITED_NODES in sqlnet.ora, which wont let all other IP address which was not mentioned in INVITED_NODES to access the database.

6. Subscribe for Oracle OTN Notifications , through which you will get Frequest Oracle security Updates ... As well as (related to this topic), if there are any network vulnerability released like for example : Poodle vulnerability related to SSLv3 , you will get to know and you can take immediate action over them.

How and What to Audit:

1. Get the list of non-production servers , sort them by number of developer or users using them. though all servers needs to be controlled and checked but in general the server which was accessed by high number of users should be continously monitored and checked.

2. Though there are lot of monitoring tools available, as a basic components you can use telnet.

3. Check that the points mentioned in the guidelines are met. , if not work with network team to block the ports (Action to be taken).

4. For Oracle Database , 
login to database server , do tnsping/telnet with production host ip and 1521 port ,

telnet 192.168.1.2 1521

you may also do 

netstat -anp|grep 1521

It should not be successful, if it is successful then check with DBAs to change the db port to different other than 1521

5. For Oracle Applications, 
login to database server , do tnsping/telnet with production host ip and 8000 port ,

telnet 192.168.1.2 8000

you may also do 

netstat -anp|grep 8000

It should not be successful, if it is successful then check with Apps DBAs to change the applications port to different other than 8000.

Recommended : recommended to implement SSL for Oracle applications , or traffic that comes to oracle applications server should be protected by SSL , for example Hardware Load Balancer.


Next Posts : Database and Applications Security... After that Data security.

-- Narasimha Rao

Thursday, December 29, 2016

MRP0: Background Media Recovery terminated with error 448

MRP0: Background Media Recovery terminated with error 448

Recently encountered ORA-00448: normal completion of background process Managed Standby Recovery not using Real Time Apply due to ORA-00600 on standby Database. 

After executing "ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT";.

Standby database starts throwing following error into the alert log when try to enable MRP.

Wed Dec 21 15:19:19 2016
Dumping diagnostic data in directory=[cdmp_20161221151919], requested by (instance=1, osid=22962 (PR2L)), summary=[incident=2760999].
Errors in file /u01/app/oracle/diag/rdbms/PROD_dgp/PROD/trace/PROD_mrp0_22684.trc  (incident=2760247):
ORA-00600: internal error code, arguments: [3020], [93], [327813], [390398085], [], [], [], [], [], [], [], []
ORA-10567: Redo is inconsistent with data block (file# 93, block# 327813, file offset is 2685444096 bytes)
ORA-10564: tablespace PROD_DATA
ORA-01110: data file 93: '/u03/oradata/PROD/PROD_DATA_48.dbf'
ORA-10561: block type 'TRANSACTION MANAGED INDEX BLOCK', data object# 204854
Incident details in: /u01/app/oracle/diag/rdbms/PROD_dgp/PROD/incident/incdir_2760247/PROD_mrp0_22684_i2760247.trc
Wed Dec 21 15:19:19 2016
Archived Log entry 103378 added for thread 1 sequence 92576 ID 0x22d0a3c8 dest 1:
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
Recovery Slave PR2L previously exited with exception 600
Wed Dec 21 15:19:21 2016
MRP0: Background Media Recovery terminated with error 448
Errors in file /u01/app/oracle/diag/rdbms/PROD_dgp/PROD/trace/PROD_pr00_22768.trc:
ORA-00448: normal completion of background process
Managed Standby Recovery not using Real Time Apply
Recovery interrupted!
Wed Dec 21 15:19:21 2016
Sweep [inc][2760999]: completed
Sweep [inc][2760247]: completed
Sweep [inc2][2760999]: completed
Sweep [inc2][2760247]: completed
Dumping diagnostic data in directory=[cdmp_20161221151921], requested by (instance=1, osid=22684 (MRP0)), summary=[incident=2760247].
Recovered data files to a consistent state at change 593576225741
Wed Dec 21 15:19:23 2016
MRP0: Background Media Recovery process shutdown (PROD)


Steps to resolve this issue:

Primary Database::

alter database begin backup;

Take backup of data file 93: '/u03/oradata/PROD/PROD_DATA_48.dbf' 

alter database end backup;


Standby Database:

shutdown the database.

Physically drop the datafile
rm /u03/oradata/PROD/PROD_DATA_48.dbf

Copy the backup of datafile# 93 from Primary to Standby database server.


Mount the database.

Restart the managed recovery operations.
alter database recover managed standby database  using current logfile disconnect;

select process,status from v$managed_standby;


Check the alert log:
Media Recovery Log and real-time apply successful

Thank you !!

Happy Reading… 





Untrusted Certificate Issue in ECX (XML PO) transmission


When the XML Gateway (ECX) has been configured for XML PO Transmission ,  when https protocol has been configured in trading partner setup , valid certificates has to be uploaded to keystore , Else you will get untrusted certificate error in Exception text when you ran the ECX Diag script

This post provides you the steps to follow to setup and upload certificate (SHA2 certificate)

XML gateway configuration is done via the oc4j.properties file under the oc4j container:   $INST_TOP/ora/10.1.3/j2ee/oafm/config/oc4j.properties

1. Ensure and update the $INST_TOP/ora/10.1.3/j2ee/oafm/config/oc4j.properties file contains the values to point the oxta servelet to the new jdk keystore:

javax.net.ssl.trustStoreType=JKS
javax.net.ssl.trustStore=$AF_JRE_TOP/jre/lib/security/cacerts   ### preferred to be physical location
javax.net.ssl.trustStorePassword=changeit
test.trustmanager.algorithm = SunX509

2. copy the certificate (exported as base64) as (in text format) and .cer extension to $AF_JRE_TOP/jre/lib/security. 
(for this post example, staples_cert.cer)

3. Import the certificate into the cacerts file using keytool command:

keytool -import -alias <alias name> -file <certificate filename>.cer -trustcacerts -v -keystore cacerts -storepass changeit

For example :
alias name is staples_cert
ceriticate name (step 2) : staples_cert.cer

keytool -import -alias staples_cert -file staples_cert.cer -trustcacerts -v -keystore cacerts -storepass changeit


--Narasimha Rao


Troubleshooting Punchout Issues


This post helps or guide you in fixing all issues related to punchout.

1. When user click over the punchout link, and in the detailed exception message you see "CONNECTION REFUSED"

Solution : telnet <punchout/supplier site> 443 in oracle applications oacore & apache server, it will be unsuccessful . Check with Firewall team, is there any network port block for that site from oracle applications oacore or apache server.

2. When user click over the punchout link, and in the detailed exception message you see "No Trusted Certificate found"

Solution:  1. Check with Supplier is the certificate key got changed, get the valid certificate from supplier, export it as .base64 certificate and get it in .txt format.

2. Get the absolute file path of the certificates file , that stores the certificates' names , in Profile "POR :CA Certificate File Name".
     
The certificate file is located at tech_st directory structure: 
/.../apps/tech_st/10.1.2/sysman/config/b64InternetCertificate.txt

3. append the ceritificate to the beginning of the file mentioned in profile POR :CA Certificate File Name),  Ensure to append it in the beginning of file. "Append only the trusted certificates".

4. Bounce the apache and oacore services.

--Narasimha Rao


Assigning Approval Management Responsibilities


This post helps you to assign Approvals Management (AME) responsibilities to a Oracle Applications User
  1. Login as SYSADMIN user.
  2. Switch the responsibility to “User Management” and Navigate to the Users function.
  3. Query for user for ex. Nkaranam.
  4. Click on the update action from the result table.
  5. In the Update User page, click on the Assign Roles button.
  6. Change the “Search By” field from “Roles and Responsibilities” to “Roles”
  7. In the search window, query for Approval%
  8. Select the “Approvals Management Administrator” and “Approvals Management Business
    Analyst” roles or (any specific approvals roles required by functional team).
  9. After selecting the Roles, provide the Justification for the role and the effective date.
  10. After completing the action, you can query back the same user and can verify the list of roles being attached to the user.
  11. Run Workflow Background process with mandatory parameter as YES, YES.


Optional for System administrator , but good to know:

After assigning the responsibility following the above 11 steps
  1. Now switch the responsibility to “Functional Administrator”.
  2. Click on create grants under the grants sub-tab.
  3. Enter a Grant Name and provide an effective date.
  4. Navigate to the security Context region and select the Grantee Type as ‘Specific User’
  5. In the Grantee field select “Narasimha Rao, Karanam” user (Person name of the user).
  6. In the Data Security region select ‘AME Transaction Types’ as the Object.
  7. Clicking “Next” will take you to the ‘Select Object Data Context’ page’.
  8. You have a default value of ‘All Rows’ in the Data Context Type, leave it as it is, and navigate further.
  9. In the ‘Object parameter and Select Set’ page, enter ‘AME calling applications’ as the value in the Set field.
  10. Clicking Next will take you to the Review page.
  11. Verify the information and submit the transaction.
  12. Peferred to Run Workflow Background process with mandatory parameter as YES, YES - once again.
-- Narasimha Rao

Troubleshooting Oracle Workflow Mailer Issues


This Post helps you to find almost straight solutions for the issues  you are facing in Oracle Workflow Mailer.

Assumption: It is  assumed that you have basic configuration knowledge related to Oracle workflow mailer. if not refer to my previous posts in which i have explained about workflow mailer configuration.

If you go through this post from start to end , you will get complete picture of workflow  mailer issues and solutions

Broad Head 1 : Oracle Workflow Mailer services is down

1. Login to Oracle applications --> System administrator --> oracle Applications manager --> workflow

2. Click over notification mailer.


3. Click on View log button. and see is there any errors in the logfile.

POSSIBLE CAUSE 1 : INCORRECT SMTP SERVER ADDRESS OR SMTP SERVER IS NOT ACCESSIBLE.

1. Login to Oracle applications --> System administrator --> oracle Applications manager --> workflow

3. click on view details button , ensure that the outbound server name is correct.

3.1 if it is not correct, click on EDIT button, enter the valid smtp server address.

3.2 if SMTP Server address is correct, do telnet <smtp server> <smtp port> from Oracle Applications server where concurrent is running. 

telnet mail.gmail.com 25

if it not reachable, connect with exchange team and network team for either resolution or for alternate smtp address.


POSSIBLE CAUSE 2 : Inbound email address is not accessible.

1. Login to your workflow webmail account with the password provided in the workflow mailer setup.

2. Ensure that the webmail login is successful , if successful, ensure that the inbox/mail box has suffiecient space.

2.1 if it not accessible , connect with exchange team , reset the password and ensure you can login successfully , once successful, Oracle applications --> System administrator --> oracle Applications manager --> workflow --> Notification Mailer --> Edit --> Enter the new password.

2.2 once accessible , and mail box found to be full , clean all old/obsolete mails from DISCARD AND PROCESS FOLDER.

2.3 Once above two steps are done and success, restart the workflow mailer once.


Broad Head 2 : Oracle Workflow Mailer services is up and still emails are not going.

POSSIBLE CAUSE 1 : WF: Workflow Mailer Framework Web Agent profile was either set to null or not valid.

1. Navigate --> System administrator -->Profiles --> system

2. Query "WF: Workflow Mailer Framework Web Agent", click find, ensure "IT SHOULD HAVE PHYSICAL WEB SERVER ADDRESS AND ACTIVE WEB PORT ENTRY", if in case your web URL is virtual host. 



(Before that ensure that the URL is accessible from your machine).


POSSIBLE CAUSE 2 : WF: Workflow Mailer Framework Web Agent profile is correct but still emails are not going - Then OUTBOUND QUEUE GOT CORRUPTED.


Login to Oracle applications as sysadmin and deactivate Workflow Service components.

Sysadmin System administrator Workflow Sitemap Click over Service Components Click over Workflow agent listener Service Stop all and click go button.

Once all the services deactivated, proceed with the next step.

Login to any application node, set the environment, and execute the notification queue populate script.

. ./ APPSEBS01_a111.env

cd $FND_TOP/patch/115/sql

sqlplus apps/<apps pwd>

SQL> start wfntfqup APPS <apps password> APPLSYS

Example:

SQL> start wfntfqup APPS apps123 APPLSYS

Login to Oracle applications as sysadmin and activate Workflow Service components.

Sysadmin System administrator Workflow Sitemap Click over Service Components Click over Workflow agent listener Service Start all and click go button

POSSIBLE CAUSE 3 : Inbound email is full.

the below points are already mentioned in this post though, but are required for check and fix the issue.

1. Login to your workflow webmail account with the password provided in the workflow mailer setup.

2. Ensure that the webmail login is successful , if successful, ensure that the inbox/mail box has suffiecient space.

2.1 if it not accessible , connect with exchange team , reset the password and ensure you can login successfully , once successful, Oracle applications --> System administrator --> oracle Applications manager --> workflow --> Notification Mailer --> Edit --> Enter the new password.

2.2 once accessible , and mail box found to be full , clean all old/obsolete mails from DISCARD AND PROCESS FOLDER.

2.3 Once above two steps are done and success, restart the workflow mailer once.

-- Narasimha Rao