Friday, 28 November 2014

Step by Step Oracle Application R12 Installation with screen shots

Step by Step instructions to install Oracle Applications R12 on Oracle Enterprise Linux  are
 described in this article. This is a single node installation, meaning that the database, all product directories and AD core directories, and all servers (concurrent processing, forms, and Web) are installed on a single node under one common APPL_TOP.

Stage (R12 Software):
Rapid Install installs the Java Development Kit (JDK) 5.0 automatically. Oracle Applications Software from Oracle eDelivery is already staged. If you have got the CDs, Stage them using 
$ perl /mnt/cdrom/Disk1/rapidwiz/adautostg.pl


System Requirement:
Memory: 2 to 4 GB memory and swap always double of RAM.
Disk Requirement: 30 GB for staging Apps R12 software
161 GB for Vision install
200 GB total.
For fresh installation:
Middle Tier 40GB Data Base Tier – Prod 60GB
We are Installing R12 on Redhat Linux.
For installing Redhat see Step by Step linux installation on VMware with Screenshots
(Please Create 2 mount Points as per above requirement one is for Application tire and one for Database tire. On my Machine I have /oradata for database tier and /apps for Application tier)

Ensure the following RPMs are installed:
(Or at the time of Redhat Linux Installation select all the Packages)
glibc-2.3.4-2.25
glibc-common-2.3.4-2.25
binutils-2.15.92.0.2-21
compat-libstdc++-296-2.96-132.7.2
gcc-3.4.6-3
gcc-c++-3.4.6-3
libgcc-3.4.6-3
libstdc++-3.4.6-3
libstdc++-devel-3.4.6-3
openmotif21-2.1.30-11.RHEL4.6**
pdksh-5.2.14-30.3
setarch-1.6-1
make-3.80-6.EL4
gnome-libs-1.4.1.2.90-44.1
sysstat-5.0.5-11.rhel4
compat-db-4.1.25-9
control-center-2.8.0-12.rhel4.5
xscreensaver-4.18-5.rhel4.11
libaio-0.3.105-2
libaio-devel-0.3.105-2

Set Kernel Parameters:
vi /etc/sysctl.conf and enter the following parameters.
# vi /etc/sysctl.conf
kernel.shmall = 2097152
kernel.shmmax = 4294967295
kernel.shmmni = 4096
kernel.sem = 256 32000 100 142
fs.file-max = 131072
net.ipv4.ip_local_port_range = 10000 65000
kernel.msgmni = 2878
kernel.msgmax = 8192
kernel.msgmnb = 65535
net.core.rmem_default = 262144
net.core.wmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_max = 262144

After editing /etc/sysctl.conf file to configure your kernel settings.
use the "sysctl -p" command or restart the system to invoke the new settings
# sysctl -p

Increase user limits: Add the following to /etc/security/limits.conf:
# vi /etc/security/limits.conf
* hard nofile 65535
* soft nofile 4096
* hard nproc 16384
* soft nproc 2047

OS Users and group creation:
Add the group and users
# groupadd dba
# useradd oracle -g dba
# useradd applmgr -g dba
# passwd oracle (give the password for oracle)
# passwd applmgr (give the password for applmgr)

Give permissions to oracle and applmgr so that they can write to /oradata and /apps:
# chown -R oracle:dba /oradata
# chown -R applmgr:dba /apps
#  chmod -R 775 /oradata
#  chmod -R 775 /apps

Check that the /etc/hosts entries are as follows:
127.0.0.1 localhost.localdomain localhost
<ip address> <hostname>.<domainname> aliasname

eg: My entries are as follows
127.0.0.1 localhost.localdomain localhost
192.168.0.94 oracle.com oracle

Now all the prerequisites are done lets start the Installtion.
To start the installation go to
# cd /<path of stage>/startCD/Disk1/rapidwiz/
# ./rapidwiz
Note: Run above command from root user.

1: Click next

2: Click Next

3: Click Next

 4: This is Screen is Useful in Multi node Installation. In single node Just Click Next

5: This Screen is for Port number you can change it or you can go with the default.

