R12.1.x ASCP : The executable file /../../bin/MSCMON for this concurrent program cannot be executed. Contact your system administrator or support representative.

We are in the process of implementing Advanced Supply Chain Planning (ASCP) for our Oracle E-Business Suite (EBS).  The Snapshot Monitor program (MSCMON) resulted in the below error.

Error:
The executable file /p01/oracle/apps/apps_st/appl/msc/12.0.0/bin/MSCMON for this concurrent program cannot be executed. Contact your system administrator or support representative. Verify that the execution path to the executable.

Operating System: Linux x86-64 bit
EBS Version: R12.1.2 with ASCP patches R12.1.3

Issue: Some of the executable were missing like MSCCPP, MSCMON, MSCNEW, MSCNSP, MSCNSPNM, MSCPCL, MSCPCP, MSCPDW, MSCPRG, MSCSDW, MSCSLD and MSCXGCAL from $MSC_TOP/bin. MSONEW was missing from $MSO_TOP/bin.

Solution:
Relink the MSC and MSO modules using adadmin and verify the executable are present.

ADADMIN
 - 2. Maintain Applications Files menu
    - 1. Relink Applications programs
       Do you wish to proceed with the relink [Yes] ?
       Enter the name of your Oracle Applications environment file below.
       File name [APPLE_vaidiyan1.env] :
       Enter list of products to link ('all' for all products) [all] : MSC
       Generate specific executables for each selected product [No] ? Yes
       Relink with debug information [No] ?
       Enter executables to relink, or enter 'all' [all] :

Repeat the same process for MSO.

In my case, adrelink failed for the MSC executables.

Error:

/p01/oracle/apps/apps_st/appl/mso/12.0.0/lib/libmso.a(msopomresconsume.o)
collect2: ld returned 1 exit status
make: *** [/p01/oracle/apps/apps_st/appl/msc/12.0.0/bin/MSCMON] Error 1
Done with link of msc executable 'MSCMON' on Mon Dec 15 12:15:27 CST 2014

Relink Solution:

This is a Bug 9907575: CHANGE ADRELINKNEW.SH FOR RELINK APS EXE ON OEL/RH 5.

1. Backup $AD_TOP/bin/adrelinknew.sh and open the file.
2. Search the string below in the LINUX section and modify it appropriately

CPP_LDFLAGS=' -L$(ORACLE_HOME)/lib -L$(ORACLE_HOME)/lib/stubs -lclntsh'
 
TO

CPP_LDFLAGS=' -L$(ORACLE_HOME)/lib -L$(ORACLE_HOME)/lib/stubs -lclntsh -Wl,--noinhibit-exec' 

3. Now relink MSC/MSO/MSR executables with adadmin.

Reference:
MSCNSP Memory Based Snapshot Errors Concurrent Program Cannot Be Executed (Doc ID 562672.1)
Unable to relink MSC/MSO executables on OEL/RHEL5 and also RedHat 4.9 (Doc ID 1273390.1)
ADRELINK of MSC and MSO executables fail (Doc ID 1492763.1)
MSC Relinking Error on Linux OEL5/RHEL5, Relink of module "MSCCPP" failed, "FEMCCE","MSCNEW","MSCMON". There was No MSC Relink Problem when Worked on RHEL 4 (Doc ID 1128486.1)    To Bottom   
R12: MSC Modules Error Out When Relinking with Adrelink (Doc ID 1345788.1)

R12.2.x - Flexfield value set security : Grant flexfield value set access to specific users

Oracle Applications release 12.2.x brings a new Separation of Duty feature - FLEXFIELD VALUE SET SECURITY. It controls who can create, view, insert or update values for a particular value set in the Flexfield Values Setup window (FNDFFMSV).

The effect of flexfield value set security is that a user of the Segment Values form will only be able to view those value sets for which the user has been granted access. Further, the user will be able to insert or update/disable values in that value set if the user has been granted privileges to do so. Note that where a value set is being used by multiple flexfield segments or report parameters, any changes made to a value set affect all segments or parameters that use the same value set, even if access is not explicitly granted for the flexfield that shares the value set. 

Note: Flexfield value set security is not currently supported by the Account Hierarchy Manager in Oracle General Ledger, though the Account Hierarchy Manager only provides access to value sets that are used for the Accounting Flexfield. Flexfield value set security is also not currently supported by the Setup Workbench in the Oracle Product Information Management product. For both of these products, you should maintain tight control over who has access to these pages on their menus.

When you initially install or upgrade to Release 12.2.2, no users are allowed to view, insert or update any value set values. You must explicitly set up access for specific users by enabling appropriate grants and roles for those users.

Setting Up Flexfield Value Security : Setting up value security mostly consists of creating grants using the Functional Administrator responsibility.

Oracle Recommendation: To create roles and create grants to those roles rather than directly to individual users.

Our Strategy: What I 'have done in our environment is to assign all privileges to System Administrator Responsiblity and View only to all users. This way whoever have System Administrator responsiblity will be able to modify the Value Set.

Functional Administrator > Security Tab > Create Grant.

Create Grant: Define Grant
Name: XX_VALUE_SET_ACCESS_SYSADMIN
Security Context
Grantee Type: All Users
Responsibility: System Administrator
Data Security
Object : Flexfield Value Set Security Object (Code:FND_FLEX_VSET_OBJECT, Source:FND_FLEX_VALUE_SETS)

Create Grant: Select Object Data Context
Object Flexfield Value Set Security Object
Data Context Type: Instance Set
Name: All value sets (Code:FND_FLEX_VSET_OBJSET_ALL, Description:Give access to all value sets)

Create Grant: Define Object Parameters and Select Set
Data Security
Object Flexfield Value Set Security Object
Data Context
Type Instance Set
Name All value sets
Description Give access to all value sets
Predicate
1=1
Set
Name: Flexfield Value Set Security Insert/Update Set (Code:FND_FLEX_VSET_INSERT_UPDATE_PS, Description:Allow insert and update of values in a value set)

Create Grant: Review and Finish
Review the information and hit the Finish button.

There are two options to give users access to all value sets for backward compatibility

Reference:
Oracle E-Business Suite Release 12.2.3 Readme (Doc ID 1586214.1)
Oracle E-Business Suite Release 12.2.4 Readme (Doc ID 1617458.1)
Oracle® E-Business Suite Flexfields Guide, Release 12.2 (Part No. E22963) -'Flexfield Value Set Security'

Oracle 11g, 12c: rlwrap: error: Cannot execute sqlplus: No such file or directory

I have installed an ASM instance and tried to login using sqlplus and received the below error:
$ sqlplus
rlwrap: error: Cannot execute sqlplus: No such file or directory

$ sqlplus / as sysdba
rlwrap: error: Cannot execute sqlplus: No such file or directory

Operating system: RedHat Linux 6.5

Solution: 
Add the following to the environment file :
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib 

R12.2.x Oracle E-Business Suite Sanity Check

An instance validation is highly recommended whenever we install or upgrade Oracle E-Business Suite (EBS) or clone an Oracle Application system to test or even while applying AD, Techstack (TXK) and family packs. The sanity checks are valid whenever we take the system down for maintenance or perform a disaster recovery. Following are some of the validation tests for an Oracle EBS R12.x and above that I perform.

1. Basic Technology Stack Health Testing   
Check LocalLogin using: /OA_HTML/AppsLogin
Login via Forms Direct Login: /forms/frmservlet?

Check for any errors or exceptions, if any, in Java Console as well as during Forms launch

2. Multiple Forms Launching In Single Forms Session

After logon (SYSADMIN/sysadmin) to Apps, click System Administrator -> Security: User-> Define. Now from the html navigator, open the Application-> Currency form.The new form should open in the existing forms session (i.e., the earlier form as well as new form should co-exist).

3. AOL/J Test  

Logon http://<hostname:port>/OA_HTML/jsp/fnd/aoljtest.jsp with DB connection details.
All the tests should pass without errors/exceptions.

4.Concurrent Request (CR)

Logon (SYSADMIN/sysadmin) to EBS. Choose System Administrator -> Requests-> Run-> Single Request. Select the concurrent request 'Active User' and hit Submit. This should not throw any errors or exceptions in any phase. View Output should generate report without any errors. There should not be any errors in the report log file.

5. Reports Regression Test

Logon (SYSADMIN/sysadmin) to EBS. Choose System Administrator -> Requests-> Run-> Single Request. From the Name LOV, choose 'CP Text Report Regression Test' (with parameters Run Mode ::'FULL', Duration:: 0) and click on Submit. Ensure that this CR completes successfully.

6. Java Regression Test   

Logon (SYSADMIN/sysadmin) to EBS. Choose System Administrator -> Requests-> Run-> Single Request. From the Name LOV, choose 'CP Java Regression Test' (Set parameters as 'Basic') and click on Submit. Ensure that this CR completes successfully.

7. PLSQL Regression Test

Logon (SYSADMIN/sysadmin) to EBS. Choose System Administrator -> Requests-> Run-> Single Request. From the Name LOV, choose 'CP PLSQL Regression Test' (Set parameters as 'Basic') and click on Submit. Ensure that this CR completes successfully.

8. Perl Regression Test

Logon (SYSADMIN/sysadmin) to EBS. Choose System Administrator -> Requests-> Run-> Single Request. From the Name LOV, choose 'CP Perl Regression Test' (Set Parameters as 'Basic') and click on Submit. Ensure that this CR completes successfully.

9. OAM functionality

