Showing posts with label APPS R12. Show all posts
Showing posts with label APPS R12. Show all posts

Wednesday, February 26, 2014

Oracle responsibility not visible in R12

From 12.1.1 you do not have to run the Synchronize WF Local Tables any more - all of the user roles and changes via the functional process - is processed by a business event in WF Java Deferred. The Workflow Agent listeners process them and all of the user role information is stored in the Workflow Directory Services tables now.

Execute the concurrent program “Workflow Directory Services User/Role Validation” with below parameters:
p_BatchSize – 10000 (Default Value 10000)
p_Check_Dangling – Yes (Default value No)
Add missing user/role assignments – Yes (Default Value No)
Update WHO columns in WF tables – No (Default Value No)
This concurrent program syncs all the user and role related WF tables with latest information viz., WF_LOCAL_ROLES, WF_LOCAL_USER_ROLES, WF_USER_ROLE_ASSIGNMENTS etc..
If after that the problem is not solved yet, then it’s possible to use the System Administrator responsibility: Workflow -> Oracle Applications Manager -> Workflow Manager
Selecting ‘Service Components’ and starting the following listeners:- Workflow Deferred Notification Agent Listener
- Workflow Error Agent Listener
- Workflow Java Deferred Agent Listener
- Workflow Java Error Agent Listener

How to Enable Automatic Compilation of JSP pages in R12

1. Login into E-Business suite and select System Administrator responsibility

2. Select function AutoConfig (under Oracle Applications Manager)
For each web tier server perform the following:
Click on pencil icon under Edit Parameters
Select tab System
Expand section jtff_server

3. Change value for the entry s_jsp_main_mode from justrun to recompile
Confirm the change by clicking Save button

4. Run AutoConfig to propagate the changes to the configuration files
Verify that the $INST_TOP/ora/10.1.3/j2ee/oacore/application-deployments/oacore/html/orion-web.xml  has the following:

Check param-name "main_mode" under init-param variables
Its changed into "recompile"

5. Restart the web tier services

Clear Cache in R12

There are two ways to clear cache in R12

1. Functional level (individual product/all product cache)
Functional Administrator -> Core Services -> Caching Framework -> Global Configuration -> "Go to specific cache or Clear All Cache"


2. Server level
In R12 apache bounce (which is actually opmn services here) takes a little more time then 11i, and we too have to take care of few things.
Basic steps for a clear cache bounce is as below:-
Set you application environment and go to $ADMIN_SCRIPTS_HOME

  1. ./adopmnctl.sh stopall
  2. wait for command to complete
  3. ./adopmnctl.sh status -l
  4. cd $COMMON_TOP/_pages
  5. ls -l|wc -l (note it down)
  6. rm -rf * (to remove all files)
    Note:- For step 4 to 6, better to take backup of _pages by renaming it, and create a new directory as _pages at the same place.
  7. ls -l|wc -l (it should be 0 now)
  8. cd $FND_TOP/patch/115/bin
  9. which perl (should come from $IAS_ORACLE_HOME/perl/bin)
  10. ojspCompile.pl --compile --flush -p 10 (to compile all JSPs,-p is for parallel and value (i.e. 10 here) can be varied accourding to your server)
  11. wait for successful completion
  12. cd $COMMON_TOP/_pages
  13. ls -l| wc -l (check whether count is same or more than before (pre-remove) - sometimes a little difference may be there)
  14. Go to $ADMIN_SCRIPTS_HOME again
  15. ./adopmnctl.sh startall
  16. wait for proper services startup
  17. ./adopmnctl.sh status -l
  18. check front-end and JSPs and FORMs should open up fine

You can avoid the step of regenrating the jsps like 11i but for that we need to make below changes in R12 context file (XML file):

parameter s_jsp_main_mode - you will find it justrun by default.

change it to - recompile

and run autoconfig to make the changes take place.

This will generate the jsps at run time saving bounce time, but obviously affect the performance.

Oracle Apps R12 Forms Not Opening

The forms for Oracle Apps EBS may not open for many reasons. Follow below steps to find out:-

For a particular Form:-
  1. It displays some message which can help you finding out the cause.
  2. Most of the time its related to some database objects or the particular form executable.
    a. Compile all ( Mainly Apps owned ) db objects.
    b. Compile particular form executable.