5: Database Type: There are two options Fresh Database and Vision Demo (fresh database is fully configurable database used for implementation, where as Vision Demo database is a demonstration database having data of fake company called Vision Enterprises.) So select Fresh Database.
Database SID: its for database SID default is PROD  you can change it.
Host Name: It will automatically select your machines host name. 
Database OS User: Its for Database OS User we have oracle user.
Base directory: Select the Base directory we have created /oradata for database installation.
Click Next

6: Click Next



7: Click Next



8: Click Next

 9: Select IANA character set to UTF-8
Click Next

10: Applications Node Configuration: This is the screen where you configure Applications Node
Apps OS User: applmgr
Base Directory: /apps (for applications file)
Instance directory: /apps/inst
Click Next

11: This Screen for multi node installation where you can add additional node.
Click Next

12: System Check Status: This rapid install wizard checks the system eg: Memory, Disk space, permissions and ownership etc.

13: After checking the system if everything is correct you will see the following screen if not then you will see errors in Red. You can correct those errors and Retry.
Click Next

14: Click Next

15: Click Yes

16:  Wait For Installation to complete 5 steps

17: Click Next


18: Click Finish





Friday, 21 November 2014

Defining Custom Concurrent Managers

Adding Concurrent Manager is a crucial decision. Lots of things needs to be examined before adding
new Concurrent Manager. One of the major area is resources. If you have less number of concurrent managers then overall concurrent processing gets delayed with a lot many requests having the status pending. On the other hand if you have too many Concurrent Managers then there will be a heavy load on your Operating System. So before adding any new Concurrent Managers a proper analysis needs to be done.
You can define as any concurrent managers as you want. For defining Concurrent Manager we need to login to the ebusiess suite as a 'SYSADMIN' and need to choose the System Administrator responsibility.
And Click on 
Navigation: Concurrent: Manager > Define


Once click on Define link form for defining the Concurrent Manager opens.
Fill the Form as Follows.


Manager: Name of the Manager  (ZEECONC)  (You can name it whatever you want)
Short name: Short name of the Manager  (ZC)
Application Name: Applications DBA
Description: ZEE CONC manager
Type: In this field you need to define what type of  Concurrent Manager you are going to define. You cannot Update this field once defined. There are Several types which are available eg: Concurrent Manager, Transnational Manager, Internal Monitor etc.  (Concurrent Manager)
Cache Size: 4  (Its up to  you)
Note: Oracle suggests to enter a value of 1 when defining a manager that runs long and 3 or 4 for the manager which runs small jobs.
Data Group: This is used only by Transnational Manager.
Consumer Group: A Consumer group defines a set of users who have similar resource usage requirements. (LOW_GROUP)
Primary and Secondary: These are from the Parallel Concurrent Processing.
Program Library: 
Name: You need to assign predefined Library for your manager. The Concurrent Manager runs only those programs which are listed in their program Library.
Save it


Specialization Rules:

From here you can Specialize your manager to run only certain types of requests. If  you don't define specialization rule then manager can process any kind of requests.

Click on Specialization Rules and a form will open. fill the form as follows. 

Include: Use this drop down button to include or exclude those requests which your manager will/won't run.
Type: Here you specify the type of specialization rule you want to assign to your manager.
Application: Application Object Library.
Name: Name of the Concurrent program which will be included or excluded.
Save it

Work Shifts:

The Work Shift defines the time which the Concurrent Manager is active. You can define some fixed date or time or can make the Manager run 24*7 making it active all the times.
You can define new Work shift by using work shift form.
Navigation: Concurrent: Manager: WorkShift
 
Press the work shift button on Concurrent Manager define form and select the work shift for the Manager.
Name: Name of the Work shift. (There are Many predefined work shifts and You can define new Work shift by using work shift form.
Navigation: Concurrent: Manager: WorkShift)
From/To: This is the time at which your Concurrent Managers shift begins and ends.
Days form/To: This refers to weekdays.
Date: Enter a date if you want to define a date specific work shift.
Save it