Logon (SYSADMIN/sysadmin) to EBS. Choose System Administration-> Oracle Applications Manager --> System Configuration Overview. System Configuration Overview should display current system config values; all processes should be up and running. Check init.ora settings.

10. Diagnostics

Logon (SYSADMIN/sysadmin) to EBS. Choose System Administration-> Diagnostics.
Check AOL/J Diagnostics, JSP Ping, JSP Class Version Information, Servlet Ping, AOL/J Database Connection Pool Status, TCF Status.

11. iHelp Test  

Logon (SYSADMIN/sysadmin) to EBS. Choose System Administrator, Select Help link On Search Entry, type FNDFS and click Find. Verify that it shows the list of search hits for FNDFS.

12. License Manager   

Logon (SYSADMIN/sysadmin) to EBS. Bring up license manager and try to license/de-license products.

13. TCF Server test

Logon (SYSADMIN/sysadmin) to EBS. Choose System Administrator-> Application -> Menu. Query the menu item AK_NAVIGATE (Press F10 for editable mode), Click on View Tree button. Menu Viewer screen should appear with the details.

14. FNDFS (Text and Web)

Logon (SYSADMIN/sysadmin) to EBS. Choose System Administrator -> Profile -> System. Set profile option 'Viewer: Text' to <blank> (text format). View the log or output of any concurrent request and it should be opened by forms default viewer. Set profile option 'Viewer: Text' to 'browser' (web format). View the log or output of any concurrent request and it should be opened by web browser window.

15.  Printing

Check the printing from Applications. Print the output of a Concurrent Request.

The tests are all optional.

Oracle 11g and 12c RDBMS: How to check what are the PSU and CPU patches applied on the database

We can find the list of patches applied to RDBMS_ORACLE_HOME by the command opatch lsinventory or opatch lsinventory -detail. There is one another way to find the Patch Set Update (PSU) or Critical Patch Update (CPU) by querying against the database table.

Table Name: SYS.REGISTRY$HISTORY (10g, 11g) and SYS.REGISTRY$SQLPATCH (12c R1 and later)
CPU:
select comments, version, bundle_series from sys.registry$history where bundle_series = 'PSU' order by action_time;

PSU:
select action_time, action, id, comments from sys.registry$history where action = 'CPU' order by action_time;

Other Queries:
select to_char(action_time, 'dd-mon-yyyy hh24:mi:ss') as action_time, action, namespace, version, id, comments,bundle_series from   sys.registry$history order by action_time; 

12c R1  and later Query:
select patch_id,action,status,action_time,description from registry$sqlpatch;