For All forms:-
  1. Always check the DB, and alert log.
  2. Check file system space.
  3. Check Apache and Forms log. $LOG_HOME/10.1.3/Apache/Apache/logs and$LOG_HOME/10.1.2/forms/logs
  4. If you are using R12 with IE8 then check Metalink doc 1069497.1, for Cross Site Scripting(XSS) settings (make it to relevant tab of your internet options). Also check 389422.1 for recommended browsers and settings.
  5. Check timestamp for files like $AU_TOP/resource/CUSTOM.* , this will tell you if someone has modified the pll and then the changes should be reverted back.
  6. Try checking the form sessions from your server as below
    ps -ef | grep frm
    This will show the frmsrv and frmweb processes. If it doesn't then the issue is in spawning form session.
    You can check the timestamp for frmsrv/frmweb executable, if this has got changed. You can relink this by below.
    a. Source the Application environment
    b. from location $ORACLE_HOME/forms/lib
    run :- make -f ins_forms.mk install
  7. In other case if from sessions are there and you are not able to open the form, then check the direct form login as below.
    http://server:port/forms/frmservlet - for servlet mode
    http://server:port/OA_HTML/frmservlet - for socket mode
  8. If above works then you can go to adadmin and compile jsps, or can have clear cache bounce.
  9. If step 6 doesn't work then check for dbc file present at $FND_SECURE.
    a. The file should have correct entries for Application Server Id, as it is in FND_NODES table.
    b. All the passwords guest,applsyspub etc are ok, or change the guest password using FNDCPASS
    c. You can correct the dbc file manually, or regenerate using  $COMMON_TOP/admin/install/adgendbc.sh
  10. Bounce forms server and retry.

Wednesday, March 20, 2013

New YouTube Channel for Oracle E-Business Suite


New YouTube Channel for Oracle E-Business Suite

By Steven Chan (Oracle Development) on Mar 12, 2013
We've just launched a new YouTube channel for Oracle E-Business Suite.  The videos on this YouTube channel have a strategic and functional focus, so it's an excellent business-oriented complement to this blog's technology stack and DBA-oriented material and our ATG Live Webcasts.
Cliff Godwin, Senior Vice President, has just posted a new video discussing the E-Business Suite's latest Strategy and Roadmap:
EBS YouTube channel screenshot
This video covers some of the highlights of Cliff's presentation at conferences such as Oracle OpenWorld, OAUG Collaborate, and other international events.
You and your business users can subscribe to this channel to get updates on a variety of functionally-oriented EBS topics.
Related Articles

Applying patch to Oracle EBS 11i/R12 Applications


Applying patch to  Oracle EBS 11i/R12 Applications:
Below are the steps which I follow to apply patch to Oracle EBS 11i/R12,in the below scenario I'm using Oracle EBS 11i applications,but the same steps can be use for Oracle EBS R12 applications also

Step 1: Before applying patch:(check invalid objects in DB):

SQL> select name from v$database;

NAME
---------
DEVDB

SQL> select owner,count(*) from dba_objects where status='INVALID' group by owner;

OWNER                            COUNT(*)
------------------------------ ----------
SYS                                     1
DEV_USER1                     2
DEV_USER2                     5
APPS                                  23

Step 2:Enable Maintainance mode

 ebsdev:applmgr::/home/applmgr>echo $TWO_TASK
DEVDB
Use 'adadmin' to enable maintainance mode before patching.

 5.    Change Maintenance Mode

Change Maintenance Mode
   ----------------------------------------

Maintenance Mode is currently: [Enabled].

Backing up restart files, if any......Done.

             Change Maintenance Mode
   ----------------------------------------

Maintenance Mode is currently: [Enabled].


Step 3:Applying patch using 'adpatch'(auto patch utility):
=====================================================

 Use: adpatch by going to patch directory

Go to the patch top directory,where all driver and required ldt files are present with the application
filesystem owner,makes sure all files have read,write and execute permission.
As described below:

Note:It is very important to review the readme.txt in unix vi editor before applying applying patch and follow the instruction as given in the readme.txt file and apply any pre-requistics patch if required.autoconfig run also not required unless it is specified after patch installation in readme.txt file.


ebsdev:applmgr::/stage/patches/5522470>ls -altr
total 12432
-rwxrwxrwx    1 applmgr  dba            2931 Oct 29 2007  u5522470.drv
-rwxrwxrwx    1 applmgr  dba            1173 Oct 29 2007  f5522470.ldt
-rwxrwxrwx    1 applmgr  dba         6323692 Oct 29 2007  b5522470.ldt
-rwxrwxrwx    1 applmgr  dba              37 Oct 29 2007  marker1.txt
-rwxrwxrwx    1 applmgr  dba            2852 Oct 29 2007  README.txt
-rwxrwxrwx    1 applmgr  dba            5502 Oct 29 2007  README.html
drwxrwxrwx    5 applmgr  dba             256 Feb 21 01:21 po
drwxrwxrwx   54 root     dba           12288 Feb 21 01:21 ..
drwxr-xr-x    3 applmgr  dba             256 Feb 21 01:21 .
ebsdev:applmgr::/stage/patches/5522470>adpatch