Now Define Concurrent Manager is done you can check your Custom Manager by
Navigation: Concurrent:Manager>Administer
If it is not Activated then activate it 
Select you Concurrent Manager and press Activate button.

Monday, 3 November 2014

Oracle Applications R12 imprtant/log files locations

Log files are useful in troubleshooting issues in Oracle Applications. Here is the list of Log files location in Oracle Applications for Startup/Shutdown, Cloning, Patching, DB & Apps Listener and various components in Apps R12. Every Oracle Apps DBA should know the locations of all the important file listed below:
The log files are located in $LOG_HOME ($INST_TOP/logs) in Oracle Applications R12

Important Files Location:

Context File location:
CONTEXT_FILE= $INST_TOP/appl/admin/SID_HOSTNAME.xml

DBC File Location:
$INST_TOP/appl/fnd/12.0.0/secure/SID.dbc
                           or
$FND_SECURE

adautocfg.sh (Autoconfig) file Location:
$INST_TOP/admin/scripts/adautocfg.sh
                         or
$ADMIN_SCRIPT_HOME

Startup/Shutdown Scripts and Log files for Application Tier in R12:
====================================================================
Applications Services Startup/Shutdown Scripts:
/apps/inst/apps/$CONTEXT_NAME/admin/scripts
or
$ cd $ADMIN_SCRIPT_HOME


Startup/Shutdown logs:
/apps/inst/apps/$CONTEXT_NAME/logs/appl/admin/log

Startup/Shutdown error message related to Tech Stack (10.1.2, 10.1.3 forms/reports/web):
$INST_TOP/appl/$CONTEXT_NAME/logs/ora/ (10.1.2 & 10.1.3)
$INST_TOP/appl/$CONTEXT_NAME/logs/ora/10.1.3/Apache/error_log[timestamp]
$INST_TOP/appl/$CONTEXT_NAME/logs/ora/10.1.3/opmn/ (OC4J~…, oa*, opmn.log)
$INST_TOP/apps/$CONTEXT_NAME/logs/ora/10.1.2/network/ (listener log)

Concurrent Manager Logfile:
$INST_TOP/apps/$CONTEXT_NAME/logs/appl/conc/log
                                  or
$APPLCSF

Files related to cloning in R12:
==================================
Location of adpreclone.pl:
/apps/inst/apps/$CONTEXT_NAME/admin/scripts
                           or
$ADMIN_SCRIPT_HOME

Preclone log files in source instance:

i) Database Tier:-
$ cd $ORACLE_HOME/appsutil/log/$CONTEXT_NAME/(StageDBTier_MMDDHHMM.log)

ii) Application Tier:-
$ cd $INST_TOP/apps/$CONTEXT_NAME/admin/log/ (StageAppsTier_MMDDHHMM.log)

Clone log files in target instance:

Database Tier:-
$ cd $ORACLE_HOME/appsutil/log/$CONTEXT_NAME/ApplyDBTier_.log

Apps Tier:-
$ cd $INST_TOP/apps/$CONTEXT_NAME/admin/log/ApplyAppsTier_.log

Patching related log files in R12:
======================================
Application Tier adpatch logs:-
$ cd $APPL_TOP/admin/$SID/log/

Database Tier opatch logs:-
$ cd $ORACLE_HOME/.patch_storage

Autoconfig related log files in R12:
=======================================
i) Database Tier Autoconfig log:
$ORACLE_HOME/appsutil/log/$CONTEXT_NAME/MMDDHHMM/adconfig.log
$ORACLE_HOME/appsutil/log/$CONTEXT_NAME/MMDDHHMM/NetServiceHandler.log

ii) Application Tier Autoconfig log:
$INST_TOP/apps/$CONTEXT_NAME/admin/log/$MMDDHHMM/adconfig.log

Other log files in R12:
=========================
1) Database Tier:

Relink Log files:
$ORACLE_HOME/appsutil/log/$CONTEXT_NAME /MMDDHHMM/ make_$MMDDHHMM.log

Alert Log Files :
$ORACLE_HOME/admin/$CONTEXT_NAME/bdump/alert_$SID.log