Reference:
Do Patchset Updates (PSU's) Change the Oracle Release Version/Fifth Digit? (Doc ID 861152.1)
The COMMENTS Column Of dba_registry_history And registry$history Tables Shows The Value 11.2.0.2.0 Instead Of 11.2.0.3.0 or 11.2.0.4 (Doc ID 1439486.1)
What information Oracle Support needs to work on Critical Patch Update (CPU) Installation Service Requests (Doc ID 735257.1)

R12.2.x : How to create Autoconfig / Context File on the (RDBMS) database node ?

I was working on a project to migrate R12.2.3 database from HP UX Itanium to RedHat Linux 6.5. In the environment, database server have just the database and application server accommodates the web, oacore, weblogic, concurrent managers and so on. As part of the migration, I had to build new context file for the database on Linux.

The same process can be used when you are adding/deleting a database node to RAC for EBS environment or if you happen to create the EBS database without using Rapid Install.

1. Login to the Application Server (APPL_TOP) as APPLMGR and create appsutil.zip by running the following command:

$ perl <AD_TOP>/bin/admkappsutil.pl 
This will create appsutil.zip in <INST_TOP>/admin/out. 

2. Copy (scp/ftp) the appsutil.zip to Oracle Database Host  - ORACLE_HOME or RDBMS_ORACLE_HOME.

$ cd <RDBMS_ORACLE_HOME>/appsutil/admin
$ unzip -o appsutil.zip 

3. Install Java Runtime Environment (JRE) on the Database tier. The JRE resides in the <RDBMS_ORACLE_HOME>/appsutil/jre directory on the database tier. Use the MOS Note 'All Java SE Downloads on MOS (Doc ID 1439822.1)' to download the required JRE.

Note: Do NOT download the Java SE Development Kit (JDK). Instead, download the JRE that supports 64-bit JVM.

In my case, I downloaded p14558210_17070_Linux-x86-64.zip. I copied the zip file to $ORACLE_HOME/appsutil and unzipped the file.
  •  jdk-7u7-linux-x64.rpm
  •  jdk-7u7-linux-x64.tar.gz
  •   jre-7u7-linux-x64.rpm
  •   jre-7u7-linux-x64.tar.gz 
Untar the file and it will create the directory named jre1.7.0_07. Now rename the directory.

$ tar xvf jre-7u7-linux-x64.tar.gz 
$ mv jre1.7.0_07 jre 

4. From the ORACLE_HOME/appsutil/bin directory, create an instance-specific XML context file by executing the command:
$ adbldxml.pl appsuser=APPS appspasswd=APPSpwd 

Reference: 
Using Latest Java 6.0 Update With Oracle E-Business Suite Release 12 (Doc ID 455492.1)
Oracle E-Business Suite Release 12.2: Adding or Deleting 11gR2 Oracle RAC Nodes (Doc ID 1570554.1)
Export/Import Process for Oracle E-Business Suite Release 12.2 Database Instances Using Oracle Database 11.2 (Doc ID 1613716.1)
All Java SE Downloads on MOS (Doc ID 1439822.1)
Oracle® E-Business Suite Setup Guide - Release 12.2 (Part No. E22953-09)

ORA-29532: Java call terminated by uncaught Java exception: java.security.AccessControlException: the Permission (java.io.FilePermission /XXXXXX/sqlcom/out/MISSING_ATTRIBUTE_ITEMS_2111201409:23:51.xls read) has not been granted to APPS.

I created a new Oracle E-Business Suite environment, our tech team developed a code to ftp a file to certain location and then send the file as email using concurrent program. The technical analyst received the following error:

exception in SendMail =ORA-29532: Java call terminated by uncaught Java exception: java.security.AccessControlException: the Permission (java.io.FilePermission /XXXXXX/sqlcom/out/MISSING_ATTRIBUTE_ITEMS_2111201409:23:51.xls read) has not been granted to APPS. The PL/SQL to grant this is dbms_java.grant_permission( 'APPS', 'SYS:java.io.FilePermission', '/XXXXXX/sqlcom/out/MISSING_ATTRIBUTE_ITEMS_2111201409:23:51.xls', 'read' )

Solution: 
Even though the file location is added to UTL_FILE_DIR database init parameter, we have to give to grant Java permission explicitly to the APPS user to read and write.

Login as SYS or SYSTEM user and then assign the required permission using DBMS_JAVA.GRANT_PERMISSION package.

SYS@APPLE SQL>EXEC DBMS_JAVA.GRANT_PERMISSION('APPS', 'SYS:java.io.FilePermission','/XXXXXX/sqlcom/out/*','read,write');

PL/SQL procedure successfully completed.

SYS@APPLESQL>commit;

Commit complete.



Note: Please make sure the commit is important.

The permission information can be verified using the Oracle dynamic views - DBA_JAVA_POLICY and USER_JAVA_POLICY.

R12.1.x - adapcctl.sh: exiting with status 204/ HTTP_Server~1.log : libdb.so.2: cannot open shared object file

I cloned R12.1.2 environment from Production to a Linux 64 bit test system. The clone process completed successfully, When I was trying to start all the services using 'adstrtal.sh' . The HTTP/Apache process did not start up. I was receiving the following error :

You are running adapcctl.sh version 120.7.12010000.2

Starting OPMN managed Oracle HTTP Server (OHS) instance ...

adapcctl.sh: exiting with status 204


Research:

Verify the logs. I checked adapcctl.txt 
ias-component/process-type/process-set:
    HTTP_Server/HTTP_Server/HTTP_Server/

Error
--> Process (index=1,uid=1288926491,pid=31768)
    failed to start a managed process after the maximum retry limit

and it referred to HTTP_Server~1.log.

HTTP_Server~1.log showed the actual issue:
/tech_st/10.1.3/Apache/Apache/bin/httpd: error while loading shared libraries: libdb.so.2: cannot open shared object file: No such file or directory

Solution:

Shutdown the Oracle Application services and as a  unix root user, create a soft link as follows:

$ ll /usr/lib/libgdbm.so.2.0.0
-rwxr-xr-x 1 root root 24800 Jul 23  2010 /usr/lib/libgdbm.so.2.0.0
ll /usr/lib/libdb.so.2
ls: cannot access /usr/lib/libdb.so.2: No such file or directory
$ ln -s /usr/lib/libgdbm.so.2.0.0 /usr/lib/libdb.so.2
$ ll /usr/lib/libdb.so.2
lrwxrwxrwx 1 root root 25 Oct 31 13:07 /usr/lib/libdb.so.2 -> /usr/lib/libgdbm.so.2.0.0

Reference:
Attempting to Start Apache (adapcctl.sh) Throws an 'Error While Loading Shared Libraries: libdb.so.2' on RedHat Linux 5 (Doc ID 879522.1)

R12.2.x - Registering Custom Application/ Product/ CUSTOM_TOP in Oracle E-Business Suite Release 12.2

The process of registering custom application is different from other version oracle applications. Below are the steps that I followed to perform the register custom application like XXONT (An extension to the standard Oracle Order Management module). The same applies for any Custom Application /Product.

With R12.2.x, Oracle have introduced online patching functionality using two file editions - RUN and PATCH. We should NOT use Applications form to register custom application rather use adsplice to ensure that the application is set up for online patching.

Environment:
Two node architecture with application node in Linux and Database on HP UX Itanium

Application Release: R12.2.3 on Linux x-86 64 bit 6
This node runs all the components of the Oracle EBS like forms, weblogic, concurrent managers, OACore and so on.
Database : 11.2.0.3 on HP UX Itanium. Database node contains only the database.

Steps:

1. Create the schema in the database. I am creating a schema called  'PLUM' and I use the same schema for all the custom application. You are always welcome to create each schema for each custom application.

CREATE USER PLUM IDENTIFIED BY plum
DEFAULT TABLESPACE APPS_TS_TX_DATA
TEMPORARY TABLESPACE TEMP1
PROFILE DEFAULT
ACCOUNT UNLOCK; 

GRANT CONNECT, RESOURCE TO PLUM; 
GRANT CREATE ANY CONTEXT TO PLUM; 
GRANT CREATE ANY TYPE TO PLUM; 
GRANT CREATE CLUSTER TO PLUM; 
GRANT CREATE DATABASE LINK TO PLUM; 
GRANT CREATE DIMENSION TO PLUM; 
GRANT CREATE INDEXTYPE TO PLUM; 
GRANT CREATE LIBRARY TO PLUM; 
GRANT CREATE MATERIALIZED VIEW TO PLUM; 
GRANT CREATE OPERATOR TO PLUM; 
GRANT CREATE PROCEDURE TO PLUM; 
GRANT CREATE PUBLIC SYNONYM TO PLUM; 
GRANT CREATE SEQUENCE TO PLUM; 
GRANT CREATE SYNONYM TO PLUM; 
GRANT CREATE TABLE TO PLUM; 
GRANT CREATE TRIGGER TO PLUM; 
GRANT CREATE TYPE TO PLUM; 
GRANT CREATE VIEW TO PLUM;

2. Download the patch 3636980 (Support Diagnostics (IZU) patch for AD Splice). This patch is generic for R12.

3.  Unzip the files in the patch and copy the following three files from p3636980_R12_GENERIC\3636980\izu\admin to your desktop/ current working folder.
  • izuprod.txt
  • izuterr.txt
  • newprods.txt
4.Rename the file izuprod.txt to [CUSTOM_MODULE]prod.txt and izuterr.txt to [CUSTOM_MODULE]terr.txt

In my case, I renamed the file as xxontprod.txt and xxontterr.txt.

5. Open the newprods.txt in a text editor and change all references of "izu" to [custom_module] and all references of "IZU" to [CUSTOM_MODULE]. Please do maintain the case sensitivity.

In my example, I will change 'izu' to 'xxont' and 'IZU' to 'XXONT'.

%%% Splicer control file format 12.0.A
#
# $Header: newprods.txt 120.1 2006/09/20 12:57:45 jaobrien noship $
#
#
# Section for Oracle Support Diagnostic Tools

product=xxont
base_product_top=*APPL_TOP*
oracle_schema=plum
sizing_factor=100
main_tspace=APPS_TS_TX_DATA
index_tspace=APPS_TS_TX_IDX
temp_tspace=TEMP1
default_tspace=APPS_TS_TX_DATA

# end of Oracle Support Diagnostic Tools


6. Open the xxontprod.txt in a text editor
  • Change all the references of 'izu' and 'IZU' with 'xxont' and 'XXONT' respectively. Please do maintain the case sensitivity.
  • Change the Application/Product ID from 278 to your own unique number.
Note: Oracle recommends to pick a number above 50000 that is not already in use. You can use the below SQL to confirm that Application/Product ID is available to use or not:

SQL>select decode(count ,0, 'Selected number is Available', 'Selected number already in use') Status, &&enter_custom_applID selected_number
from
(
select count(*) as count from
(
select 'x' from fnd_oracle_userid
where oracle_id= &&enter_custom_applID
union
select 'x' from fnd_application
where application_id= &&enter_custom_applID)
);

I wanted to give 50301 for XXONT, so I entered 50301 as the parameter for the query. The SQL returned "Selected number is Available". 

So I changed 278 to 50301 in the file - xxontprod.txt.

7. Open the xxontterr.txt in a  text editor.
  • Change all the references of 'izu' to [custom_module] and 'IZU' to [CUSTOM_MODULE] keeping the case sensitivity. In our example, 'izu' --> 'xxont' and 'IZU'  --> 'XXONT'.
  • Change the text 'Oracle_Support_Diagnostic_Tools' to 'abc_custom_app". In my example, I changed the text to 'Plum_Oracle_Order_Management'.
8. Copy the three files to $APPL_TOP/admin directory.
  • xxontprod.txt
  • xxontterr.txt
  • newprods.txt
9. Change the directory to $APPL_TOP/admin and run adsplice. 
Note:  adsplice must be run from the admin directory under APPL_TOP.

$ adsplice



Your default directory is '/u01/app/oracle/fs1/EBSapps/appl'.
Is this the correct APPL_TOP [Yes] ?

Filename [adsplice.log] : adsplice_xxont.log



You are about to install or upgrade Oracle E-Business Suite product tables
in your ORACLE database 'D599'
using ORACLE executables in '/u01/app/oracle/fs1/EBSapps/10.1.2'.
Is this the correct database [Yes] ?



Enter the password for your 'SYSTEM' ORACLE schema:



Enter the ORACLE password of Application Object Library [APPS] :



Please enter the directory where your AD Splicer control file is located.
The default directory is [/u01/app/oracle/fs1/EBSapps/appl/admin] : 
Please enter the name of your AD Splicer control file [newprods.txt] :



Do you wish to regenerate your environment file [Yes] ?

Checking if AutoConfig is enabled....

Running AutoConfig on : All products ...

10. Check the adsplice and Autoconfig log file.

Now you can verify that the Custom Product/ Application is in the database using the following queries:

Log in to SQLPLUS as apps.

select * from fnd_application where application_short_name = 'XXONT';
select * from fnd_product_installations where APPLICATION_ID = 50301;
select * from dba_users where username = 'XXONT';

Login to new session of Application node and check for environment file
$ env |grep XXONT
XXONT_TOP=/u01/app/oracle/fs1/EBSapps/appl/xxont/12.0.0
$

$ ls $XXONT_TOP
admin  log  mesg  out  sql


11. You can not create other additional directories if needed like bin, /forms/US, include, lib, mds, reports/US, workflow. 

Note:
If you are using Shared APPL_TOP, you need to  do all these process on ONE node and then run autoconfig on others. You don't have to rerun adsplice. If APPL_TOP is NOT SHARED, repeat the steps 8,9,10 and 11.


Do you have to repeat the steps for Patch File system ?
When you start the next online patching cycle, the prepare phase will run adsplice sync-up actions to synchronize the two file systems. Check for a known bug 18815526:R12.AD.C in case adsplice sync-up fails when prepare phase is run.

Reference:
Creating a Custom Application in Oracle E-Business Suite Release 12.2 (Doc ID 1577707.1)

Oracle 10g /11g - ORA-02082: a loopback database link must have a connection qualifier

I refreshed/cloned an Oracle 11.2.0.2 database from Production and I received the following error while dropping a database link:

SYS@ZERO SQL>drop  public database link ZERO;
drop  public database link ZERO
                           *
ERROR at line 1:
ORA-02082: a loopback database link must have a connection qualifier


Cause:

You are trying to create or drop a database link to the same database name. This is an expected behavior.

Solution:
Rename the global_name of the database before you can drop the database link.

SYS@ZERO SQL>select * from global_name;

GLOBAL_NAME
--------------------------------------------------------------------------------
ZERO.VAIDIYAN.COM


SYS@ZERO SQL>


SYS@ZERO SQL>drop  public database link ZERO;
drop  public database link ZERO
                           *
ERROR at line 1:
ORA-02082: a loopback database link must have a connection qualifie
r


SYS@ZERO SQL>alter database rename global_name to TEST;

Database altered.

SYS@ZERO SQL>drop  public database link ZERO;

Database link dropped.


SYS@ZERO SQL>alter database rename global_name to ZERO;

Database altered.

SYS@ZERO SQL>select * from global_name;

GLOBAL_NAME
--------------------------------------------------------------------------------
ZERO.VAIDIYAN.COM


SYS@ZERO SQL>

Reference:
ORA-02082 TRYING TO DROP A PUBLIC DBLINK (Doc ID 1070826.6)

Oracle 11g RDBMS - Renaming the Oracle Database (SID) without changing the DB ID using DBNEWID utility

DBNEWID is a Oracle Database utility to perform the following:
(i) Only the DBID of a database
(ii) Only the DBNAME of a database
(iii) Both the DBNAME and DBID of a database

What is a DBID?
The DBID is an internal, unique identifier for a database  that Oracle generates when a database is created. RMAN uses the DBID to identify databases.

When the DBID of a database is changed, all previous backups and archived logs of the database become unusable. This is similar to creating a database except that the data is already in the datafiles. You must open the database using RESETLOGS. If you only change DB_NAME then old backups are still USABLE and you NO NEED to open the database with RESETLOGS options.

I happen to perform  the option (ii)  for one of the databases -  renaming DBNAME.

Goal: Rename database from MISCTST to MISCDEV.

$ sqlplus / as sysdba
SQL> select dbid,open_mode from v$database;

      DBID OPEN_MODE
---------- --------------------
2725577770 READ WRITE

SQL> SELECT DECODE(value, NULL, 'PFILE', 'SPFILE') "Init File Type" FROM sys.v_$parameter WHERE name = 'spfile';

Init F
------
PFILE

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>
SQL>startup mount;
ORACLE instance started.

Total System Global Area  217157632 bytes
Fixed Size                  2168376 bytes
Variable Size             159386056 bytes
Database Buffers           50331648 bytes
Redo Buffers                5271552 bytes
Database mounted.
SQL>exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
$
$ nid TARGET=/ as sysdba DBNAME=MISCDEV SETNAME=YES

DBNEWID: Release 11.2.0.1.0 - Production on Tue Oct 7 15:34:36 2014

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

Password:
Connected to database MISCTST (DBID=2725577770)

Connected to server version 11.2.0

Control Files in database:
    /m03/oradata/control01.ctl
    /m04/oradata/control02.ctl
    /m05/oradata/control03.ctl

Change database name of database MISCTST to MISCDEV? (Y/[N]) => Y

Proceeding with operation
Changing database name from MISCTST to MISCDEV
    Control File /m03/oradata/control01.ctl - modified
    Control File /m04/oradata/control02.ctl - modified
    Control File /m05/oradata/control03.ctl - modified
    Datafile /m05/oradata/system01.db - wrote new name
    Datafile /m05/oradata/undotbs01.db - wrote new name
    Datafile /m05/oradata/sysaux01.db - wrote new name
    Datafile /m05/oradata/users01.db - wrote new name
    Datafile /m05/oradata/appdata01.db - wrote new name
    Datafile /m05/oradata/POMSDATA.db - wrote new name
    Datafile /m05/oradata/temp01.db - wrote new name
    Control File /m03/oradata/control01.ctl - wrote new name
    Control File /m04/oradata/control02.ctl - wrote new name
    Control File /m05/oradata/control03.ctl - wrote new name
    Instance shut down

Database name changed to MISCDEV.
Modify parameter file and generate a new password file before restarting.
Succesfully changed database name.
DBNEWID - Completed succesfully.

$

Now  change the init parameter DB_NAME from MISCTST to MISCDEV

cp -p initMISCTST.ora initMISCDEV.ora
db_name='MISCDEV'

Recreate the oracle password file :

orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password='abc!xyz' entries=10 force=y

Change the SID in $ORACLE_HOME/network/admin/tnsnames.ora and $ORACLE_HOME/network/admin/listener.ora
$ lsnrctl start

$ export ORACLE_SID=MISCDEV
$ sqlplus / as sysdba
SQL>startup
ORACLE instance started.

Total System Global Area  263049216 bytes
Fixed Size                  2168896 bytes
Variable Size             104859584 bytes
Database Buffers          150994944 bytes
Redo Buffers                5025792 bytes
Database mounted.
Database opened.
SQL>select dbid,open_mode from v$database;

      DBID OPEN_MODE
---------- --------------------
2725577770 READ WRITE

SQL>

Oracle RDBMS : DROP DATABASE - ORA-01586: database must be mounted EXCLUSIVE and not open for this operation

Following is an example where I deleted the entire database using 'DROP DATABASE' command.

Database SID : ORANGE
Version: 11.2.0.4
OS : HP UX Itanium

The database is in OPEN mode.

SYS@ORANGE SQL>drop database;
drop database
*
ERROR at line 1:
ORA-01586: database must be mounted EXCLUSIVE and not open for this operation


Solution:

SYS@ORANGE SQL>shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SYS@ORANGE SQL>startup mount exclusive restrict;
ORACLE instance started.

Total System Global Area 2121183232 bytes
Fixed Size                  2207208 bytes
Variable Size            1275068952 bytes
Database Buffers          838860800 bytes
Redo Buffers                5046272 bytes
Database mounted.
SYS@ORANGE SQL>drop database;

Database dropped.

Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SYS@ORANGE SQL>

11g Oracle RMAN Catalog: ROUT table and ROUT_U1 index are growing. Can you purge it ?


Issue: I faced a problem with my Oracle database backup using RMAN. The RMAN catalog database was generating huge number of archive logs. I have created the new catalog schema APPLECAT like two weeks ago. Full backup of the target APPLE was taken. But unfortunately today, I happen to clean the archivelogs three times and soon it gets filled up.


ARC0: Encountered disk I/O error 19502
ARC0: Closing local archive destination LOG_ARCHIVE_DEST_1: '/rman02/arch/arch_RMANCAT_5230_1_798569661.log' (error 19502) (RMANCAT)
ARC0: I/O error 19502 archiving log 1 to '/rman02/arch/arch_RMANCAT_5230_1_798569661.log'
ARCH: Archival stopped, error occurred. Will continue retrying
ORACLE Instance RMANCAT - Archival Error
ORA-16038: log 1 sequence# 5230 cannot be archived

Other symptoms that I have been informed lately was that RMAN jobs using the recovery catalog are slow. The incremental backup that usually takes 2 hour became 6 hours. RMAN Catalog schemas were consuming lot of space. ROUT table was 800 MB and ROUT_U1 556MB.

Environment details:

Target Database
SID: APPLE
Version : Oracle RDBMS 11g (11.2.0.3)
OS: HP UX Itanium 11.31

Catalog Database
SID: RMANCAT
Version:11.2.0.3
OS: HP UX Itanium
Catalog Schema Name: APPLECAT

Media Manager: HP DataProtector 6.0

I use same catalog database but different schemas for each target database that I backup using RMAN.

Top SQLs that were executed at the time of issue were:
INSERT INTO ROUT VALUES (:B1 ,:B2 ,:B3 ,:B4 ,:B5 ,:B6 );
DELETE FROM ROUT WHERE DB_KEY = :B2 AND ROUT_SKEY <= :B1 ;
SELECT DB_ID FROM DB WHERE DB_KEY = :B1 FOR UPDATE;

Cause:
Large # of records in sys.aud$, ROUT and RSR tables.

SYS@RMANCAT SQL>select count(1) from sys.aud$;

COUNT(1)
----------
1736100

SYS@RMANCAT SQL>select count(1) from APPLECAT.ROUT ;

COUNT(1)
----------
9258449

SYS@RMANCAT SQL>select count(1) from SYS.AUD$;

  COUNT(1)

----------
   1736206

ROUT and RSR tables are used by Grid/Dbconsole/OEM to view the previous RMAN jobs output/logs.

Solution:

sqlplus APPLECAT/XXXXX
APPLECAT@RMANCAT SQL>truncate table APPLECAT.ROUT;

Table truncated.
APPLECAT@RMANCAT SQL>select count(1) from APPLECAT.ROUT;

  COUNT(1)

----------
         0
APPLECAT@RMANCAT SQL> delete from APPLECAT.RSR;

APPLECAT@RMANCAT SQL> Commit;

APPLECAT@RMANCAT SQL>execute dbms_utility.analyze_schema('APPLECAT','COMPUTE');

PL/SQL procedure successfully completed.

sqlplus / as sysdba

SYS@RMANCAT SQL>truncate table SYS.AUD$;

Table truncated.

Other Details:
Entries in ROUT table will be linked to a specific dbkey so query the catalog:
SQL>select count(*),DB_KEY from .rout group by db_key;

You can find the db_key for your target:
SQL>select * from rc_database;

By default 7 days of data is retained in ROUT.If OEM is not used to run RMAN jobs and view logs, you can reduce the above to keep just 1 days worth of logs. This is defined in $ORACLE_HOME/rdbms/admin/recover.bsq. Backup a copy of the recover.bsq file before making any changes. Look for procedure cleanupROUT:

Replace
high_stamp := date2stamp(start_time-7);
with
high_stamp := date2stamp(start_time-1);

$ rman catalog APPLECAT/XXXXXXX
RMAN>upgrade catalog;

Reference:
RMAN Catalog Response Is Slow Processing ROUT table (Doc ID 1600112.1)
Known RMAN Performance Problems (Doc ID 247611.1)

R12 - Sequence EGO.EGO_IMPORT_ROW_SEQ_S, MRP.MRP_SCHEDULE_DATES_S and MRP.MRP_RELIEF_INTERFACE_S: ORA-08004 exceeds MAXVALUE and cannot be instantiated

Environment: R12.1.2 on Linux x-86

Three of the sequences in our environment were closer to its MAX VALUE. We worked with our internal tech team and Oracle Support to perform the following steps. Before making any changes to the sequence, it is always recommended to query ALL_SEQUENCES/DBA_SEQUENCES and also backup the Sequence creation script using Toad/SQL Developer.

EGO.EGO_IMPORT_ROW_SEQ_S

SELECT * from DBA_SEQUENCES where sequence_name='EGO_IMPORT_ROW_SEQ_S';

ALTER sequence EGO.EGO_IMPORT_ROW_SEQ_S increment by -2147483646 minvalue 1;
SELECT EGO.EGO_IMPORT_ROW_SEQ_S.nextval from dual;
ALTER sequence EGO.EGO_IMPORT_ROW_SEQ_S increment by 1;
SELECT EGO.EGO_IMPORT_ROW_SEQ_S.currval from dual;

SELECT * from DBA_SEQUENCES where sequence_name='EGO_IMPORT_ROW_SEQ_S';

TRUNCATE table INV.MTL_SYSTEM_ITEMS_INTERFACE;
TRUNCATE table INV.MTL_ITEM_REVISIONS_INTERFACE;
TRUNCATE table EGO.EGO_ITM_USR_ATTR_INTRFC;
TRUNCATE table BOM.BOM_BILL_OF_MTLS_INTERFACE;
TRUNCATE table INV.MTL_INTERFACE_ERRORS;
TRUNCATE table BOM.BOM_INVENTORY_COMPS_INTERFACE;



MRP.MRP_SCHEDULE_DATES_S

SELECT * from DBA_SEQUENCES where sequence_name='MRP_SCHEDULE_DATES_S';

SELECT min(mps_transaction_id), max(mps_transaction_id), schedule_designator, organization_id
FROM mrp_schedule_dates
GROUP BY organization_id, schedule_designator
ORDER BY min(mps_transaction_id);


You may want to take a look at the minimum transaction id's and see if you're going to run into the ORA-00001 down the road because we are going to be setting the sequence back to 1. Purge any old MPS/MDS schedules that are no longer used. This will help clean up the table mrp_schedule_dates and get rid of old transaction_id's.

Please backup the Sequence creation script using TOAD or SQL Developer.

DROP sequence MRP.MRP_SCHEDULE_DATES_S;
CREATE SEQUENCE MRP.MRP_SCHEDULE_DATES_S MINVALUE 1 MAXVALUE 2147483647 INCREMENT BY 1 START WITH 1 CACHE 1000 NOORDER NOCYCLE;

commit;
SELECT * from DBA_SEQUENCES where sequence_name='MRP_SCHEDULE_DATES_S';

MRP.MRP_RELIEF_INTERFACE_S

SELECT * from DBA_SEQUENCES where sequence_name='MRP_RELIEF_INTERFACE_S';

Please backup the Sequence creation script using TOAD or SQL Developer.

DROP sequence MRP.MRP_RELIEF_INTERFACE_S;
CREATE SEQUENCE MRP.MRP_RELIEF_INTERFACE_S MINVALUE 1 MAXVALUE 2147483647 INCREMENT BY 1 START WITH 1 CACHE 1000 NOORDER NOCYCLE;
commit;
TRUNCATE table MRP.MRP_RELIEF_INTERFACE;
commit;

SELECT * from DBA_SEQUENCES where sequence_name='MRP_RELIEF_INTERFACE_S';

Reference:
MRCSAL1 Load/Copy/Merge MDS Errors ORA-08004: Sequence Mrp_schedule_dates_s.Nextval Exceeds Maxvalue Also Discussion To Avoid ORA-00001 (Doc ID 1401177.1)

DGMGRL: LogXptStatus - ORA-16810, ORA-16737 and ORA-12514: TNS:listener does not currently know of service requested in connect descriptor

I have set up Data Guard on Oracle 10.2.0.3, the logs stopped applying out of the blue and DGMGRL configuration started throwing error:

Error:
DGMGRL> show configuration;

Configuration
Name: APL_primary
Enabled: YES
Protection Mode: MaxPerformance
Fast-Start Failover: DISABLED
Databases:
APL - Primary database
APLSTY - Physical standby database

Current status for "APL_primary":
Warning: ORA-16607: one or more databases have failed


DGMGRL> SHOW DATABASE 'APL' 'StatusReport';
STATUS REPORT
INSTANCE_NAME SEVERITY ERROR_TEXT
APL ERROR ORA-16737: the redo transport service for standby database "APLSTY" has an error
APL WARNING ORA-16715: redo transport-related property LogXptMode of standby database "APLSTY" is inconsistent

DGMGRL> SHOW DATABASE 'APL' 'LogXptStatus';
LOG TRANSPORT STATUS
PRIMARY_INSTANCE_NAME STANDBY_DATABASE_NAME STATUS
APL APLSTY ORA-12514: TNS:listener does not currently know of service requested in connect descriptor 


Environment:
Oracle Database 10.2.0.3
Primary Database Unique Name: APL
Standby Database Unique Name: APLSTY
Database SID: APL
OS: HP UX Itanium 11.31

Solution:
Make sure the Primary logs are applied to the Standby before enabling the DGMGRL CLI.

Some solutions to try is bounce both Primary and Standby Database completely. Make sure the logs are available physically for the standby to apply. Check if you can connect via SQLPLUS and perform TNSPING to both APL-> APLSTY and vice versa.

Once the standby database is mounted,  Give the below command and it will apply all the logs.
ALTER DATABASE RECOVER AUTOMATIC STANDBY DATABASE; 

Once all the logs are applied and the standby require the current logfile

SYS@APL SQL>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
alter database recover managed standby database cancel
*
ERROR at line 1:
ORA-16136: Managed Standby Recovery not active

SYS@APL SQL>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;

Database altered.

SYS@APL SQL>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

Database altered.

SYS@APL SQL>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;

Database altered


To check the last log applied on standby:
SELECT THREAD#,MAX(SEQUENCE#) FROM V$ARCHIVED_LOG WHERE APPLIED ='YES' GROUP BY THREAD#;

Now you need to make sure the service names are registered within the database.

Standby Database:
SYS@APL SQL>show parameter service

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
service_names                        string      APLSTY
SYS@APL SQL>show parameter db_unique

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_unique_name                       string      APLSTY
SYS@APL SQL>alter system set service_names=APLSTY,APLSTY_XPT scope=both;

System altered.

SYS@APL SQL>show parameter service

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
service_names                        string      APLSTY, APLSTY_XPT
SYS@APL SQL>


Primary Database:
SYS@APL SQL>show parameter service

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
service_names                        string      APL
SYS@APL SQL>show parameter db_unique

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_unique_name                       string      APL
SYS@APL SQL>alter system set service_names=APL,APL_XPT scope=both;

System altered.

SYS@APL SQL>show parameter service

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
service_names                        string      APL, APL_XPT
SYS@APL SQL>


Once service_names are updated correctly, please restart/reload the listeners on both primary and standby. Test TNSPING, SQLPLUS and make sure logs are getting shipped.

Follow the 'Step By Step How to Recreate Dataguard Broker Configuration ( Doc ID 808783.1 )', to remove and create new DGMGRL configuration.

I made the following changes to the CREATE CONFIGURATION statement - instead of the tnsnames entry, I used the tns details with the configuration.

DGMGRL> CREATE CONFIGURATION 'APLCONF' AS PRIMARY DATABASE IS 'APL' CONNECT IDENTIFIER IS "(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=apldb.vaidiyan.com)(PORT=1532)))(CONNECT_DATA=(SID=APL)))";
Configuration "APLCONF" created with primary database "APL"
DGMGRL> ADD DATABASE 'APLSTY' AS CONNECT IDENTIFIER IS "(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=aplstbdb.vaidiyan.com)(PORT=1532)))(CONNECT_DATA=(SID=APL)))" MAINTAINED AS PHYSICAL;
Database "APLSTY" added
DGMGRL>

DGMGRL> show configuration;

Configuration
  Name:                APLCONF
  Enabled:             NO
  Protection Mode:     MaxPerformance
  Fast-Start Failover: DISABLED
  Databases:
    APL    - Primary database
    APLSTY - Physical standby database

Current status for "APLCONF":
DISABLED

DGMGRL> enable configuration;


Reference:
Script to Collect Data Guard Primary Site Diagnostic Information for Version 10g and above (Including RAC). ( Doc ID 1577401.1 )
Script to Collect Data Guard Physical and Active Standby Diagnostic Information for Version 10g and above (Including RAC) ( Doc ID 1577406.1 )
Step By Step How to Recreate Dataguard Broker Configuration ( Doc ID 808783.1 )

Oracle Discoverer - dis51adm.exe or dis51usr.exe ERROR: The program can't start because MSVCR71.dll is missing from your computer. Try reinstalling the program to fix this problem.

I received the following error while installing Oracle Discoverer Administrator/Desktop on Windows 2012 or Windows 8 Server 64 bit.

Discoverer Desktop and Administrator are 32 bit application.

Error: 
dis51adm.exe - System Error

The program can't start because MSVCR71.dll is missing from your
computer. Try reinstalling the program to fix this problem.


Solution:
The SVCR71.dll is a Microsoft Visual C Runtime library.You can contact Microsoft Support in order to install this library file.

OR

1. Download MSVCR71.dll from dll-files.com. (It is free.)
2. Unzip this file.
3. Place MSVCR71.dll into C:\Windows\System32 directory, if you are using a 32-bit Windows or into C:\Windows\SysWOW64 if you using a 64-bit Windows machine. Now, try to open Discoverer Administrator or Desktop 11g(11.1.1).

Reference:
How To Find Oracle BI Discoverer 10g and 11g Certification Information (NOTE:233047.1)
Attempting To Run Discoverer Administrator Or Desktop 11g(11.1.1) On Windows 7 Get Error - "The program can't start because MSVCR71.dll is missing from your computer" (Doc ID 1255244.1)

R12.2.x - Cloning E-Business Suite with Snapshot and Rapid Clone

In this note, I am going to talk to about the Clone/Refresh of Oracle Applications R12.2.3. This process is applicable to any R12.2.x release. Cloning is the process of creating a copy of an existing Oracle  E-Business Suite (EBS) system. Refresh is another word used interchangeably with Clone.

Environment:
Application - Linux x86-64 Oracle Linux 6
This node has the web/weblogic/managed services/forms/concurrent managers. OS user is 'applwms'.
Source Application Node :BLUE1
Target Application Node :PINK1

Database - HP-UX Itanium 11.31
This node have only the database. Both OS user are 'orawms'
Source DB Node: VAIDIYAN1
Source SID: APPLE
Target DB Node: VAIDIYAN2
Target SID: BERRY

Assumption:
  1. Both source and target will have the same two node architecture.
  2. Database Source backup is taken with Snapshot/Technology. You can also use RMAN, Snap View, Mirror View or other method for DB backup. 
Terminology:
Standard Cloning: Creating a copy of an Oracle EBS system using RapidClone
File System Cloning: Copying the run file system to the patch file system in online patching using adop phase=fs_clone.

Key Pre-requistes:

  1. Disk Space on the Source system and Target
  2. Source and Target must be on the same Operating System (OS) and patch level
  3. Apply the latest AD/TXK patches to the Source system

Overall Cloning/Refresh Process:
  1. Prepare the Source for Database and Application tier.
  2. Copy the Database tier from Source to Target.
  3. Copy the Application Run edition File system from Source to Target Run edition file system.
  4. Configure the Target Database 
  5. Configure the Target Application Run edition file system.
  6. Prepare Target Run edition file system to build Target Patch edition file system.
  7. Configure the Target Patch edition file system.
  8. Post clone tasks.

1.1 Prepare the Source Database tier:

Log on to the Source Database System as orawms
$ cd <RDBMS ORACLE_HOME>/appsutil/scripts/<CONTEXT_NAME> 
$ perl adpreclone.pl dbTier

orawms/APPLE@VAIDYAN01>cd $ORACLE_HOME/appsutil/scripts/APPLE_VAIDIYAN1
orawms/APPLE@VAIDYAN01> perl adpreclone.pl dbTier

Enter the APPS User Password:

The process takes about 10 minutes

1.2 Prepare the Source Application tier:

Logon to the RUN edition file system of the Source as applwms
$ cd <INST_TOP>/admin/scripts
$ perl adpreclone.pl appsTier


[applwms@BLUE1 scripts]$echo $FILE_EDITION
run
[applwms@BLUE1 scripts]$ perl adpreclone.pl appsTier

Enter the APPS User Password:
Enter the Weblogic AdminServer password :

This process takes 40 minutes. From release R12.2, the adpreclone.pl process creates a complete and compressed archive of Oracle Fusion Middleware and its components (Weblogic Server, Web Tier Utilties, Common Utilities and EBS Home. The files are created in /clone.

2 Copy the files from Source to Target Database tier.

This can be a storage copy, RMAN restore, Flash Copy, Snapshot.

3 Copy the Application Run edition File system from Source to Target Run edition file system.

This can be performed by a rcp -pr, scp -pr.  Please note that you only need to copy RUN file system.

4.1 Configure the Target Database

Login to VAIDIYAN2 as orawms and configure the database home
$ cd <RDBMS ORACLE_HOME>/appsutil/clone/bin
$ perl adcfgclone.pl dbTechStack 

orawms/BERRY@VAIDIYAN2> cd $ORACLE_HOME/appsutil/clone/bin
orawms/BERRY@VAIDIYAN2> perl adcfgclone.pl dbTechStack

Enter the APPS password :

Provide the values required for creation of the new Database Context file.


Target System Hostname (virtual or normal) [VAIDIYAN2] : VAIDIYAN2

Target Instance is RAC (y/n) [n] : n

Target System Database SID : BERRY

Target System Base Directory : /wms01/app/oracle/wmsoradb

Target System utl_file_dir Directory List : /tmp,/wms01/app/oracle/wmsoradb/11.2.0/appsutil/outbound/BERRY_VAIDIYAN2

Number of DATA_TOP's on the Target System [1] :

Target System DATA_TOP Directory 1 [/wms05/wmsdata] :

Target System RDBMS ORACLE_HOME Directory [/wms01/app/oracle/wmsoradb/11.2.0] :

Do you want to preserve the Display [null] (y/n)  : y

Do you want the target system to have the same port values as the source system (y/n) [y] ? : n

Target System Port Pool [0-99] : 19

Checking the port pool 19
done: Port Pool 19 is free
Report file located at /wms01/app/oracle/wmsoradb/11.2.0/appsutil/temp/portpool.lst

This will be followed by rdbms home Apply and starting the listener. The entire process takes 15-20 minutes.

4.2 Create DB Controlfile and Recover the Database

Use the backup controlfile from the Source to build Target Controlfile. Recover the database that you copied through snapshot. Open the Target database.

4.3 Start the Library Update Script against the database

$ cd <RDBMS ORACLE_HOME>/appsutil/install/<CONTEXT NAME>
$ sqlplus "/ as sysdba" @adupdlib.sql  <libext>
 
Where <libext> should be set to sl for HP-UX, so for any other UNIX platform, so for Linux, or dll for Windows. You can check the extension with this query : select owner,library_name,file_spec from dba_libraries where file_spec is not null;

orawms/BERRY@VAIDIYAN2> cd $ORACLE_HOME/appsutil/install/BERRY_VAIDIYAN2
orawms/BERRY@VAIDIYAN2> sqlplus / as sysdba @adupdlib.sql sl

4.4 Configure the Target database

$ cd <RDBMS ORACLE_HOME>/appsutil/clone/bin
$ perl adcfgclone.pl dbconfig <database target Context File>


Where "Database Target Context File" is: <RDBMS ORACLE_HOME>/appsutil/<target CONTEXT_NAME>.xml

orawms/BERRY@VAIDIYAN2> cd $ORACLE_HOME/appsutil/clone/bin
orawms/BERRY@VAIDIYAN2> perl adcfgclone.pl dbconfig /wms01/app/oracle/wmsoradb/11.2.0/appsutil/BERRY_VAIDIYAN2.xml

Enter the APPS password :

This step will take 5-10 minutes.


5 Configure the Target Application tier

Before we start configuring the Target Application tier, Please make sure that the following folders are only in system base. "FMW_Home" should be removed.

[applwms@PINK1 bin]$ cd /wms/app/oracle/fs1/
[applwms@PINK1fs1]$ ls
EBSapps inst

[applwms@PINK1 fs1]$ cd /wms/app/oracle/fs1/inst/apps
[applwms@PINK1 apps]$ ls
[applwms@PINK1 apps]$

Log on to the RUN edition file system in the Target as applwms
$ cd <COMMON_TOP>/clone/bin
$ perl adcfgclone.pl appsTier


[applwms@PINK1~]$ cd $COMMON_TOP/clone/bin
[applwms@PINK1 bin]$ perl adcfgclone.pl appsTier

Enter the APPS password :

Enter the Weblogic AdminServer password :

Do you want to add a node (yes/no) [no] :

Target System File Edition type [run] :

Provide the values required for creation of the new APPL_TOP Context file.

Target System Hostname (virtual or normal) [PINK1] : PINK1

Target System Database SID : BERRY

Target System Database Server Node [PINK1] : VAIDIYAN2

Target System Database Domain Name [XYZ.com] :

Target System Base Directory : /wms/app/oracle

Target System Base Directory set to /wms/app/oracle

Target System Current File System Base set to /wms/app/oracle/fs1

Target System Other File System Base set to /wms/app/oracle/fs2

Target System Fusion Middleware Home set to /wms/app/oracle/fs1/FMW_Home

Target System Web Oracle Home set to /wms/app/oracle/fs1/FMW_Home/webtier

Target System Appl TOP set to /wms/app/oracle/fs1/EBSapps/appl

Target System COMMON TOP set to /wms/app/oracle/fs1/EBSapps/comn

Target System Instance Home Directory [/wms/app/oracle] :

Target System Instance Top set to /wms/app/oracle/fs1/inst/apps/BERRY_PINK1

Do you want to preserve the Display [BLUE1:0.0] (y/n)  : n

Target System Display [PINK1:0.0] :

Target System Root Service [enabled] :

Target System Web Administration [enabled] :

Target System Web Entry Point Services [enabled] :

Target System Web Application Services [enabled] :

Target System Batch Processing Services [enabled] :

Target System Other Services [enabled] :

Do you want the target system to have the same port values as the source system (y/n) [y] ? : n

Target System Port Pool [0-99] : 19

Checking the port pool 19
done: Port Pool 19 is free


UTL_FILE_DIR on database tier consists of the following directories.

1. /usr/tmp
2. /tmp
3. /wms01/app/oracle/wmsoradb/11.2.0/appsutil/outbound/BERRY_VAIDIYAN2
4. /wms01/app/oracle/wmsoradb/11.2.0/appsutil/outbound/BERRY_VAIDIYAN2
5. /usr/tmp
Choose a value which will be set as APPLPTMP value on the target node [1] :


Do you want to startup the Application Services for WMSDEV3? (y/n) [n] : y

This process would take up to 45 minutes.


6.1 Prepare the Target RUN edition file system to build Target PATCH edition file system

Run adpreclone.pl on the run edition file system in the Target System on a new Putty session.

[applwms@PINK1 ~]$ . /wms/app/oracle/EBSapps.env

  E-Business Suite Environment Information
  ----------------------------------------
  File System Type          : SINGLE
  RUN File System           : /wms/app/oracle/fs1/EBSapps/appl
  PATCH File System         : NOT APPLICABLE
  Non-Editioned File System : /wms/app/oracle/fs_ne


  DB Host: VAIDIYAN2.XYZ.com  Service/SID: BERRY


  Sourcing the RUN File System ...

[applwms@PINK1 ~]$

[applwms@PINK1 oracle]$ echo $FILE_EDITION
run
[applwms@PINK1 oracle]$


Remove/Move the current clone folder in the Target RUN edition file system
[applwms@PINK1 oracle]$ cd /wms/app/oracle/fs1/EBSapps/comn
[applwms@PINK1 comn]$ mv clone clone_APPLE
[applwms@PINK1 comn]$ cd $ADMIN_SCRIPTS_HOME
[applwms@PINK1 scripts]$ perl adpreclone.pl appsTier

Enter the APPS User Password:
Enter the Weblogic AdminServer password :


This step runs for 20-25 minutes.

6.2 Copy the Target RUN edition file system (EBSapps) to PATCH edition file system


[applwms@PINK1 ~]$ cd /wms/app/oracle/
[applwms@PINK1 oracle]$ mkdir fs2

[applwms@PINK1 oracle]$ cd  /wms/app/oracle/fs1
[applwms@PINK1 fs1]$ pwd
/wms/app/oracle/fs1

[applwms@PINK1 fs1]$ cp -rp EBSapps ../fs2/
[applwms@PINK1 fs1]$ cd ../fs2/

[applwms@PINK1 fs2]$ pwd
/wms/app/oracle/fs2

[applwms@PINK1 fs2]$ ls
EBSapps
[applwms@PINK1 fs2]$


7 Configure the Target Patch edition file system

Log on to the PATCH edition file system in the Target System as the applwms user
$ cd <COMMON_TOP>/clone/bin
$ perl adcfgclone.pl appsTier

The patch edition file system must be aware of the location of the run edition file system that will be configured in the next step. At the prompt "Location of Run System Context File", enter the absolute path to the context file for the run edition file system that was created in the previous step.



[applwms@PINK1 ~]$. /wms/app/oracle/EBSapps.env

  E-Business Suite Environment Information
  ----------------------------------------
  RUN File System           : /wms/app/oracle/fs1/EBSapps/appl
  PATCH File System         : /wms/app/oracle/fs2/EBSapps/appl
  Non-Editioned File System : /wms/app/oracle/fs_ne


  DB Host: VAIDIYAN2.XYZ.com  Service/SID: BERRY


  E-Business Suite Environment Setting
  ------------------------------------
  - Enter [R/r] for sourcing Run File System Environment file, or
  - Enter [P/p] for sourcing Patch File System Environment file, or
  - Enter anything else to exit

  Please choose the environment file you wish to source [R/P]:P

  Sourcing the PATCH File System ...

[applwms@PINK1 ~]$ cd /wms/app/oracle/fs2/EBSapps/comn/clone/bin


[applwms@PINK1 bin]$ perl adcfgclone.pl appsTier

Enter the APPS password :

Enter the Weblogic AdminServer password :

Do you want to add a node (yes/no) [no] :

Target System File Edition type [run] : patch

Enter the full path of Run File System Context file : /wms/app/oracle/fs1/inst/apps/BERRY_PINK1/appl/admin/BERRY_PINK1.xml

Provide the values required for creation of the new APPL_TOP Context file.

Target System Fusion Middleware Home set to /wms/app/oracle/fs2/FMW_Home

Target System Web Oracle Home set to /wms/app/oracle/fs2/FMW_Home/webtier

Target System Appl TOP set to /wms/app/oracle/fs2/EBSapps/appl

Target System COMMON TOP set to /wms/app/oracle/fs2/EBSapps/comn

Target System Instance Top set to /wms/app/oracle/fs2/inst/apps/BERRY_PINK1

Target System Port Pool [0-99] : 20

Checking the port pool 20
done: Port Pool 20 is free


UTL_FILE_DIR on database tier consists of the following directories.

1. /usr/tmp
2. /tmp
3. /wms01/app/oracle/wmsoradb/11.2.0/appsutil/outbound/BERRY_VAIDIYAN2
4. /wms01/app/oracle/wmsoradb/11.2.0/appsutil/outbound/BERRY_VAIDIYAN2
5. /usr/tmp
Choose a value which will be set as APPLPTMP value on the target node [1] :

..
..
..
Looking for incomplete CLONE record in ad_adop_session_patches table

The CLONE record status is no rows selected

Updating incomplete CLONE record to COMPLETED


This step would take close to 45 minutes.


8. Post clone tasks.

- Update profile options.
- Update printer settings.
- Update Workflow configuration settings.
- Verify the APPLCSF variable setting.
- Update the SESSION_COOKIE_DOMAIN value in ICX_PARAMETERS.
- Re-Implement SSL and SSO configuration.

You have completed the clone of R12.2.3 One Application and One Database Node environment.

Reference:
Applying the Latest AD and TXK Release Update Packs to Oracle E-Business Suite Release 12.2.(Document 1617461.1)
Oracle E-Business Suite Release 12.2: Suite-Wide Rollup and AD/TXK Delta Information(Document 1583092.1)
Cloning Oracle E-Business Suite Release 12.2 with Rapid Clone (Doc ID 1383621.1)

Oracle Discoverer - ERROR: The shiphome you are trying to install is not the proper shiphome for the current platform. The shiphome is for Microsoft Windows (32-bit) platform.

Oracle Discoverer is a dying Business Intelligence tool. Recently I ran into the following error when I was installing Oracle BI Discoverer Desktop and Discoverer Administrator 11.1.1.3.0 software to my PC. My PC runs Windows 7 on 64 bit.

Discoverer Desktop Edition and Administrator Edition are 32 bit applications.

Error:
ERROR: The shiphome you are trying to install is not the proper shiphome for the current platform.
The shiphome is for Microsoft Windows (32-bit) platform.
Try downloading the appropriate shiphome for current platform or contact Oracle Support.

Solution:
Below is a workaround to install and run this application on a Windows 64-bit workstation. Please do note that this doesn't make Discoverer certified on 64 bit platforms.
a) Launch the installer using setup.exe from directory -> \Disk1\install\win32\setup.exe instead of \Disk1\setup.exe
b) After install, right-click the Oracle Discoverer Administrator and Desktop executables (\ora_home\bin\dis51adm.exe and \ora_home\bin\dis51usr.exe) and select Properties -> Compatibility, enable "Run this program in compatibility mode" property and set it's value to "Windows XP (Service Pack 3).