Review the README for pre-requisite information.

Your default directory is '/d21/DEVDB/apps/appl'.
Is this the correct APPL_TOP [Yes] ?

Verify the log file after applying patch

Step 4: Disable Maintainance mode again by using 'adadmin' utility:
=======================================================

Backing up restart files, if any......Done.

             Change Maintenance Mode
   ----------------------------------------

Maintenance Mode is currently: [Disabled].


Step 5: Bounce application after applying patch :
===================================================


Step a:Stop listener using adalnctl.sh

ebsdev:applmgr::/u01/DEVDB/apps/comn/admin/scripts/DEVDB_ebsdev>./adalnctl.sh stop

adalnctl.sh version 115.17

Shutting down listener process APPS_DEVDB.

adalnctl.sh: exiting with status 0

Step b:Stop applications using adstpall.sh

ebsdev:applmgr::/u01/DEVDB/apps/comn/admin/scripts/DEVDB_ebsdev>./adstpall.sh

You are running adstpall.sh version 115.22


Enter the APPS username: apps

Step c:Start listener using adalnctl.sh

ebsdev:applmgr::/u01/DEVDB/apps/comn/admin/scripts/DEVDB_ebsdev>./adalnctl.sh start

adalnctl.sh version 115.17

Starting up listener process APPS_DEVDB.

adalnctl.sh: exiting with status 0

Step d:Start applications using adstrtal.sh

ebsdev:applmgr::/u01/DEVDB/apps/comn/admin/scripts/DEVDB_ebsdev>./adstrtal.sh

You are running adstrtal.sh version 115.22

Step 6:After applying PATCH:
========================


Step a:Verify the patch is applied successfully:

SQL> select name from v$database;

NAME
---------
DEVDB

SQL> select bug_number,creation_date from ad_bugs where bug_number='5522470';

BUG_NUMBER                     CREATION_DATE
------------------------------ ---------------
5549427                        12-FEB-13

Step b:Run cmclean.sql
Run cmclean.sql from application node by going to $COMMON_TOP/admin/scipts/DEVDB_ebsdev in 11i,where as in R12 goto $ADMIN_SCRIPTS_HOME or $INST_TOP/admin/scripts
commit;
Note:We run cmclean after clonning also to make sure the node name is updated in the FND_NODES Table correctly

SQL> select owner,count(*) from dba_objects where status='INVALID' group by owner;

OWNER                            COUNT(*)
------------------------------ ----------
SYS                                     1
DEV_USER1                    2
DEV_USER2                    5
APPS                                 22

Step c:Check the file versions got changed successfully after applying patch:

strings -a POXWARMB.pls|grep Header =>Can be used to check the file version.

ebsdev:applmgr::/d21/DEVDB/apps/appl/po/11.5.0/sql>strings -a POXWARMB.pls|grep Header
 strings -a POXWARMB.pls|grep Header
/* $Header: POXWARMB.pls 115.27.11510.7 2009/02/11 11:08:59 krsethur ship $*/
/* $Header: POXWARMB.pls 115.27.11510.7 2009/02/11 11:08:59 krsethur ship $*/

Step d:Do the Health Check of Oracle EBS Application

Login DEVDB application by using Home page URL

Note :We can get HOME page URL by using below query:
SQL>Select Home_URL from icx_parameter;

 http://oradev.oracle.com:8000   with sysadmin/admin123

Health check completed successfully by submitting active user Concurrent request REQUEST ID 28758820.

Step e:Intimate end User 

Friday, October 31, 2008

Checking the techstack components and versions present in e-business application

There is a good utility for checking all the techstack components and there versions present in e-business application. This is applicable to both 11i and R12 environments.

There is a script $FND_TOP/patch/115/bin/txkInventory.pl on apps side which is going to fetch the versions of all components on apps side. This script can be run by giving input to $FND_TOP/patch/115/bin/TXKScript.pl script. TXKScript.pl script takes 2 mandatory arguments, one is the script to run and another is the directory for storing log file and out file. Other then these arguments you must give context file name and location and apps password as well. Also you need to give outfile where it will create report of techstack components.

Login to apps side of your application and source the environment. Run the below command

(appmgr06) appmgr - -bash $ perl $FND_TOP/patch/115/bin/TXKScript.pl -script=$FND_TOP/patch/115/bin/txkInventory.pl -txktop=$APPLTMP -contextfile=$CONTEXT_FILE -appspass=apps -outfile=$OA_HTML/techstack_info.html
*** ALL THE FOLLOWING FILES ARE REQUIRED FOR RESOLVING RUNTIME ERRORS
*** STDOUT = /slot06/appmgr/scmc2mq0comn/rgf/scmc2mq0/TXK/txkInventory_Fri_May_16_04_01_03_2008_stdout.log
Reportfile /slot06/appmgr/scmc2mq0comn/html/techstack_info.html generated successfully.