Network Logs :
$ORACLE_HOME/network/admin/$SID.log

OUI Inventory Logs :
$ORACLE_HOME/admin/oui/$CONTEXT_NAME/oraInventory/logs

Database Tier Scripts in R12:
==============================
Database startup shutdown Scripts:
$ORACLE_HOME/appsutil/scripts/$CONTEXT_NAME/addbctl.sh

Database Listener Start/Stop:
$ORACLE_HOME/appsutil/scripts/$CONTEXT_NAME/addlnctl.sh

or alternatively you can use
lsnrctl startstop listener_name (For Database Listener)
sqlplus “/as sysdba”
SQL> startup shutdown immediat (FOR DATABASE)

Middle/Application Tier Scripts in R12:
=======================================
Scripts Related to Start/Stop Applications Services are located
$INST_TOP/admin/scripts
                   or
$ cd $ADMIN_SCRIPT_HOME

i) adstrtal.sh
Master script to start all components/services of middle tier or application tier.
This script will use Service Control API to start all services which are enabled after
checking them in context file (SID_HOSTNAME.xml or CONTEXT_NAME.xml)

ii) adstpall.sh
Master script to stop all components/services of middle tier or application tier.

iii) adalnctl.sh
Script to start / stop apps listener (FNDFS and FNDFS). This listener will file will be in 10.1.2 ORACLE_HOME (i.e. Forms & Reports Home) listener.ora file will be in  $INST_TOP/apps/$CONTEXT_NAME/ora/10.1.2/network/admin directory
(Mostly similar to one in 11i with only change in ORACLE_HOME i.e. from 8.0.6 to 10.1.2 )

iv) adapcctl.sh
Script to start/stop Web Server or Oracle HTTP Server. This script uses opmn (Oracle Process Manager and Notification Server) with syntax similar to opmnctl [startstop]proc ohs like opmnctl stopproc ohs .
(In 11i this script directly used to call apachectl executable but now calls opmnctl which in turn calls apachectl. In 11i web server oracle home was 1.0.2.2.2 but in R12 its 10.1.3)

v) adcmctl.sh
Script to start/stop concurrent manager, Similar to one in 11i. (This script in turn calls startmgr.sh )

vi) adformsctl.sh
Script to start / stop Forms OC4J from 10.1.3 Oracle_Home. This script will also use opmnctl to start/stop Forms OC4J like
opmnctl stopproc type=oc4j instancename=forms

vii) adformsrvctl.sh
This script is used only if you wish to start forms in socket mode. Default forms connect method in R12 is servlet. If started this will start frmsrv executable from 10.1.2 Oracle_Home in Apps R12

viii) adoacorectl.sh
This script will start/stop oacore OC4J in 10.1.3 Oracle_Home. This scripts will also use opmnctl (similar to adapcctl & adformsctl) to start oacore instance of OC4J like 
opmnctl startproc type=oc4j instancename=oacore

ix) adoafmctl.sh
This script will start/stop oafm OC4J in 10.1.3 Oracle_Home. This scripts will also use opmnctl (similar to above) to start oacore instance of OC4J like
opmnctl startproc type=oc4j instancename=oafm

x) adopmnctl.sh
This script will start/stop opmn service in 10.1.3 Oracle_Home. opmn will control all services in 10.1.3 Oracle_Home like web server or various oc4j instances. If any services are stopped bnormally opmn will/should start them automatically.

xi) jtffmctl.sh
This script will be used to start/stop one to one fulfilment server.

xii) mwactl.sh
To start / stop mwa telnet server where mwa is mobile application.

Reference:
How to find location of Install, Autoconfig, Patching , Clone and other logs in R12 [ID 804603.1]
Oracle Application Server Diagnostic Tools and Log Files in Applications Release 12 [ID 454178.1]
Oracle Applications System Administrator’s Guide

If I missed any important log file name/location, drop a line via comment

See also 
adadmin
Purge obsolete workflow runtime data
Conucurrent Manager 11i
Oracle Application Interview Questions and Answers
Access Oracle Applications from Linux client
Patching