Reference:
How To Install Discoverer Desktop Edition And Administrator Edition 11.1.1.3.0 On Windows 64-bit (Doc ID 1571940.1)
ALERT: Required and Recommended Patch Levels For All Discoverer Versions (Doc ID 237607.1)
How To Find Oracle BI Discoverer 10g and 11g Certification Information (Doc ID 233047.1)

Oracle Applications R12.2.3 / EBS R12.2.x - Fresh New Installation on Split-tier (or mixed OS or Multi-node) Configuration

I got an opportunity to perform a fresh new install of Oracle's latest E-Business Suite (also called Oracle Apps or Oracle Applications or Oracle EBS) version R 12.2.3.  Oracle documentation mainly depicts the procedure to install both application and database on the same server be it Linux, Unix or Windows. In this note, I am sharing the overall steps, documents that I followed for the installation on a two node (also termed as Split-Tier or Multi-Node) configuration with different operating system (OS) configuration.

Configuration:
Database is on HP-UX Itanium 11.31
Application services on Linux x86-64 bit (Oracle Linux 6)


Split-Tier (Mixed-OS, Multi-Node) EBS Installation steps in a nutshell:
  • Create stage directory on your database server (HP Unix).
  • Run Rapid Install on the database tier node (HP-UX) and Chose "Create a new configuration" option during the Rapid Install.
  • Create stage directory on your application server (Linux x86-64).
  • Copy "conf_.txt" from the database tier node to apps tier node.
  • Run Rapid Install on the apps tier node. Choose "Load the following saved configuration" and browse to the config file.
  • Make sure the installer runs with no errors on each tier node