You can access the above report file using http://(hostname.domain):(port)/OA_HTML/techstack_info.html

The report will look like this.

The report will have following information.

* Summary of environment details
* Inventory of HTTP Server Node
* Inventory of Forms Server Node
* Inventory of Concurrent Processing Server Node
* Inventory of Administration Server Node

Similarly you can check on DB side as well

(oracle06) scmc2mq0 - -bash $ perl $ORACLE_HOME/appsutil/bin/TXKScript.pl -script=$ORACLE_HOME/appsutil/bin/txkInventory.pl -txktop=$ORACLE_HOME/appsutil/temp -contextfile=$CONTEXT_FILE -appspass=apps -outfile=$ORACLE_HOME/appsutil/temp/master_db.html

How to Change IP Address in an Oracle Applications Environment

How to Change IP Address in an Oracle Applications Environment

1. Change the IP Address in the Server;

2. Verify the current ip address setup in the Oracle Applications environment. Connect as apps user into SQL*Plus and run:

select NODE_NAME, STATUS, NODE_MODE, NODE_ID,SERVER_ADDRESS, HOST, DOMAIN, WEBHOST, VIRTUAL_IP from fnd_nodes where node_name = upper(’hostname’);

3. Run the following command to remove the old ip address from the Oracle Applications tables:

perl $AD_TOP/bin/adgentns.pl appspass=apps contextfile=$APPL_TOP/admin/_hostname.xml -removeserver

replace _hostname.xml for the context file name under the $APPL_TOP/admin directory;

then connect to SQL*Plus as apps user and run:

begin
FND_NET_SERVICES.remove_server(’’, ‘’);
end;
/
commit;
/

replace by the SID of the environment and by the hostname in the environment. Both must be entered in upper case.

4. Run autoconfig to populate the values using the new IP Address.

5. Confirm the ip address has been changed to the new value changed in the step 1:

select NODE_NAME, STATUS, NODE_MODE, NODE_ID,SERVER_ADDRESS, HOST, DOMAIN, WEBHOST, VIRTUAL_IP from fnd_nodes where node_name = upper(’hostname’);

Thursday, September 18, 2008

UTILITY TO CHECK TECHSTACK COMPONENTS-APPS

There is a good utility for checking all the techstack components and there versions present in e-business application. This is applicable to both 11i and R12 environments.

There is a script $FND_TOP/patch/115/bin/txkInventory.pl on apps side which is going to fetch the versions of all components on apps side. This script can be run by giving input to $FND_TOP/patch/115/bin/TXKScript.pl script. TXKScript.pl script takes 2 mandatory arguments, one is the script to run and another is the directory for storing log file and out file. Other then these arguments you must give context file name and location and apps password as well. Also you need to give outfile where it will create report of techstack components.

Login to apps side of your application and source the environment. Run the below command

(appmgr06) appmgr - -bash $ perl $FND_TOP/patch/115/bin/TXKScript.pl -script=$FND_TOP/patch/115/bin/txkInventory.pl -txktop=$APPLTMP -contextfile=$CONTEXT_FILE -appspass=apps -outfile=$OA_HTML/techstack_info.html
*** ALL THE FOLLOWING FILES ARE REQUIRED FOR RESOLVING RUNTIME ERRORS
*** STDOUT = /slot06/appmgr/scmc2mq0comn/rgf/scmc2mq0/TXK/txkInventory_Fri_May_16_04_01_03_2008_stdout.log
Reportfile /slot06/appmgr/scmc2mq0comn/html/techstack_info.html generated successfully.

You can access the above report file using http://(hostname.domain):(port)/OA_HTML/techstack_info.html

The report will look like this.

The report will have following information.

* Summary of environment details
* Inventory of HTTP Server Node
* Inventory of Forms Server Node
* Inventory of Concurrent Processing Server Node
* Inventory of Administration Server Node

Similarly you can check on DB side as well

(oracle06) scmc2mq0 - -bash $ perl $ORACLE_HOME/appsutil/bin/TXKScript.pl -script=$ORACLE_HOME/appsutil/bin/txkInventory.pl -txktop=$ORACLE_HOME/appsutil/temp -contextfile=$CONTEXT_FILE -appspass=apps -outfile=$ORACLE_HOME/appsutil/temp/master_db.html

Wednesday, July 16, 2008

CREATE CUSTOM TOP IN R12

CREATE CUSTOM TOP IN R12



SCHEMA NAME : XXRLT
TOP NAME : XXRLT_TOP
Application : XXRLT Custom Application
Data Group : XXRLTGroup
Request Group : XXRLT Request Group
Menu : XXRLT_CUSTOM_MENU
Responsibility : XXRLT Custom

1) Make the directory structure for your custom application files.

cd $APPL_TOP
mkdir xxrlt
mkdir xxrlt/12.0.0
mkdir xxrlt/12.0.0/admin
mkdir xxrlt/12.0.0/admin/sql
mkdir xxrlt/12.0.0/admin/odf
mkdir xxrlt/12.0.0/sql
mkdir xxrlt/12.0.0/bin
mkdir xxrlt/12.0.0/reports
mkdir xxrlt/12.0.0/reports/US
mkdir xxrlt/12.0.0/forms
mkdir xxrlt/12.0.0/forms/US
mkdir xxrlt/12.0.0/lib
mkdir xxrlt/12.0.0/out
mkdir xxrlt/12.0.0/log



2) Add the custom module into the environment

cd $APPL_TOP

vi customPROD_app01.env
XXRLT_TOP=/sandb1/oracle/PROD/apps/apps_st/appl/xxrlt/12.0.0
export XXRLT_TOP
source the environment file ( /sandb1/oracle/PROD/apps/apps_st/appl/APPSPROD_pkgprod.env )

Make entry to context file

/sandb1/oracle/PROD/inst/apps/PROD_pkgprod/appl/admin/PROD_pkgprod.xml

/sandb1/oracle/PROD/apps/apps_st/appl/xxrlt/12.0.0

cd $INST_TOP/admin/install
sh adgentopfile.sh

Open new session, source environment file, and stop middle tier services, run autoconfig
Open new session, source environment file, check for custom top in topfile.txt in $APPL_TOP/admin, start the middle tier services.

3) create tablespace XXRLT datafile '/sandb1/oracle/PROD/db/apps_st/data/xxrlt01.dbf' size 500M

4) create user xxrlt identified by xxrlt
default tablespace xxrlt
temporary tablespace temp1
quota unlimited on xxrlt
grant connect, resource to xxrlt;

5) Register your Oracle Schema.
Login to Applications with System Administrator responsibility
Navigate to Application-->Register
Application = XXRLT Custom Application
Short Name = XXRLT
Basepath = XXRLT_TOP
Description = XXRLT Custom Application

6) Register Oracle User
Naviate to Security-->Oracle-->Register
Database User Name = XXRLT
Password = XXRLT
Privilege = Enabled
Install Group = 0
Description = XXRLT Custom Application User

7) Add Application to a Data Group
Navigate to Security-->Oracle-->DataGroup
Data Group = XXRLTGroup
Description = XXRLT Custom Data Group
Click on "Copy Applications from" and pick Standard data Group, then add the following entry.
Application = XXRLT Custom
Oracle ID = APPS
Description = XXRLT Custom Application



8) Create custom request group
This will act as a placeholder for any custom reports we wish to make available for the Custom Responsibility (which is defined at a later stage)
Navigate to Security-->responsbility-->Request
Group = XXRLT Request Group
Application = XXRLT Custom
Code = XXRLT
Description = XXRLT Custom Requests
We will not define any requests to add to the group at this stage, but you can add some now if required.

9) Create custom menu
This will act as a placeholder for any menu items we wish to make available for the Custom Responsibility (which is defined at a later stage). We will create two menus, one for Core Applications and one for Self Service.
Navigate to Application-->Menu
Menu = XXRLT_CUSTOM_MENU
User Menu Name = XXRLT Custom Application
Menu Type =
Description = XXRLT Custom Application Menu
Seq = 100
Prompt = View Requests
Submenu =
Function = View All Concurrent Requests
Description = View Requests

Seq = 110
Prompt = Run Requests
Submenu =
Function = Requests: Submit
Description = Submit Requests

Menu = XXRLT_CUSTOM_MENU_SSWA
User Menu Name = XXRLT Custom Application SSWA
Menu Type =
Description = XXRLT Custom Application Menu for SSWA


10) Create new responsibility. One for Core Applications and One for Self Service (SSWA)
Navigate to Security-->Responsibility-->Define
Responsibility Name = XXRLT Custom
Application = XXRLT Custom
Responsibility Key = XXRLTCUSTOM
Description = XXRLT Custom Responsibility
Available From = Oracle Applications
Data Group Name = XXRLTGroup
Data Group Application = XXRLT Custom
Menu = XXRLT Custom Application
Request Group Name = XXRLT Request Group