Pre-requisites:
  1. Download the entire Oracle EBS R12.2 software for both HP UX Itanium and Linux x86-64 from  edelivery.oracle.com.
  2. By default, the software comes with RapidWiz (or Rapid Wizard) 12.2.0.46. You need to download the startCD 47. This is mandatory for mixed-OS or Split-tier.
  3. Do not use NFS mount to stage the software on the database server. Please use local filesystem.

How to check the version of Rapid Wizard (rapidwiz):
You must unzip the 3 parts of Oracle E-Business Suite Release 12.2.0 Rapid Install StartHere. After extracting the Start CD to a mount point say /mnt_01/EBSHPUX/HPStageR1220

cd /mnt_01/EBSHPUX/HPStageR1220
unzip V35215-01_1of3.zip
unzip V35215-01_2of3.zip
unzip V35215-01_3of3.zip


Open a VNC session or set up the Display, change directory to /mnt_01/EBSHPUX/HPStageR1220/startCD/Disk1/rapidwiz.

 cd /mnt_01/EBSHPUX/HPStageR1220/startCD/Disk1/rapidwiz
./RapidWizVersion

How to update the Oracle E-Business Suite Rapid Install Wizard to Version 12.2.0.47:

New Rapid Install Patch - p17873425_R12_GENERIC.zip (Version - 12.2.0.47_5)