Responsibility Name = XXRLT Custom SSWA
Application = XXRLT Custom
Responsibility Key = XXRLTCUSTOMSSWA
Description = XXRLT Custom Responsibility SSWA
Available From = Oracle Self Service Web Applications
Data Group Name = XXRLTGroup
Data Group Application = XXRLT Custom
Menu = XXRLT Custom Application SSWA
Request Group Name = XXRLT Request Group

11) Add responsibility to user
Navigate to Security-->User-->Define
Add XXRLT Custom responsibility to users as required.

12) Other considerations
You are now ready to create your database Objects, custom Reports, Forms, Packages, etc

Create the source code files in the XXRLT_TOP directory appropriate for the type of object. For example forms would be located in $XXRLT_TOP/forms/US or package source code in $XXRLT_TOP/admin/sql for example.

Database Objects, such as tables, indexes and sequences should be created in the XXRLT schema, and then you need to
a) Grant all privilege from each custom data object to the APPS schema.
For example : logged in as XXRLT user
grant all privileges on myTable to apps;

b) Create a synonym in APPS for each custom data object
For example : logged in as APPS user
create synonym myTable for XXRLT.myTable;

13) Login to sysadmin, Application Developer Responsibility

Application > Form ( Register the form )
Application > Funtion ( Add the form to a function )
Application > Menu ( Attach the function to a menu )

Menu that is added to a particular responsbility is given to specific user
Security > User > Define

Friday, July 11, 2008

R12 INSTALLATION

Disk space requirements:
------------------------
Application node(Fresh & Vision database)- 28GB
Database node for Fresh database - 45GB
Database node for Vision demo database - 133GB
Stage area size - 33GB

Total Space for fresh Install - 73GB
Total Space for Vision - 161GB


Operating System Name Supported Version
--------------------- ------------------
Red Hat Enterprise Linux 4.0-Update 4/higher(32-bit)



Kernel Requirements:
--------------------
The following table lists the required minimum
kernel versions.
Operating System :RedHat Enterprise Linux AS/ES 4.0
Kernel Instructions:2.6.9-42.EL

To determine version, $ uname - r


Required Packages:
-----------------

Check required rpms installed or not (Eg : rpm –q glibc-2.3.4-2.25 )

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

Sites to Download Rpms:
-----------------------

http://rpm.pbone.net/
http://linuxsoft.cern.ch/


Software Requirements:
----------------------
Check this Softwares installed. (Eg :which ar)

Ar, gcc , g++ , ld , ksh, make, Xdisplay

Kernel Settings:
----------------

Set following kernel parameters in /etc/sysctl.conf


set kernel.semmsl=256
set kernel.semmns=32000
set kernel.semopm=100
set kernel.semmni=142
set kernel.shmall=2097152
set kernel.shmmax=2147483648(half of memory)
set kernel.shmmni=4096
set kernel.msgmax=8192
set kernel.msgmnb=65535
set kernel.msgmni=2878
set fs.file-max=65536
set net.ipv4.ip_local_port_range=1024 65000
set net.core.rmem_default=262144
set net.core.rmem_max=262144
set net.core.wmem_default=262144
set net.core.wmem_max=262144
Domain Name System (DNS) Resolver Parameters:
---------------------------------------------
Following entries to these minimum settings in
the /etc/resolv.conf file on each server node:

options attempts:5
options timeout:15


Verifying Host Names:
Verify that the /etc/hosts file is formatted
as follows:
127.0.0.1 localhost.localdomain localhost
.
Eg: 192.9.200.7 vis.oneapps.com vis
Verify that the /etc/sysconfig/network file is formatted

as follows:
HOSTNAME=vis.oneapps.com
If the /etc/sysconfig/networking/profiles/default/network
file exists, remove it. If you changed any files in the
previous steps, restart the system.

Modifying the Number of Open File Descriptors:
----------------------------------------------

Open the /etc/security/limits.conf file and change
the existing values for "hard" and "soft" parameters as
follows. Restart the system after making changes.


* hard nofile 65535
* soft nofile 4096
* hard nproc 16384
* soft nproc 2047


Net Service Listeners in Multi-user Installations:

$ chmod 777 /var/tmp/.oracle


Creating the Stage Area Directory:

Create directory for staging

$cd /

$mkdir stage

Verify software version (perl).

You must have perl 5.0053 or higher installed, and
it must be in your PATH. Use the following commands
to identify the perl version and its location. The
command is the same for both UNIX and Windows platforms:

$perl -v

Mount the DVD

Run the adautostg.pl script.

$ perl /mnt/cdrom/Disk1/rapidwiz/adautostg.pl


Before starting installation check rapidwiz version:

Current Version of Rapid Install
The most current version of the Rapid Install wizard
is 12.0.0.22. You can obtain this version by applying
patch 5885627, available at OracleMetaLink. To verify
your current version, use the RapidWizVersion
executable, located in the rapidwiz directory on the
Start Here DVD. For example:
UNIX:
$ cd /Stage12/startCD/Disk1/rapidwiz
$ ./RapidWizVersion

To update the Start Here DVD, uncompress the patch in
the main staging area to overwrite the startCD
directory.
For example:
UNIX:
$ cd /Stage12
$ unzip -o p5885627_R12_GENERIC.zip




OS user account settings:

Create group for user
$groupadd dba
$useradd –g dba oracle
$useradd –g applmgr

Change read write execute permission and ownership
to directories where going to install application
and database

$chmod 777 /u01
$chmod 777 /u02

Start installation

$ /stage/Stage12i/startCD/Disk1/rapidwiz/rapidwiz


Screen Shots:
-------------








Choose decline-->



Choose the portpool-->






Give database node information-->



Choose license type-->




Give application node information-->










Here you can see the system architecture-->













References:
-----------

Metalink Note: 402310.1
Oracle Applications Installation and Upgrade
Notes Release 12 for Linux (32-bit)

Metalink Note: 405565.1
Oracle Applications Release 12 Installation
Guidelines

Metalink Note: 405293.1
Oracle Applications Release Notes Release 12

B31295-04
http://download.oracle.com/docs/cd/B40089_05/current/
acrobat/120oaig.pdf

R12 ARCHITECTURE


R12 ARCHITECTURE


R12 file system has come up with new model - Code, Data, Configurations are segregated nicely to have easy maintenance, to avert NFS mount issues on

shared appltier configuration systems. Autoconfig will not write anything in appltop, commontop area in R12. All instance specific configurations,

log files are written in INST_TOP area. Instance Home provides the ability to share Applications and technology stack code among multiple instances.

I have highlighted the INST_TOP in the box. In the forthcoming posts I will clearly explain the in depth of INST_TOP(As a DBA you will spend much

time in INST_TOP area when you comes to application tier node management ( e.g checking logs, starting/stopping services, ssl certificates

management, CONTEXT_FILE modification etc.)

Techstack Components:

DB_TIER:
10.2.0.2 RDBMS ORACLE_HOME

APPL-TIER

10.1.2 C ORACLE_HOME / FORMS ORACLE_HOME (8.0.6 ORACLE HOME equivalence)
10.1.3 Java ORACLE_HOME/OC4J ORACLE_HOME (iAS ORACLE_HOME equivalen

Thursday, June 19, 2008

APPS R12 SCRIPTS & LOG FILE LOCATIONS

APPS R12 LOG FILE LOCATIONS

Log files are useful in troubleshooting issues in Oracle Applications. Here is the list of Log file location in Oracle Applications for Startup/Shutdown, Cloning, Patching, DB & Apps Listener and various components in Apps R12/12i:

A. Startup/Shutdown Log files for Application Tier in R12

Instance Top is new TOP added in R12 (to read more click here)

–Startup/Shutdown error message text files like adapcctl.txt, adcmctl.txt…
$INST_TOP/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/apps/$CONTEXT_NAME/logs/ora/ (10.1.2 & 10.1.3)
$INST_TOP/apps/$CONTEXT_NAME/logs/ora/10.1.3/Apache/error_log[timestamp]
$INST_TOP/apps/$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)
$INST_TOP/apps/$CONTEXT_NAME/logs/appl/conc/log (CM log files)

B. Log files related to cloning in R12

Preclone log files in source instance
i) Database Tier - /$ORACLE_HOME/appsutil/log/$CONTEXT_NAME/(StageDBTier_MMDDHHMM.log)

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

Clone log files in target instance

Database Tier - $ORACLE_HOME/appsutil/log/$CONTEXT_NAME/ApplyDBTier_

Saturday, June 14, 2008

ABSENCE OF mod_plsql IN R12

Running APEX with Oracle Applications Release 12 will not be that straightforward after all. The reason being the absence of mod_plsql in the Release 12 Application Server. In this post i will explore this topic a bit further and understand what exactly does the mod_plsql do and its absence in Oracle Applications Release 12.

mod_plsql

mod_plsql is a extension module of the Apache Web Server which is the core component of the Oracle Application server. It was also formally referred to as Oracle PLSQL Cartridge. The main function of the mod_plsql is that is allows the middle tier or the web server to understand and execute plsql code. This is particular useful in generation of dynamic web pages. The mod_plsql makes a connection to your database based on the information defined by your Data Access Descriptor (DAD) settings. That is in Oracle Applications the wdbsrv.app file would be used by the mod_plsql to connect to your database and execute the sql/plsql code against it. What this does mean is that virtually almost any plsql code can be executed through the web browser via a http/https protocol.