Copy the patch p17873425_R12_GENERIC.zip to the extracted location of the Start CD, say /mnt_01/EBSHPUX/HPStageR1220

unzip -o p17873425_R12_GENERIC.zip.

Make sure to use '-o' option else it will ask for permission to overwrite.  Now once again validate the version of the RapidWiz.

To learn about the required software zip files to be downloaded to build the R12.2.0 Stage Area:
  1.  Useful 12.2 Documents For Customers And ATG Support Engineers (Doc ID 1585889.1)
  2. Important Notice: Issues with Downloading Oracle E-Business Suite Release 12.2 Media Packs (Doc ID 1588372.1)
  3. R12.2: How To Create the Stage In Preparation For Installation (Doc ID 1596433.1)
  4. Oracle E-Business Suite Release Notes, Release 12.2 (Doc ID 1320300.1)

 How to build Stage Area for Rapid Install:

Once you download the software from Oracle E-Delivery site, you must follow Oracle E-Business Suite Installation Guide: Using Rapid Install Release 12.2 (12.2.0) - Part No. E22950-14 for your reference to extract and build the Stage Area [Page 29-33 in the pdf]

Copy all the downloaded zip files to the Stage Location - /mnt_01/EBSHPUX/HPStageR1220.

Note: Make sure that you have copied only the required Oracle EBS software zip files as per the metalink notes and have unzipped only the Start CDs(3 parts) and no other files.

cd /mnt_01/EBSHPUX/HPStageR1220/startCD/Disk1/rapidwiz/bin
sh buildStage.sh

Select  Option 1 - Create new stage area from the Main Menu, followed by the Operating System (OS). Since I am building stage area for HP-UX, I selected Option 4 - HP-UX Itanium. Repeat the process for Linux x86-64 version of the Oracle EBS R12.2.0

The process will ask for the directory location as below:

Specify the directory containing the zipped installation media:
/mnt_01/EBSHPUX/HPStageR1220


R12.2.0 Rapid Install Wizard on the Database Server (HP-UX Itanium) :

Once the Stage Area is build without any errors, Open a VNC or set the DISPLAY to start the Rapid Install Wizard.

cd /mnt_01/EBSHPUX/HPStageR1220/startCD/Disk1/rapidwiz
./rapidwiz

Following are the screen-by-screen details of the Rapid Install:

Screen 1: Oracle E-Business Suite Release 12.2.0 Rapid Install Wizard 
Click Next.

Screen 2: Wizard Operation
Select  Install Oracle E-Business Suite Release 12.2.0. I didn't select 'Use Express Install'. Click Next.

Screen 3: Provide your email address to be informed of security issues
Uncheck 'I wish to receive security updates via My Oracle Support'. Click Next.