In a default apache web server configuration mod_plsql is configured and started by default.The Oracle Application server both standalone and the one bundled within Oracle Applications Release 11i.

mod_plsql Vulnerabilities

Although i am yet to see any official document from Oracle on the mod_plsql's demise in release 12 apart from Steven Chan’s blog and the Oracle Open World presentations, the reason for its exclusion are not mentioned.

The main reason which i feel is the security vulnerabilities that mod_plsql has. Since a connection to a database is possible relatively easily in a mod_plsql implementation its gives rise to security threats. In fact it allows anyone with access to the Oracle Application web server to execute any sql /plsql code against the APPS schema and view any data which is visible to the APPS user. This obviously quite dangerous. Also exists a risk of sql injection, which is one of the most commonly used techniques by hackers. Sql injection is a technique where the hacker tries to add in malicious code in between a valid sql/plsql code.This often makes the system quite vulnerable and difficult to detect the intrusion.

Although there have been workaround to block the mod_plsql vulnerabilities, they have been known to cause problems in complex implementations of Oracle Applications. These vulnerabilities have not gone unnoticed by oracle and it has relase Oracle Security Alert #28 which takes about the risk arising from the mod_plsql.

As a result i feel the security vulnerabilities surrounding mod_plsql would have been one of the major factors for Oracle to decide to de support mod_plsql in Oracle Applications Release 12.

Oracle Applications Framework.
When i has started blogging my third post covered Oracle Applications Framework(OAF).Its time to revisit the topic now. The Oracle Applications Framework is a java framework which is based on the J2EE MVC design pattern and allows to execute HTMl,XML,PL/SQL,Java and web services without compromising on security. The connection to the database in Oracle Applications Framework model is done through Java Database Connection (JDBC) Drivers.

The Oracle Applications Framework comes bundled in a default installation of Oracle Applications Release 11.5.10 and later for Oracle Applications Release 11.5.9 and prior you would be required to upgrade to the latest AD patchset level to be able to use Oracle Applications Framework. For the current release of OAF you must have be on java 1.3 atleast. The actual requirements for OAF in Release 12 are not known as the official documentation on that is yet to be released.

Apart from addressing the security vulnerabilities OAF also allows the out of box customizations of the Oracle Applications imodules. In Oracle Applications Release 12 all customizations which use the application server mod_plsql would have to be migrated to the Oracle Applications Framework model.

Additional References
Red-database-security.com's Sql Injection via mod_plsql
Steven Chan's Post on Release 12 Tech Stack

Sunday, June 8, 2008

R12.AD.A.DELTA.4 PATCH

R12.AD.A.DELTA.4

patch-6510214

--Instructions For Applying This Patch

Execute the following command to generate your instance specific installation
instructions

1. Source the Applications environment file
2. Run the Patch Application Assistant by entering "admsi.pl".

--Preparation Tasks

The tasks in this section can be completed without taking any Applications services or users offline.


--Pre-install Tasks

You must shut down all Application tier services before performing the tasks in this section.


AD.A Grants

Run the adgrants.sql script as a user that can connect as SYSDBA to grant privileges to selected SYS objects and create PL/SQL profiler objects.

Usage:

1. Create $ORACLE_HOME/appsutil/admin on the database server.

2. Copy adgrants.sql (UNIX) from this patch directory to
$ORACLE_HOME/appsutil/admin.
Or, copy adgrants_nt.sql (Windows) from this patch directory to
%ORACLE_HOME%\appsutil\admin.

3. Set the environment to point to ORACLE_HOME on the database server.

4. Use SQL*Plus to run the script:

UNIX:
$ sqlplus /nolog
SQL> connect / as sysdba
SQL> @$ORACLE_HOME/appsutil/admin/adgrants.sql

Windows:
C:\> sqlplus /nolog
SQL> connect / as sysdba
SQL> @%ORACLE_HOME%\appsutil\admin\adgrants_nt.sql


--Apply patch


You must apply critical patch 6767273 before applying the AD Mini pack. This patch can not be merged with the AD Mini pack and must be applied separately.

Note: If you have not installed an off-cycle product, you may skip this step. To determine if your environment has an off cycle product, verify the following.

* Check for prod.txt files located under the $APPL_TOP/admin directory.

* For the products found in the directory, make sure there is an entry in the applprod.txt file located under the $APPL_TOP/admin directory

* You must apply patch 6767273 if you have products not listed in the applprod.txt file.





--Apply The Patch

his patch contains the following unified driver file to be applied with
AutoPatch:
u6510214.drv (This is the unified driver)



--Post-install Tasks

You must complete the tasks in this section before starting up Application tier services.