Screen 4: Configuration Choice
Select 'Create a new configuration'. Click Next.

Screen 5: Global System Settings
This is for the port pool mechanism. Default value for File System 1 and 2 are 0 and 1 respectively. I selected 11 and 12. Click Next.

Screen 6: Database Node Configuration
By Default, Database Type is 'Vision Demo Database' and Database SID is 'VIS'. I changed it to 'Fresh Database' as I wanted a fresh/blank PROD database without any sample data. 

I used the host name for the Database Server instead of any alias names. There was a bug that when I entered the alias name, the install resulted in error. For example, if my server host name is abc01.vaidiyan.com and there is also an alias/package named ebsdb.vaidiyan.com. Even though both refer to the same server, I entered abc01.vaidiyan.com in the Rapid Install screen.

Updated the SID, Database Base Sir, Database Home Dir, Datafiles Dir. I verified the Database Operating System, Storage Type (File System), DB OS User and Group as well. Click Next.

Screen 7: Select Licensing Type
Check the 'Suite Licensing'. Click Next

Screen 8:  Licensing Additional Products
Do select any component for your business. Click Next.

Screen 9: Country-Specific Functionalities
I want only US, so I clicked Next.

Screen 10: Internationalization Settings
American_English - US and Database Character Set, APPL_TOP Character set as US7ASCII are selected by default. I changed the Database Character Set to WE8ISO8859P1. Click Next.

Screen 11: Primary Applications Node Configuration
By default, it shows the same server as Database. I updated the information with Application host name (which is Linux x86-64), Operating System, Apps OS User, Apps OS Group, Apps Base Dir, Apps Instance Dir.

I have entered the host name for the application server also and not any alias names. Click Next.


Screen 12: Application User Information
Uncheck 'Change Default Passwords'. Click Next.

Screen 13: Node Information
Verify the information of the DB and Application Server. If you  have more than one application server, you could add the information now. Click Next.

Screen 14: Rapid Install perform System Checks

Screen 15: Validate System Configuration
Make sure every check is successful. Click Next.

Screen 16: Summary of the Installation
Oracle Database Technology Stack information will be displayed. Click Next.

Screen 17: Confirmation Pop-up
The Rapid Install Wizard is ready to install Oracle E-Business Suite on this machine. Do you want to begin the installation now? Click Yes.

Screen 18: Installing Oracle E-Business Suite

Screen 19: Validate Completed Installation
Make sure that the install passed all of the post-install tests. Click Next.

Screen 20: Wizard Installation Summary
Oracle Database Technology Stack information are displayed. Click Finish.

The Configuration file is written to: $RDBMS_ORACLE_HOME/appsutil/conf_.txt.


R12.2.0 Rapid Install Wizard on the Application Server (Linux x86-64) :

Before starting the Rapid Install Wizard for Application node,
  • Make sure you have downloaded the Oracle EBS software for Linux x86-64.
  • Confirm the Rapid Install Wizard version is 12.2.0.47.
  • Stage Area have been built by following the similar step as for HP-UX Itanium.
  • Copy the configuration file conf_.txt created by the Rapid Install Wizard during the Database Technology Stack installation to the application server. I copied the configuration file to application server - Apps Base Dir.
Open the VNC viewer or set the DISPLAY to run the Oracle EBS Rapid Install Wizard for the application host.

cd /mnt_02/EBSLx/LStageR1220/startCD/Disk1/rapidwiz
./rapidwiz


Following are the screen-by-screen walk through of the Install Oracle E-Business Suite:

Screen 1:  Welcome
Oracle E-Business Suite Release 12.2.0 Rapid Install Wizard
Click Next.

Screen 2: Wizard Operation
Check 'Install Oracle E-Business Suite Release 12.2.0. I did not select 'Use Express Install'. Click Next.

Screen 3: Oracle Configuration Manager Details
Uncheck ' I wish to receive security updates via My Oracle Support. Click Next.

Screen 4: Configuration Choice
By default 'Create a new configuration' is selected. But in our case, I have to select 'Load the following saved configuration'. Click Browse and map the conf_.txt that we copied earlier from the database to the application server.

Enter the password for Weblogic Server, Apps OS User, Apps DB User. I passed 'weblogic' and 'apps' as the password for Weblogic Server Password and Apps DB User Password respectively. Click Next.

This returned the error : RW-00000 - Weblogic Password must be 8 character minimum with one numeric or special character. Please re-enter the password. Click OK.

I re-entered Weblogic Server Password as 'weblogic1'. Click Next.

Screen 5: System Check Status

Screen 6:  Pre-Install Checks
Make sure every check is successful. Click Next.

Screen 7: Component Installation Review
Summary of Oracle EBS Technology Stack is displayed. Click Next.

Screen 8: Confirmation Pop-up
The Rapid Install Wizard is ready to install Oracle E-Business Suite on this machine. Do you want to begin the installation now? Click Yes.

Screen 9: Installing Oracle E-Business Suite

Screen 10: Post-Install Checks
Make sure that the install passed all of the post-install tests. Click Next.

Screen 11: Finish
Oracle E-Business Suite Release 12.2.0 Technology Stack installation information are displayed. Click Finish.

Oracle E-Business Suite Release 12.2.0 Installation is complete. Oracle have released Oracle E-Business Suite 12.2.3 Release Update Pack. It is highly recommended by Oracle to apply the latest AD and TXK (Techstack Patch) because of the bugs and issues.

With respect to my R12.2.0 system, I followed the below Upgrade Steps/Route:
- Install R12.2.0
-- Upgrade R12.AD.C.Delta.2 and R12.TXK.C.Delta.2 and EBS Release to R12.2.2 
--- Upgrade R12.AD.C.Delta.3, R12.TXK.C.Delta.3 and EBS Release to R12.2.3 
---- Upgrade R12.AD.C.Delta.4 and R12.TXK.C.Delta.4 Release Update Packs.

You can very well upgrade your R12.2.0 system directly to Oracle EBS Release R12.2.3 with R12.AD.C.Delta.4 and R12.TXK.C.Delta.4 RUPs.  Following are the key Oracle Support documents for the upgrade from R12.2.0 to R12.2.3 with R12.AD.C.Delta.4 and R12.TXK.C.Delta.4 RUPs.
  1.   Oracle E-Business Suite Release Notes, Release 12.2 [1320300.1]
  2. Oracle E-Business Suite Release 12.2.2 Readme(Doc ID 1506669.1)
  3. Oracle E-Business Suite Release 12.2.3 Readme(Doc ID 1586214.1)
  4. Oracle E-Business Suite Release 12.2: Consolidated List of Patches and Technology Bug Fixes(Doc ID 1594274.1)
  5. Oracle E-Business Suite Release 12.2: Suite-Wide Rollup and AD/TXK Delta Information(Doc ID 1583092.1)
  6. Applying R12.AD.C.Delta.2 and R12.TXK.C.Delta.2 Release Update Packs(Doc ID 1560906.1)
  7. Applying R12.AD.C.Delta.3 and R12.TXK.C.Delta.3 Release Update Packs (Doc ID 1586217.1)
  8. Applying R12.AD.C.Delta.4 and R12.TXK.C.Delta.4 Release Update Packs (Doc ID 1617461.1)
  9. Oracle E-Business Suite Technology Stack and Applications DBA Release Notes for R12.TXK.C.Delta.4 and R12.AD.C.Delta.4 (Doc ID 1624423.1)
Reference:
Oracle My Support Documentation