Tuesday, February 2, 2010

Cloning Two Node without Shared APPL_TOP

Note: Assuming svr10 replaced by svr55 and svr1 replaced by svr5

SPACE REQUIRED:

svr1 (webserver, Form server):

Space Actual: Appl_top (/u02/app/appp/PROD)  81G
IAS_Home (/u02/app/appp/product/iAS)  3.4G
8.0.6_Home (/u02/app/appp/product/8.0.6)  2.5G


Space Required: Appl_top (/u02/app/appp/PROD)  100G
IAS_Home (/u02/app/appp/product/iAS)  5G
8.0.6_Home (/u02/app/appp/product/8.0.6)  5G

svr10 (Concurrent, Report, Database):

Space Actual:
/u01  Oradata (/u01/oradata/PROD)  23G
/u02  ORACLE_HOME (/u02/app/orap/product/)  30G
 APPL_TOP (/u02/app/appp/PROD)  72G
 COMMON_TOP (/u02/app/appp/PROD/common)
 IAS_ORACLE_HOME (/u02/app/appp/product/iAS)  3.2G
 8.0.6_ORACLE_HOME (/u02/app/appp/product/8.0.6)  2.5G

/u03  Oradata (/u03/oradata/PROD)  17G
/u04  Oradata (/u04/oradata/PROD)  31G
/u05  Oradata (/u05/oradata/PROD)  21G
/u06  Oradata (/u06/oradata/PROD)  28G
/u07  Oradata, Redo log files (/u07/oradata/PROD)  29G
/u08  Oradata (/u08/Oradata/PROD)  31G
/u09  Oradata (/u09/oradata/PROD)  30G
/u10  Oradata (/u10/oradata/PROD)  28G
/u11  Oradata, Redo log files (/u11/oradata/PROD)  27G
/u12  Oradata (/u12/oradata/PROD)  28G
/u13  Oradata, Redo log files (/u13/oradata/PROD)  23G
/u14  Oradata, Redo log files (/u14/Oradata/PROD)  751M
 Arch logs (/u14/archredologs/PROD)  7.7G

/u15  Hot Backup (/u15/backup/PROD)  156G
 Oradata (/u15/oradata/PROD)  4.4G
 Stage (/u15/stage)  7.1G

If possible we need to increase the space in /u04,/u07,/u08,/u09,/u10


Mount Point Actual Size Used space Avail Space
/u01 34G 29G 3.0G
/u02 135G 112G 17G
/u03 34G 17G 16G
/u04 34G 31G 1.4G
/u05 34G 21G 12G
/u06 34G 28G 4.4G
/u07 34G 29G 3.0G
/u08 34G 31G 1.4G
/u09 34G 30G 2.6G
/u10 34G 28G 3.9G
/u11 34G 27G 4.9G
/u12 34G 28G 4.4G
/u13 34G 23G 8.8G
/u14 67G 14G 50G
/u15 276G 174G 88G


Create File Structure in svr55 as svr10:
File Structure in svr10:

/u01  Oradata /u01/oradata/PROD
/u02  ORACLE_HOME /u02/app/orap/product/9.2.0
 APPL_TOP /u02/app/appp/PROD
 COMMON_TOP /u02/app/appp/PROD/common
 IAS_ORACLE_HOME /u02/app/appp/product/iAS
 8.0.6_ORACLE_HOME /u02/app/appp/product/8.0.6

/u03  Oradata /u03/oradata/PROD
/u04  Oradata /u04/oradata/PROD
/u05  Oradata /u05/oradata/PROD
/u06  Oradata /u06/oradata/PROD
/u07  Oradata, Redo log files /u07/oradata/PROD
/u08  Oradata /u08/oradata/PROD
/u09  Oradata /u09/oradata/PROD
/u10  Oradata /u10/oradata/PROD
/u11  Oradata, Redo log files /u11/oradata/PROD
/u12  Oradata /u12/oradata/PROD
/u13  Oradata, Redo log files /u13/oradata/PROD
/u14  Oradata, Redo log files /u14/Oradata/PROD
 Arch logs /u14/archredologs/PROD

/u15  Hot Backup /u15/backup/PROD
 Oradata /u15/oradata/PROD


Clone Steps:

Run Adpreclone on svr1 with appp user
Cd $COMMON_TOP/admin/scripts/PROD_svr1
Perl adpreclone.pl appsTier

Run Adpreclone on svr10 with orap user
Cd $ORACLE_HOME/appsutil/scripts/PROD_svr10
Perl adpreclone.pl dbTier
Run Adpreclone on svr10 with appp user
Cd $COMMON_TOP/admin/scripts/ PROD_svr10
Perl adpreclone.pl appsTier
Once preclone completed successfully copy all the files for svr10 to svr55

svr10:/u01/oradata/PROD to svr55:/u01/oradata/PROD
svr10:/u02/app/orap/product/9.2.0 to svr55:/u02/app/orap/product/9.2.0
/u02/app/appp/PROD to svr55:/u02/app/appp/PROD
/u02/app/appp/PROD/common to svr55:/u02/app/appp/PROD/common
/u02/app/appp/product/iAS to svr55:/u02/app/appp/product/iAS
/u02/app/appp/product/8.0.6 to svr55:/u02/app/appp/product/8.0.6
svr10:/u03/oradata/PROD to svr55:/u03/oradata/PROD
svr10: /u04/oradata/PROD to svr55:/u04/oradata/PROD
svr10:/u05/oradata/PROD to svr55:/u05/oradata/PROD
svr10:/u06/oradata/PROD to svr55:/u06/oradata/PROD
svr10:/u07/oradata/PROD to svr55:/u07/oradata/PROD
svr10:/u08/oradata/PROD to svr55:/u08/oradata/PROD
svr10: /u09/oradata/PROD to svr55:/u09/oradata/PROD
svr10:/u10/oradata/PROD to svr55:/u10/oradata/PROD
svr10: /u11/oradata/PROD to svr55:/u11/oradata/PROD
svr10: /u12/oradata/PROD to svr55:/u12/oradata/PROD
svr10: /u13/oradata/PROD to svr55:/u13/oradata/PROD
svr10: /u14/Oradata/PROD to svr55:/u14/Oradata/PROD
/u14/archredologs/PROD to svr55:/u14/archredologs/PROD

svr10: /u15/backup/PROD to svr55:/u15/backup/PROD
/u15/oradata/PROD to svr55:/u15/oradata/PROD

Once preclone completed successfully copy all the files for svr1 to svr1

svr1:/u02/app/appp/PROD to svr5: /u02/app/appp/PROD
/u02/app/appp/PROD/common to svr5: /u02/app/appp/PROD/common
/u02/app/appp/product/8.0.6 to svr5: /u02/app/appp/product/8.0.6
/u02/app/appp/product/iAS to svr5: /u02/app/appp/product/iAS

Run Adcfgclone

Configuring db on svr55
Login svr55 as orap
Cd /u02/app/orap/product/9.2.0/appsutil/clone/bin
Perl adcfgclone.pl dbTier
It will ask the following question:
Do you want to use a virtual hostname for the target node (y/n) [n]?
ANS: N
Target instance is a Real Application Cluster (RAC) instance (y/n) [n]
ANS: N
Target System database name [PROD]
ANS: PROD
Target system RDBMS ORACLE_HOME directory [/u02/app/orap/product/9.2.0/]
ANS: /u02/app/orap/product/9.2.0
Target system utl_file accessible directories list:
ANS: enter
Number of DATA Top’s on the target system [5]
ANS:
Target system DATA_TOP 1[/u01/oradata/PROD]
ANS: /u01/oradata/PROD
like wise give all the tops location
Do you want to preserve the Display set to svr10.domain.com:0.0 (y/n) [y]?
ANS: N
Target system Display [svr10:0.0]
ANS: svr55.domain.com:21009
Do you want to preserve the port values from the source system on the
target system (y/n) [y] ?
ANS: N
Enter pool number:
ANS: 0
Configuring applications on svr55

Login as appp on svr55 server, type the following command:
Cd /u02/app/appp/PROD/common/clone/bin
Perl adcfgclone.pl appsTier
Adcfgclone.pl will ask the following questions:
Do you want to use a virtual hostname for the target node (y/n) [n]?
ANS: N
Target system database SID [PROD]
ANS: PROD
Target system database server node [svr10]
ANS: svr55
Does the target system have more than one application tier server node (y/n) [y]?
ANS: Y
Target system concurrent processing node [svr10]
ANS: svr55
Target system administration node [svr10]
ANS: svr55
Target system forms server node [svr1]
ANS: svr1
Target system web server node [svr1]
ANS: svr1
Is the target system APPL_TOP divided into multiple mount points (y/n) [n]?
ANS: N
Target system APPL_TOP mounts point [/u02/app/appp/PROD]
ANS: /u02/app/appp/PROD
Target system COMMON_TOP directory [/u02/app/appp/PROD/common]
ANS: /u02/app/appp/PROD/common
Target system 8.0.6 ORACLE_HOME directory [/u02/app/appp/product/8.0.6]
ANS: /u02/app/appp/product/8.0.6
Target system iAS ORACLE_HOME directory [/u02/app/appp/product/iAS]
ANS: /u02/app/appp/product/iAS
Do you want to preserve the Display set to svr10:0.0 (y/n) [y] ?
ANS: n
Target system Display [svr10:0.0]
ANS: svr55.domain.com:21009
Location of the JDK on the target system [/opt/usr/java]
ANS: /u02/app/appp/PROD/common/util/java/1.4/j2sdk1.4.2_04
Do you want to preserve the port values from the source system on the target system (y/n) [y]?
ANS: N
Enter pool number:
ANS: 0
Target system proxy hostname [Newserver1.domain.com]
ANS: svr55.domain.com
Target system proxy port [80]
ANS:
UTL_FILE_DIR on database tier consists of the following directories.

Choose a value which will be set as APPLPTMP value on the target node [1]
ANS: 1


Configuring applications on svr1

Login svr1 as appp:
Cd /u02/app/appp/PROD/common/clone/bin
Perl adcfgclone.pl appsTier
Adcfgclone.pl will ask the following questions:
Do you want to use a virtual hostname for the target node (y/n) [n] ?
ANS: N
Target system database SID [PROD]
ANS: PROD
Target system database server node [svr10]
ANS: svr55
Does the target system have more than one application tier server node (y/n) [y]?
ANS: Y
Target system concurrent processing node [svr10]
ANS: svr55
Target system administration node [svr10]
ANS: svr55
Target system forms server node [svr1]
ANS: svr1
Target system web server node [svr1]
ANS: svr1
Is the target system APPL_TOP divided into multiple mount points (y/n) [n]?
ANS: N
Target system APPL_TOP mounts point [/u02/app/appp/PROD]
ANS: /u02/app/appp/PROD
Target system COMMON_TOP directory [/u02/app/appp/PROD/common]
ANS: /u02/app/appp/PROD/common
Target system 8.0.6 ORACLE_HOME directory [/u02/app/appp/product/8.0.6]
ANS: /u02/app/appp/product/8.0.6
Target system iAS ORACLE_HOME directory [/u02/app/appp/product/iAS]
ANS: / u02/app/appp/product/iAS
Do you want to preserve the Display set to svr1:0.0 (y/n) [y]?
ANS: n
Target system Display [svr1:0.0]
ANS: svr1.domain.com:15109
Location of the JDK on the target system [/usr/java1.4.1]
ANS: /u02/app/appp/PROD/common/util/java/1.4/j2sdk1.4.2_04
Do you want to preserve the port values from the source system on the target system (y/n) [y]?
ANS: N
Enter pool number:
ANS: 0
Target system proxy hostname [svr10.domain.com]
ANS: svr55.domain.com
Target system proxy port [80]
ANS:
UTL_FILE_DIR on database tier consists of the following directories.

Choose a value which will be set as APPLPTMP value on the target node [1]
ANS:1


=======================================================================
Sharing an existing Applications file system
Use the instructions in this section to enable a shared application tier file system in an existing Applications 11i system.
Update System Configuration
Rename the Applications context file
you must regenerate the Applications context file:
$ cd AD_TOP/bin
$ perl adclonectx.pl sharedappltop \
contextfile=
Running adclonectx.pl creates a new Applications context file
Run AutoConfig to enable shared file system on the primary node
Run the following commands on the primary node where you are enabling shared file system support. After performing this step, re-load your environment settings.
$ cd COMMON_TOP/admin/scripts/CONTEXT_NAME
$ adstpall.sh apps/
$ cd FND_TOP/patch/115/bin
$ perl -I AU_TOP/perl txkSOHM.pl

Make the Applications files accessible
Mount the shared disk to all application tier nodes.
Mount svr55:/u02 to svr1:/u02
In svr1
$mount –t nfs svr55:/u02 /u02 –o nolock
Run AutoConfig to enable shared file system on the secondary nodes

Run the following commands on the primary node where you are enabling shared file system support. After performing this step, re-load your environment settings.

$ cd FND_TOP/patch/115/bin
$ perl -I /perl txkSOHM.pl

ASM ON NON CLUSTER NODE

[root@ceserp ~]# cd /u01/10gRDBMS/app/oracle/product/10.2.0.1/bin/
[root@ceserp bin]# ./localconfig add
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
Configuration for local CSS has been initialized
Adding to inittab
Startup will be queued to init within 90 seconds.
Checking the status of new Oracle init process...
Expecting the CRS daemons to be up within 600 seconds.
CSS is active on these nodes.
ceserp
CSS is active on all nodes.
Oracle CSS service is installed and running under init(1M)
[root@ceserp bin]# ./crsctl check crs
CSS appears healthy
Cannot communicate with CRS
Cannot communicate with EVM
[root@ceserp init.d]# fdisk -l
Disk /dev/sda: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 2550 20482843+ 83 Linux
/dev/sda2 2551 10836 66557295 83 Linux
/dev/sda3 10837 17210 51199155 83 Linux
/dev/sda4 17211 30401 105956707+ 5 Extended
/dev/sda5 17211 21034 30716248+ 83 Linux
/dev/sda6 21035 22946 15358108+ 83 Linux
/dev/sda7 22947 23265 2562336 82 Linux swap
/dev/sda8 23266 30401 57319888+ 83 Linux
Disk /dev/sdb: 512 MB, 512483328 bytes
16 heads, 62 sectors/track, 1009 cylinders
Units = cylinders of 992 * 512 = 507904 bytes
Disk /dev/sdb doesn't contain a valid partition table
[root@ceserp init.d]# fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
Command (m for help): d
No partition is defined yet!
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-1009, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-1009, default 1009):
Using default value 1009
Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
[root@ceserp init.d]# ./oracleasm enable
Writing Oracle ASM library driver configuration: [ OK ]
Scanning system for ASM disks: [ OK ]
[root@ceserp init.d]# ./oracleasm configure
Configuring the Oracle ASM library driver.

This will configure the on-boot properties of the Oracle ASM library
driver. The following questions will determine whether the driver is
loaded on boot and what permissions it will have. The current values
will be shown in brackets ('[]'). Hitting without typing an
answer will keep that current value. Ctrl-C will abort.

Default user to own the driver interface [oracle]:
Default group to own the driver interface [dba]:
Start Oracle ASM library driver on boot (y/n) [y]:
Fix permissions of Oracle ASM disks on boot (y/n) [y]:
Writing Oracle ASM library driver configuration: [ OK ]
Scanning system for ASM disks: [ OK ]
[root@ceserp init.d]# ./oracleasm createdisk asmprod /dev/sdb1
Marking disk "/dev/sdb1" as an ASM disk: [ OK ]
[root@ceserp init.d]# ./oracleasm listdisks
ASMPROD
[root@ceserp init.d]# ./oracleasm scandisks
Scanning system for ASM disks: [ OK ]
[root@ceserp bin]# cd /prod
[root@ceserp prod]# mkdir asmprod
[root@ceserp prod]# cd asmprod/
[root@ceserp asmprod]# mkdir bdump cdump udump create pfile
[root@ceserp asmprod]# cd pfile/
[root@ceserp pfile]# vi initasmprod.ora
instance_type=asm
large_pool_size=15M
user_dump_dest=/prod/asmprod/udump
background_dump_dest=/prod/asmprod/bdump
core_dump_dest=/prod/asmprod/cdump
+ASM.instance_name=asmprod
[oracle@ceserp asmprod]$ cd /u01/10gRDBMS/app/oracle/product/10.2.0.1/dbs
[oracle@ceserp dbs]$ ln -s /prod/asmprod/pfile/initasmprod.ora
[root@ceserp asmprod]# vi asmprod.env
export ORACLE_SID=asmprod
export ORACLE_HOME=/u01/10gRDBMS/app/oracle/product/10.2.0.1
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
[oracle@ceserp asmprod]$ . asmprod.env
[oracle@ceserp asmprod]$ sqlplus
SQL*Plus: Release 10.2.0.1.0 - Production on Fri Mar 20 17:26:26 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Enter user-name: /as sysdba
Connected to an idle instance.
SQL> startup
ASM instance started

Total System Global Area 88080384 bytes
Fixed Size 1217860 bytes
Variable Size 61696700 bytes
ASM Cache 25165824 bytes
ORA-15110: no diskgroups mounted
SQL> desc v$asm_disk
SQL> select PATH,NAME from v$asm_disk;
PATH
--------------------------------------------------------------------------------
NAME
------------------------------
ORCL:ASMPROD
SQL> create diskgroup ASMPROD external redundancy disk 'ORCL:ASMPROD';
Diskgroup created.
[oracle@ceserp asmprod]$ asmcmd
ASMCMD> ls
ASMPROD/
ASMCMD> cd asmprod
ASMCMD> mkdir TST
ASMCMD> cd TST
ASMCMD> pwd
+asmprod/TST
ASMCMD>Exit
[oracle@ceserp asmprod]$ cd /prod
[oracle@ceserp prod]$ mkdir TST
[oracle@ceserp prod]$ cd TST
[oracle@ceserp TST]$ mkdir bdump cdump udump pfile create
[oracle@ceserp TST]$ cd pfile/
[oracle@ceserp pfile]$ vi inittest.ora
sga_target=400m
core_dump_dest=/prod/TST/cdump
background_dump_dest=/prod/TST/bdump
user_dump_dest=/prod/TST/udump
compatible=10.2.0
db_name=TST
control_files='+asmprod/TST/control01.ctl'
undo_management=auto
asmprod1.undo_tablespace=undotbs
[oracle@ceserp pfile]$ cd ../create
[oracle@ceserp create]$ vi cr8asm.sql
[oracle@ceserp create]$ cat cr8asm.sql
create database
datafile '+asmprod/TST/system01.dbf' size 150m
sysaux datafile '+asmprod/TST/sysaux.dbf' size 60m
undo tablespace undotbs1 datafile '+asmprod/TST/undo01.dbf' size 30m
default temporary tablespace tempx tempfile '+asmprod/TST/temp01.dbf' size 30m
logfile
group 1 '+asmprod/TST/redo01.log' size 8m,
group 2 '+asmprod/TST/redo02.log' size 8m
character set UTF8;
[oracle@ceserp TST]$ vi TST.env
export ORACLE_SID=TST
export ORACLE_HOME=/u01/10gRDBMS/app/oracle/product/10.2.0.1
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
[oracle@ceserp TST]$ . TST.env
[oracle@ceserp TST]$ cd create
[oracle@ceserp create]$ sqlplus
SQL*Plus: Release 10.2.0.1.0 - Production on Fri Mar 20 18:00:05 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Enter user-name: /as sysdba
Connected to an idle instance.
SQL> startup nomount
ORACLE instance started.
Total System Global Area 419430400 bytes
Fixed Size 1219736 bytes
Variable Size 121635688 bytes
Database Buffers 289406976 bytes
Redo Buffers 7168000 bytes
SQL> @cr8asm.sql
Database created
SQL> !vi file.sql
SQL> !cat file.sql
@?/rdbms/admin/catalog.sql
@?/rdbms/admin/catproc.sql
conn system/manager
@?/sqlplus/admin/pupbld.sql
SQL> @file.sql

Oracle Application Express (APEX) Installation and configuration with 11.5.10.2

Oracle Application Express (APEX) Installation and configuration with 11.5.10.2

Pre-Installation Checks.


a)oracle database requirement :9.2.0.3(min)
b)oracle JVM requirement : available
c)shared_pool_size =100(min)
d)Browser requirement = Microsoft internet explorer 6.0 version or later
e)HTTP server requirements
Oracle application express must access any one of the following
1)Embedded pl/sql gateway
2)Oracle http server and mod_plsql

f) Disk Space Requirement
Oracle Application Express disk space requirements are as follows:
■ free space for Oracle Application Express software files on the file system: 450 MB
■ free space in Oracle Application Express tablespace: 125 MB
■ free space in SYSTEM tablespace: 85 MB
■ Free space in Oracle Application Express tablespace for each additional language
(Other than English) installed: 34 MB

I) i) Oracle XML DB requirement
Installaing a new XML DB manually without DBCA

catqm.sql

ii) Reconnect to SYS again and run the following:
catxdbj.sql #Load xdb java library


After the manual installation, carry out these tasks:
1.Add the following dispatcher entry to the init.ora file:
2.dispatchers="(PROTOCOL=TCP) (SERVICE=DEVXDB)"
2.Restart database and listener to enable Oracle XML DB protocol access.
3.To allow for unauthenticated access to your Oracle XML DB Repository data through HTTP, you must also unlock the ANONYMOUS user account.
Oracle text requirement:
Connect sys account
Sql> @/$ORACLE_HOME/ctx/admin/defaults/drdefus.sql

J)Download apex_3.1.2.zip from www.oracle.com to 9.2.0.8(RDBMS home)
K)Unzip the apex_3.1.2

Pl/sql web tool Kit:
Run the PL/SQL Web Toolkit installation script by issuing: @owainst.sql
To upgrade modplsql libraries and everything

After this we need compile invalid objects in the database.
Sql>@?/rdbms/admin/utlrp.sql
Setup steps:
1) Create tablespace apex with size of min 500MB.
create tablespace APEX  datafile '/u04/sam/orasam/samdata/apex01.dbf' size 200M

Connect to sqlplus as sysdba
@apexins.sql xxxxx apex apex temp /i/ none

Post installation steps:

Copy The Images Directory

Copy the images directory at $ORACLE_HOME/apex/images(DB Tier) to $IAS_ORACLE_HOME/Apache/Apache (Applications Tier)

cp -Rf images $IAS_ORACLE_HOME/Apache/Apache

Edit wdbsrv.app

Edit the $IAS_ORACLE_HOME/Apache/modplsql/cfg/wdbsrv.app file and add the following
[DAD_apex]
connect_string = SAM (your connect string here)
password = XXXXX (password you gave while installing APEX)
username = apex_public_user
default_page = apex
document_table = wwv_flow_file_objects$
document_path = docs
document_proc = wwv_flow_file_mgr.process_download
reuse = Yes
enablesso = No
stateful = STATELESS_RESET
nls_lang = American_America.AL32UTF8

Edit the httpd.conf

Edit the $IAS_ORACLE_HOME/Apache/Apache/conf/httpd.conf file and add the alias

Alias /i/ "/u03/sam/applsam/samora/iAS/Apache/Apache/images/"

Bounce your HTTP Server

Restart your HTTP server to have the changes take effect.

$cd $COMMON_TOP/admin/scripts/SAM/
./adapcctl.sh stop
./adapcctl.sh start

Logging in to APEX

You can use the following URL to login to APEX

http://.:port/pls/apex
login as
Workspace=internal
User = admin
Password=’xxxx’

----------------------------------------------
APEX Another DOCUMENT
----------------------------------------------


There are 5 steps to this SETUP:
A. Install the SSO SDK in the FLOWS_NNNNNN schema.
B. Register APEX as a Partner Application in SSO.
C. Update the FLOWS_NNNNNN schema objects to reflect the registration information generated in step B.
D. Install the wwv_flow_custom_auth_sso package.
E. Configure the specific APEX application to use SSO.

A. INSTALLING THE SSO SDK INTO THE FLOWS_NNNNNN SCHEMA
1. As SYS or SYSTEM, unlock the FLOWS_NNNNNN schema. (alter user flows_NNNNNN account unlock)
2. Obtain the 9.0.2 SSO SDK. For Application Servers 10gR1 (9.0.4) and 10gR2(10.1.2.0.X) it is located in the ORACLE_HOME/sso/lib directory and called ssosdk902.zip.
3. Unzip the file and cd to the ../packages directory.
4. Using sqlplus connect as FLOWS_NNNNNN.
5. Load the 902 SDK using the command -> @loadsdk.sql
6. You will see sequences, tables, procedures, and packages created. There should be no errors.
B.  REGISTER APEX AS PARTNER APP IN SSO
1. Go to the SSO Administration home and login:
http://machine.domain:port/pls/orasso/orasso.home
Normally, this portion of the set up can be done when logged in as the user -> orcladmin

2.  Click on SSO Server Administration
3.  Click on Administer Partner Applications
4.  Click on Add Partner Application
Enter the following values:
Name:  (Anything you want). For example -> SSO HTMLDB
Home URL: (This is the normal APEX login url)
http://machine.domain:port/pls/apex
Success URL:   http://machine.domain:port/pls/apex/wwv_flow_custom_auth_sso.process_success
Logout URL:  http://machine.domain:port/pls/apex
Note: The above 3 urls assume that the APEX DAD is called ->  /pls/apex'.  In earlier versions of APEX it was common to call it -> /pls/htmldb
Add a valid 'End Date:' unless an indefinite logon time frame is desired.
Add 'Application Administrator' information as desired.
When completed, and after hitting the Apply button, information similar to the following will appear. Save these values or keep up in your browser as they will be needed in step C:
ID: BF0C5678
Token: 5J2L2FQFBF0D9106
Encryption Key: 555B973718553478
Login URL: http://machine.domain:port/pls/orasso/orasso.wwsso_app_admin.ls_login
Single Sign-Off URL: http://machine.domain:port/pls/orasso/orasso.wwsso_app_admin.ls_logout
Name:  SSO HTMLDB
Home URL:   http://machine.domain:port/pls/apex
Success URL: http://machine.domain:port/pls/apex/wwv_flow_custom_auth_sso.process_success
Logout URL: http://machine.domain:port/pls/apex
C. UPDATE THE FLOWS_NNNNNN SCHEMA WITH SSO REGISTRATION INFO

1. cd to the ..../packages directory as you did in step A.3 above.
2. Using sqlplus connect as FLOWS_NNNNNN.
3. run -> @regapp.sql and answer the questions.
4. The value for the listener token will be of the format -> app_name:your-host:port. You must use
HTML_DB as the app_name. For example -> HTML_DB:myserver.com:80 where myserver.com:80 is the machine & port used to access APEX. Note that the machine name and port used are normally values from the serverName and Port directives listed in the httpd.conf of the http server machine. This is NOT
always the same machine name and port used when accessing APEX via a URL. See the
TROUBLESHOOTING section for more details.
5. For site_id enter the ID you received in step B.
6. For site_token enter the Token value from step B.
7. For login_url enter the Login URL from step B.
8. For encryption key, enter the Encryption key value you received in step B.
9. For ip_check enter -> N
10. There should be no errors and a 'Registration successful' message should display with a
confirmation of the information entered.
D. INSTALL THE WWV_FLOW_CUSTOM_AUTH_SSO PACKAGE:

1. Locate the the following package scripts in \apex\core\

custom_auth_sso_902.sql
custom_auth_sso_902.plb

Note is the directory where you unzipped the apex installation scripts.

2. cd to the location of the two scripts.
3. Using sqlplus connect as the appropriate FLOWS_NNNNNN user.
4. Run both:
@custom_auth_sso_902.sql
@custom_auth_sso_902.plb

There should be no errors.

5. Issue the following grant:

grant execute on wwv_flow_custom_auth_sso to APEX_PUBLIC_USER;
Note: In earlier versions of APEX this user was called -> HTMLDB_PUBLIC_USER
Note 2: If using the Embedded PLSQL Gateway then grant execute to ANONYMOUS. For example, grant execute on wwv_flow_custom_auth_sso to ANONYMOUS
E. CONFIGURING THE APEX APPLICATION

1. Login to APEX as an application developer.
2. Enter Application Builder and click on the application to be configured for SSO.
3. Choose -> Shared Components
4. Beside the Security icon, click on -> Authentication Schemes
5. Click on -> Create
6. Ensure ->” Based on a pre configured scheme from the gallery” is selected.
7. Click -> Next
8. Choose -> “Oracle Application Server Single Sign-On (Oracle Application Express Engine as Partner App)".
9. Click -> Next
10.Give it a name (It can be any valid name such as -> SSO_AUTH)
11. Click -> Create Scheme


--Make the new authentication scheme current for the application

1. Click on the application you wish to enable for SSO.
2. Choose -> Shared Components
3. Click on -> Authentication Schemes
4. Click on -> Change Current
5. Choose -> SSO_AUTH (or whatever you named it in step 10 above).
6. Choose -> Next.
7. Click -> “Make Current “ Button.
TEST YOUR APPLICATION
1. Login to APEX and attempt to run the application that you configured to use SSO.
2. When you click on the run icon, you should be redirected to the SSO Server and presented with an
SSO login screen.
3. Once you login, your APEX application should come up.
TROUBLESHOOTING

See
UPGRADING APEX WITH SDK IN FLOWS_NNNNNN SCHEMA
When APEX is upgraded SSO will have to be reconfigured because the objects loaded by the SDK will not be in the new FLOWS_NNNNNN schema.  For discussion purposes, lets refer to the old schema as FLOWS_OLD and the upgraded one as FLOWS_NEW. It is important to understand that after the upgrade all of the SDK related files, including the information entered by regapp, is still in the FLOWS_OLD schema.  So after upgrading, SSO can be enabled by either:
1. Reaccomplishing steps A, C & D of this note in the FLOWS_NEW schema.  Step B can be reaccomplished if you wish to create a new Partner Application.  However, this is not necessary because you may use the information from the original SSO Partner Application.
or
2. Reuse the registration information that already exists in the FLOWS_OLD schema.  To do this you would:
a. Perform Step A in the FLOWS_NEW schema.
b.  Create the necessary synonym as follows:

    -connect to FLOWS_NEW
    -Drop table wwsec_enabler_config_info$;
    -create synonym wwsec_enabler_config_info$ for FLOWS_OLD.wwsec_enabler_config_info$;

    -connect to FLOWS_OLD
    -grant select on wwsec_sso_enabler_private to FLOWS_NEW;

 c. If the WWV_FLOW_CUSTOM_AUTH_SSO is not already in the FLOWS_NEW schema, then accomplish step D to create it.  

Note: This note is based on the white paper at ->
http://www.oracle.com/technology/products/database/application_express/howtos/sso_partner_app.html
It does not address the 'Alternate Procedure for Individual Registration of Partner Application Schemas' described in this reference.


References
@ Note 562807.1 - Configuring an APEX Application to Use SSO With SDK in Separate Schema
Note 562840.1 - Troubleshooting Apex SSO Related Error ERR-7620

-------------------------------------------------------------
APEX Another DOCUMENT 2
-------------------------------------------------------------

Download apex_2.2.zip to server.

Unzip in D:\apex. It will create directory on unzip.

From server: Oracle Enterprise Manager, Storage Manager, SYSTEM, MANAGER, PROD


Tablespaces, + (Create)

APEX (NAME), Permanent, Datafiles, Add, D:\ORACLE\PRODDATA\APEX.DBF, File Size
100M, Auto Extend, Enable Auto Extend, Increment 100M, OK, OK

Create a desktop shortcut on server to D:\oracle\proddb\9.2.0\bin\sqlplusw.exe,
Start in D:\APEX. Call shortcut "SQL Plus ApEx".

Startup SQL Plus ApEx shortcut. Username: system, Password: Manager, Host
String: PROD

CONNECT SYS@PROD AS SYSDBA

Password for SYS: change_on_install

Change SYS password: ALTER USER SYS IDENTIFIED BY ;

Change SYSTEM password: ALTER USER SYSTEM IDENTIFIED BY ;

@apexins apex apex temp /i/ PROD

SQL Plus will close automatically when database portion is completed.

Startup SQL Plus again. SYSTEM/new pwd/PROD.

CONNECT SYS@PROD AS SYSDBA

@d:\oracle\proddb\9.2.0\rdbms\admin\utlrp.sql

Possible fix for two invalid database packages.

Copy d:\apex\images directory to d:\oracle\prodora\iAS\Apache\Apache (will
create an images subdirectory)

Modify d:\oracle\prodora\iAS\Apache\modplsql\cfg\wdbsvr.app

Modify d:\oracle\prodora\iAS\Apache\Apache\conf\httpd.conf

Restart Oracle Apache Server PROD_ service.

http://server:8000/pls/htmldb

Workspace: internal Username: ADMIN Password: password>

wdbsvr.app changes

Comment out:
;custom_auth = CUSTOM
OR
Add:
 Add the following to plsql.conf:

SetHandler pls_handler
Order deny,allow
Allow from all


Add to bottom:

[DAD_htmldb]
connect_string = PROD
;connect_string = localhost:1521:prod
password =
username = apex_public_user
default_page = apex
document_table = wwv_flow_file_objects$
document_path = docs
document_proc = wwv_flow_file_mgr.process_download
reuse = Yes
enablesso = No
stateful = STATELESS_RESET
nls_lang = American_America.US7ASCII

Note: There is a way to hide the password but leave it readable for now.
 

httpd.conf changes

Add to bottom:

#ApEx 2.2
Alias /i/ "D:\oracle\prodora\iAS\Apache\Apache\images/"
AddType text/xml xbl
AddType text/x-component htc

Installation Oracle Apps R12.0.4 on SUSE Linux Enterprise Server 9 - x86_64

Introduction
This document describes the installation for Oracle EBS R12.0.4 and includes information about:
1.Instructions for Installing this Release
2.List of all the configurations and access details
These instructions include information about:
1.System Requirements
2.Preparing for Installation
3.Pre-requisite Checks
4.Preparing the EBS R12 software for installation
5.Stage area creation
6.Installation using Rapidwiz
Oracle EBS R12 Architecture Introduction
This section describes the Oracle Applications architecture and some of the features that this architecture supports. The following topics are included:
• Overview
• The Desktop Tier
• The Application Tier
• The Database Tier
• The Oracle Applications Technology Layer
The Oracle Applications Architecture is a framework for multi-tiered, distributed computing that supports Oracle Applications products. In this model, various servers or services are distributed among three levels, or tiers.
A server (or services) is a process or group of processes that runs on a single machine and provides a particular functionality. For example, For example, Web services process
HTTP requests and Forms services process requests for activities related to Oracle Forms. The Concurrent Processing server supports data-intensive programs that run in the background.
Important: The term server, in the sense of a single process, is less appropriate in the Release 12 architecture. Where applicable, replacement terms such as services are used.
A tier is a logical grouping of services, potentially spread across more than one physical machine. The three-tier architecture that comprises an Oracle E-Business Suite installation is made up of the database tier, which supports and manages the Oracle database; the application tier, which supports and manages the various Applications components, and is sometimes known as the middle tier; and the desktop tier, which provides the user interface via an add-on component to a standard web browser.

Single node R12 Vision implementation was done in CESERP server, where the database tier and application tier are on the same node i.e. same machine - CESERP

System Requirement
Software Requirements
For release 12.0.4, Oracle EBS on Suse Linux 64 bit, download the software from Oracle E-delivery website located @ edelivery.oracle.com
1. Go to edelivery.oracle.com
2. Press Continue
3. Input Full Name, Company name, E-mail address, Select country
4. Tick two check boxes to accept Trial License and Export Licesnse Tems. Press Continue...
5. Select Product Pack as "E-Business Suite" , Select platform as "Linux Intel 64-bit" . Press "Go"
6. Select "Oracle E-Business Suite Applications Release 12.0.4 Media Pack for Linux x86-64-bit"
7. Press Continue
The following are other software requirements.
Install Maintenance Tools
The following maintenance tools must be installed on all machines, and their locations specified both in the PATH of the account that runs Rapid Install and in the PATH of the accounts that will own the database tier and application tier file systems.
ar
gcc
g++
ksh
ld
linux32
make
X Display Server
Use the following command to check the operating system version:
$ uname -r
Required Patches and Packages

Apply patch 4198954 for installing RPM packages on OS

Note: - RPM's can be downloaded from www.rpm.pbone.net

Apply all the required Packages (RPM’s)

apply all RPM's
rpm -Uvh .rpm
&
Check the Package version
rpm -q .rpm

To check RPM is installed or not
Rpm –qa

Required RPM packages on Suse Linux x86_64 bit
binutils-2.15.90.0.1.1-32.10.x86_64.rpm
binutils-32bit-9-200505232206.x86_64.rpm
compat-2004.7.1-1.2.x86_64.rpm
compat-32bit-9-200407011229.x86_64.rpm
compat-sles8-1.3-93.3.x86_64.rpm
db-32bit-9-200407011229.x86_64.rpm
db1-32bit-9-200407011229.x86_64.rpm
gcc-3.3.3-43.41.x86_64.rpm
gcc-c++-3.3.3-43.41.x86_64.rpm
glibc-2.3.3-98.61.x86_64.rpm
glibc-32bit-9-200512100800.x86_64.rpm
glibc-devel-32bit-9-200512100801.x86_64.rpm
gnome-libs-1.4.1.7-671.1.x86_64.rpm
gnome-libs-32bit-9-200407011229.x86_64.rpm
gnome-libs-devel-1.4.1.7-671.1.x86_64.rpm
libaio-devel-32bit-9-200407011229.x86_64.rpm
libgcc-3.3.3-43.41.x86-64.rpm
libstdc++-3.3.3-43.41.x86_64.rpm
libstdc++-devel-3.3.3-43.41.x86_64.rpm
libstdc++-devel-32bit-9-200407011229.x86_64.rpm
linux32-1.0-341.1.x86_64.rpm
make-3.80-184.1.x86_64.rpm
pdksh-5.2.14-780.7.x86_64.rpm
sysstat-5.0.1-35.7.x86_64.rpm
XFree86-devel-32bit-9-200512021458.x86_64.rpm
xscreensaver-4.16-2.6.x86_64.rpm
openmotif21-libs-32-bit-9-200511172351.x86_64.rpm
libaio-0.3.102-1.2.x86_64.rpm
libaio-devel-32bit-9-200502241149.x86_64.rpm (32-bit)
libaio-32bit-9-200502241149.x86_64.rpm (32-bit)
libaio-devel-0.3.102-1.2.x86_64.rpm

For installing these packages run ldconfig –v located in /sbin


For Oracle Enterprise Linux 4.0 and Red Hat 4.0, the openmotif version must be 2.1.30, and the package name must be in the following format: openmotif21-2.1.30.xxx. For example, openmotif-2.2.3.10.RHEL4.5 is not supported.

JDK 5.0 Requirements
The JDK version included in Oracle Applications Release 12 is JDK 5.0.04. The latest JDK 5.0 fixes a memory leak issue found on JDK 5.0.04. See Using Latest Update of JDK 5.0 with Oracle E-Business Suite Release 12 (OracleMetaLink Doc ID: 384249.1) for instructions on how to deploy the latest update of JDK 5.0 with your Oracle Applications Release 12 environment..
The following are other requirements for on OS
ulimit Value Settings
Verify that the owner of the Oracle Application Server and Oracle Database server file systems have the following 'ulimit' values:
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
max locked memory (kbytes, -l) unlimited
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
stack size (kbytes, -s) unlimited
cpu time (seconds, -t) unlimited
max user processes (-u) 73728
virtual memory (kbytes, -v) unlimited
Use the following command to check the ulimit settings:
$ ulimit –a

Note: If the current value for any parameter is higher than the value listed in the following table, then do not change the value of that parameter
Kernel Settings
Edit the /etc/sysctl.conf file to configure your kernel settings. following table lists the kernel settings for SUSE Linux Enterprise Server 9.0

Kernel.semmsl
256
Kernel.semmns
32000
Kernel.semopm
100
Kernel.semmni
142
Kernel.shmall
2097152
Kernel.shmmax
Half the size of the physical memory (in bytes), and at least 2147483648
Kernel.shmmni
4096
Kernel.msgmax
8192
Kernel.msgmnb
65535
Kernel.msgmni
2878
fs.file-max
65536
net.ipv4.ip_local_port_range
1024 65000
net.core.rmem_default
262144
net.core.rmem_max
262144
net.core.wmem_default
262144
net.core.wmem_max
disable_cap_mlock =
262144
1

Domain Name System (DNS) Resolver Parameters
Two Domain Name System (DNS) resolver parameters (timeout and attempts) are set by default to low values when the operating system is installed. These low values may cause attempted network connections to an Oracle database to fail. If this happens, add or update the following entries to these minimum settings in the /etc/resolv.conf file on each server node:
options attempts:5
options timeout:15

Host Names Settings
Verify that the /etc/hosts file is formatted as follows:
127.0.0.1 Localhost.localdomain localhost

.


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

* Hard nofile 65535
* Soft nofile 4096
* Hard nproc 16384
* Soft nproc 2047.

Restart the system after making changes
Note: If the current value for any parameter is higher than the value listed in this document, then do not change the value of that parameter
Following setting to be done in /home/oracle/.profile file
umask 022
export LD_ASSUME_KERNEL=2.6.5-7.244-smp
export ORACLE_HOME=/u01/oracle/orar12/db/tech_st/10.2.0
export ORACLE_SID=PPLVIS
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
Preparing for Installation
R12 EBS software
User creation
Oracle – Oracle user for Vision install
Applmgr - Application user for Vision install
Provide appropriate permissions (provide chmod 777 to the software directory).
Install Unzip (if the Unix m/c doesn’t have one)
1.Login as root
2.mkdir
$ cd /home
$ mkdir applmgr
$ mkdir oracle

3.useradd -p -g -d
make two users oracle,applmgr

useradd applmgr –p applmgr -g dba -d /home/applmgr
useradd oracle –p oracle -g dba -d /home/oracle

change owner --- chown –R :
(for both users)

chown -R applmgr : dba applmgr
chown -R oracle : dba oracle
FTP the files to the UNIX server CESERP to the software location.
For Rapid Install you need to download all the zip files belonging to the following parts:
Rapid Install Start Here
Rapid Install RDBMS
Rapid Install Databases
Rapid Install Tools
Rapid Install APPL_TOP
Unzip utility for Linux server can be downloaded from the below url http://updates.oracle.com/unzips/unzips.html
Instructions to install UnZip on UNIX platforms
1.Download the file and transfer it to the UNIX machine in binary mode.
2.Uncompress the file:
% uncompress unzip_
3.Put the file in a directory that is included in your PATH, typically /usr/bin or
/usr/local/bin.
4.Make sure that the file has execution permissions set. If not, run:
% chmod 751 unzip_
5.To unzip a file using this executable, just run:
% unzip_os
Creation of stage area
Do the staging using adautostg.pl and choose the option1.

It will ask for the CD Distributions. Enter the Disks as per the Distribution.
If the Release 12 installation is performed with the Rapid Install wizard. Before Installing ensure you have the latest Rapid Install patch
For R12.0.4 latest rapid install patch is 6796703
unzip the patch, this will create a folder ( startCD ). Copy this folder and paste it in the Stage area i.e., Overwrite the existing ( startCD ).
Create a new directory stage12 under /software with 777 permissions.
oracle@CESERP:~/software $ls -la
total 20
drwxrwxrwx 7 oracle dba 1024 May 26 16:25 stage12
Unzip every 12.0 Rapid Install zip files you downloaded, in the top-level Stage12 directory that you created earlier:
After unzipping all the files, validate that the stage area has a top-level directory stage12, with subdirectories startCD, oraApps, oraDB, oraAS, and oraAppDB.
oracle@CESERP:~/software/stage12 $ls -la
drwxrwxrwx 7 root root 232 2008-05-29 15:40 oraDB
drwxrwxrwx 50 root root 1264 2008-05-29 15:59 oraAppDB
drwxrwxrwx 5 root root 184 2008-05-29 16:00 oraAS
drwxrwxrwx 11 root root 328 2008-05-29 16:02 oraApps
drwxrwxrwx 7 root root 360 2008-05-29 16:27 startCD


We are all set to start the EBS installation using Rapidwiz.

Oracle EBS R12 Installation using Rapidwiz
1.Logging in to the System as root
CESERP:~ # who -am
root + pts/0 Jun 4 11:07 . 15827 (192.168.0.25)
CESERP:~ # export DISPLAY=192.168.0.25:0
CESERP:~ # xclock
2.Checking X Windows Console



If you are not able to set X Windows Console. Installation can be done through
X manager software. Installation screen can be visible through this software in desktop.
3.Launching the rapidwiz tool for installing the Oracle EBS R12
cd /Stage/R12/startCD/Disk1/rapidwiz # ./rapidwiz


Vision Database Requirements


The Vision Demo database provides a sample set of transaction data for a fictitious
Company (Vision Corporation). It uses most Oracle Applications products and is
Configured for multi-node systems. It is installed with the UTF8 (universal) character set
To maximize the number of supported languages.
A-8 Oracle Applications Installation Guide: Using Rapid Install
The init.ora file for the database is in the $ORACLE_HOME/dbs directory, and is called
init.ora.
Note: The sizes shown in the table are approximate, and may vary from
Platform to platform.
Vision Demo Database Tablespaces

APPS_TS_ARCHIVE Tables that contain archived
purge-related data
APPS_TS_INTERFACE Interface and temporary data and
Indexes
APPS_TS_MEDIA Multimedia objects, such as text, video,
sound, graphics, and spatial data
APPS_TS_NOLOGGING Materialized views not used for
summary management and temporary objects
APPS_TS_QUEUES Advanced Queuing and dependent
tables and indexes

APPS_TS_SEED Reference and setup data and indexes
APPS_TS_SUMMARY Summary management objects, such as
materialized views, fact tables, and other objects that record summary
information
APPS_TS_TOOLS Tools tablespace
APPS_TS_TX_DATA Tables that contain transactional data.
APPS_TS_TX_IDX Indexes on transaction tables
APPS_UNDOTS1 Automatic Undo Management (AUM) table space. UNDO segments are identical to ROLLBACK segments when AUM is enabled

Tablespace Description

CTXSYS Oracle interMedia
PORTAL Single Sign-On SDK
ODM_DATA Oracle Data Mining
OWAPUB Oracle Application Server
SYNCSERVER Mobile Server
SYSTEM System tablespace used by the Oracle database
TEMP Temporary tablespace 2000
The Vision Demo database uses the Multiple Organizations feature. The following table shows the operating units in the database. Responsibilities connect to one of these
operating units.

Vision Demo Database Operating Units
Operating Unit Username/Password
Vision Operations APPS/APPS
Vision Corporation APPS/APPS
Vision Industries APPS/APPS
Vision Services APPS/APPS
Vision Project Manufacturing APPS/APPS
Vision ADB APPS/APPS

Welcome Page URL:

http://host.domain:8000


References:


Oracle Applications Release Notes Release 12 –Metalink Doc id: 405293.1
Oracle Applications Installation and Upgrade Notes Release 12 (12.0.4) for Linux (64-bit) -- Metalink Doc id: 416305.1
Release 12 New Installation –Metalink Doc id: 414701.1
R12 installation document Part No. B31295-05 (120oaig.pdf) lists "Disk Space Requirements"

URL Contains One or More Restricted Characters

1. Remove '%3B' from context variable FORMS60_BLOCK_URL_CHARACTERS using autoconfig context editor or perform step 2 through step 5 below.
2. Comment out the value FORMS60_BLOCK_URL_CHARACTERS in apps.conf (recommendations from unpublished bug 5384705).
3. Bounce the Apache.
4. Run the compile security concurrent program with parameters "YES" , it will rebuild the fnd_forms_function table.
Go to the responsibility: System Administrator =>Navigate to Requests / Run =>Run Compile Security with parameter = Yes

5. Retest the issue and the 'Open Document' link should now work.
PERMANENT FIX:
The fix is delivered with Patch 5447522

Apache Check List

Note: Apache versions 1.3.9 and 1.3.12s have been de-supported

You can check your version by doing:

$IAS_ORACLE_HOME/Apache/Apache/bin/httpd –version

 1. Validate TNS Connectivity
a. Make sure you can TNSPING and sqlplus the database alias used from the APPL_TOP (i.e. after running APPSORA.env). Do:
Tnsping [Sid]
Sqlplus apps/appspassword
Sqlplus apps/appspassword @ [Sid]

Also, validate that APPLSYSPUB/PUB can connect

b. Change to the $IAS_ORACLE_HOME, run the [sid]_[host].env file.
This will set the $ORACLE_HOME to be iAS.
Now check that you can TNSPING and sqlplus the database alias.
2. Determine the DBC file in use and make sure it is valid:
a. (11.5.9+) Run the profile option query provided in Appendix A when prompted for profile_option_name enter: APPS_DATABASE_ID.
If this returns a value, then this is the DBC file name that Apps is expecting to use.
Otherwise do:
select host_name||'_'||instance_name from v$instance;

b. Validate the OS location & permissions of the dbc file. Do:
 ls –al $FND_SECURE/*.dbc (11.5.10+).
If $FND_SECURE is not set, then the dbc filebr> This should return the value from step 1ad.
The permissions on the file should be 644 and it should be owned my the “applmgr” user.

c. Verify the contents of the dbc file with the AdminAppServer utility. Do:
java oracle.apps.fnd.security.AdminAppServer appsun/appspw STATUS DBC=[path to dbc]/[dbc_name].dbc
This should return STATUS: VALID and the current status of AUTHENTICATION: [SECURE/ON/OFF/null] among other values.

d. Validate the autoconfig context file (11.5.8+) uses the correct dbc file. Your context file is located in $APPL_TOP/admin and is typically named [SID]_[host].xml. Review the value for s_dbc_file_name, it should match the dbc just tested in 1c.
If any of this errors you should run autoconfig and/or $COMMON_TOP/admin/install/adgendbc.sh appsus appspw and retest (this will require iAS restart)


3. Is the web server running and able to render static html?
a. Are you able to access the page:
http:// :/aplogon.html
b. If not, then do:
ps –fu [applmgr] | grep http
(or ps –fu [applmgr] | grep http  | wc –l )
This should return at least 5 http processes running … otherwise you webserver may not be started…Make sure you are using the Oracle provided start script in:
$COMMON_TOP/admin/scripts/[SID]_[host]
If these tests fail you need to review your iAS installation and/or log a TAR.


4. (11.5.2-11.5.9) Check that the CGI environment and mod_plsql is functioning
a. Run the following URL:
http://:/pls//FND_WEB.PING
If you are unable to run the procedure below because of an 'internal error' or a 'cannot find host' or a similar error, then it could indicate that there is a problem with the PLSQL Configuration. Failures here may indicate problems with mod_plsql…Follow Note 116715.1 - How to Enable Logging for the PL/SQL Gateway. Redo the test and log a tar with the logs attached.
Or this may be a result of a RDBMS issue (For example - invalid packages, rdbms crashed)…See RDBMS section below.
b. Validate the APPS password used by the plsql gateway.
The password may be stored as clear text as a parameter (password= APPSpw) in
$IAS_ORACLE_HOME/Apache/modplsql/cfg/wdbsvr.app
If the password is encrypted in the file, update the parameter:
administrators = system
to be
administrators = all 
Then navigate to:
http://:/pls//admin_/
Select the Gateway Database Access Descriptor Settings link
Select the Edit icon next to the Database Access Descriptor Name which matches your SID
Make sure the Oracle User Name = APPS
Enter the Apps user password in the Oracle Password field.
Make sure the Oracle Connect String is the SID for the instance.
If you made any changes here you will have to review your autoconfig context file to make sure the changes are permanent.
(11.5.10) After validating the above items, you may still get 'Forbidden - You don't have permission to access /pls//fnd_web.ping' on this server.” This may be by design for enhanced security. Please skip to the next test.
5. Ensure that JDK is installed correctly & is a certified version.
a. Get the value of wrapper.bin in:
$iAS_ORACLE_HOME/Apache/Jserv/etc
This will either point directly to the java executable in use or to $iAS_ORACLE_HOME/Apache/Apache/bin/java.sh. If this points to the java.sh go to step 5b…otherwise skip to step 5c.

b.Open the java.sh File under $iAS_ORACLE_HOME/Apache/Apache/bin. In this file and you will find path to java executable in variable "JSERVJAVA"

c. Use the absolute path to the java executable and do:
/absolute/path/to/java –version
e. Check that the version returned is certified by using the certify website on Metalink. Assuming this returns a supported version of JDK. Use the following notes to validate your JDK installation (i.e. that all required patches, autoconfig templates, etc have been completed):
Note 304099.1 => if using J2SE Version 5.0
Or
Note 246105.1 => if using J2SE 1.4
OR
Note 130091.1 => if using JDK 1.3
6. Use the following programs to verify the installation and check that the servlets are functioning.
a. http(s)://:/servlets/IsItWorking
(11.5.10) This may fail with:
Forbidden You don't have permission to access /servlets/IsItWorking on this server.
This is due to enhanced security delivered with the autoconfig templates.
Please try test 4b instead.
b.http(s)://:/servlets/Hello
If this one fails, this indicates an issue with your Jserv set-up. You then need to follow Note 230688.1 to drill down into this problem.

7. Validate that jsp work.
a. http(s)://:/OA_HTML/jsp/fnd/aoljtest.jsp
If this one fails to render, this indicates an issue with your Jserv set-up. You then need to follow Note 230688.1 to drill down into this problem.Otherwise you enter the values requested, and follow the link at the bottom of the first page to run through this set of diagnostic tests. Report all tests that fail in a TAR.
Note: The initial page of this test may show some "missing" files.
Depending on your configuration the following missing files are acceptable:
apps.zip (is normal to be missing since it has been exploded on $JAVA_TOP (ref : Note 220188.1 ))
iAS/mp/jlib/opreopi-rt.jar (Used for Oracle Personalization. Can be ignored if you are not using MP.)
iAS/mp/jlib/dmtutil.jar (Used for Data Mining)
iAS/dm/jlib/odmapi.jar (Used for Data Mining - If you are using Data Mining, and these are listed as missing, please see Note 281739.1 )
iAS/portal30/jpdk/lib/partnerApp.jar (If you are not using Portal, this can be ignored.)

8. Check the "session.topleveldomain" setting in the
$IAS_ORACLE_HOME/Apache/Jserv/etc/zone.properties
This should match the domain you are using as defined in the SESSION_COOKIE_DOMAIN column in ICX_PARAMETERS table.
From sqlplus do:
select SESSION_COOKIE_DOMAIN from ICX_PARAMETERS;
Notes: It is acceptable to have SESSION_COOKIE_DOMAIN set to null
You MUST have a valid domain that is composed of 2 or more components (see Bug 2510732). I.e: .oracle is an INVALID domain, but .oracle.com IS a valid domain.

Environment Checks
9. Check the profile options

APPS_FRAMEWORK_AGENT (Application Framework Agent), APPS_JSP_AGENT (Applications JSP Agent), APPS_SERVLET_AGENT (Apps Servlet Agent), APPS_WEB_AGENT (Applications Web Agent)…And for ICX_FORMS_LAUNCHER (ICX: Forms Launcher), POR_SERVLET_VIRTUAL_PATH (POR: Servlet Virtual Path), GUEST_USER_PWD (Guest User Password)

Application Framework Agent should be of the format:
http://myHost.myDomain.com:8000

Applications JSP Agen 
http://myHost.myDomain.com:8000

Applications Web Agent should be of the format:
http://myHost.myDomain.com:8000/pls/SID

Apps Servlet Agent should be of the format:
http://myHost.myDomain.com:8000/oa_servlets

POR: Servlet Virtual Path should be of the format:
oa_servlets

ICX: Forms Launcher should be of the foomain.com:8000/dev60er Password should match the GUEST_USER_PWD value in the DBC file (see step 2)

For a basic single node install these should be set at the site level and should all be pointing at the same server. For a load balanced or a DMZ setup, this may vary. See Note 217368.1 and Note 287176.1 for more details on these advanced configurations.

Internet Explorer can give 'Your session is no longer valid' if the domain name is not specified in these profile options or in the login URL. You MUST have a valid domain that is composed of 2 or more components (see Bug 2510732). I.e. apps.oracle is an INVALID host.domain combination, but apps.oracle.com IS a valid host.domain.


select p.profile_option_name SHORT_NAME, n.user_profile_option_name NAME,
decode(v.level_id,

10001, 'Site',

10002, 'Application',

10003, 'Responsibility',

10004, 'User',

10005, 'Server',

10007, 'SERVRESP',
'UnDef') LEVEL_SET,
decode(to_char(v.level_id),

'10001', '',

'10002', app.application_short_name,

'10003', rsp.responsibility_key,

'10005', svr.node_name,

'10006', org.name,

'10004', usr.user_name,

'10007', 'Serv/resp',
'UnDef') "CONTEXT",
v.profile_option_value VALUE
from fnd_profile_options p,
fnd_profile_option_values v,
fnd_profile_options_tl n,
fnd_user usr,
fnd_application app,
fnd_responsibility rsp,
fnd_nodes svr,
hr_operating_units org
where p.profile_option_id = v.profile_option_id (+)
and p.profile_option_name = n.profile_option_name
and upper(n.user_profile_option_name) like upper('%&profile_name%')
and  usr.user_id (+) = v.level_value
and  rsp.application_id (+) = v.level_value_application_id
and  rsp.responsibility_id (+) = v.level_value
and  app.application_id (+) = v.level_value
and  svr.node_id (+) = v.level_value
and  org.organization_id (+) = v.level_value
order by short_name, level_set;


10. Is the system in Maintenance Mode?
Run the following sql to verify:
Select fnd_profile.value ('APPS_MAINTENANCE_MODE') from dual;
If this returns Y, then run adadmin to disable maintenance mode (see Note 291901.1)
11. Check browser settings:
a. Ensure your browser has cookies enabled.
In Netscape this can be checked from Edit -> Preferences -> Advanced.
In Internet Explorer, this can be checked from Tools -> Internet Options -> Security 
Then select the correct zone for your Web Server and click on 'Custom Level'
Scroll down to the 'Cookies' section. Oracle Applications uses 'per-session' cookies.

It is worth verifying the same problem occurs in both IE and Netscape.
Try setting the cookies setting to "prompt" to ensure they are being set correctly.

b. With Internet Explorer, you must add your Web Server to the list of 'trusted sites'. You must enter the fully qualified hostname (hostname, plus domain name) of the Release 11i HTTP server node or nodes in the "Trusted sites" security zone and you must leave the security level of that zone at its default setting of Low. Security levels are set on the Security tab of the Internet Options window.
12. Are there any uncommitted changes in your Autoconfig context file? Run:
$AD_TOP/bin/adchkcfg.sh
This will create output in:
$APPL_TOP/admin/[SID]_[host]/out/[timestamp]
Review the report for any pending changes. Run autoconfig (see Note 165195.1) as required.
RDBMS Checks
1. Check the GUEST user information.
a. Run following SQL:
select user_name, start_date, end_date
from  fnd_user
where  user_name = 'GUEST';
This should return one row, end_date should be NULL or in advance of today's date, and start_date should be before today's date.
b. Validate the GUEST username/password combinations from the DBC file.
Using the GUEST_USER_PWD value in the DBC file (see step 2) run the following sql:
select fnd_web_sec.validate_login('GUEST',' ') from dual ;
This should return Yes
If this returns N, then do:
select fnd_message.get from dual;
This should give a reason why the validation failed, or an error message. If this fails with a database error, confirm the problem is not specific to the GUEST user. Redo the SQL command  with a different userid (like sysadmin)
select fnd_web_sec.validate_login('SYSADMIN','') from dual;
Again, this command should return 'Y' if it is working OK. If not, you should reload the jar files to the database using adadmin.
2. Run the following script to ensure there are no invalid objects:
select owner, object_name, object_type
from  all_objects
where  status != 'VALID'
order by owner, object_type, object_name;
Ideally, this should return no rows, but some invalid objects may be acceptable, depending on what they are.
3. Review your Alert.log.
Does the RDBMS alert log show any errors? What are they? Report them in a TAR.
4. Review any database trace files.
cd to the directory specified by user_dump_dest in the init.ora file.&nbttempt at login may create a .trc file
5. Validate the FND_NODES table:
Run the following sql:
Select NODE_NAME, NODE_ID, SERVER_ID, SERVER_ADDRESS from FND_NODES;

Each SERVER_ID and NODE_ID should be unique.
The Node Name for all servers involved for the instance should appear here. We typically expect this to be e hostname or virtual hostname (alias), not the IP address. If the servers do not appear, use OAM to register them.
The SERVER_ADDRESS is optional, but if present should reflect the IP of the host. If necessary, update the IP using the system administrator responsibility.


For 11.5.2 – 11.5.9 this should return 56 rows.
For 11.5.10 this should return 131 rows.
(11.5.10+) Note: in 11.5.10 the required plsql patckages can be quickly enabled using the script: $FND_TOP/patch/sql/txkDisableModPLSQL.sql Y

6. Validate the FND_ENABLED_PLSQL table Run the script in Appendix B. For 11.5.2 – 11.5.9 this should return 56 rows. For 11.5.10 this should return 131 rows. (11.5.10+) Note: in 11.5.10 the required plsql packages can be quickly enabled using the script: $FND_TOP/patch/sql/txkDisableModPLSQL.sql Y :
7. Validate the 'ICX_SESSIONS_S' synonym
This should be shown as owned by ICX, if not, drop the synonym and run adadmin to regenerate grants and synonyms.
8. Ensure ICX module is showing as an "Installed" module.
Run "adutconf.sql" to check this, particularly important to check if migrating to 11i from previous release of Applications.
9. Validate the ICX_PARAMETERS table.
Run the following SQL:

select count(*) from icx_parameters;
This should only return one row.

10. Check for Bug 3275654
Run the following SQL:

SELECT c.function_id, nvl(b.prompt,c.user_function_name) prompt,c.TYPE,a.menu_id from
fnd_responsibility_vl a,
fnd_menu_entries_vl b,
fnd_form_functions_vl c
where a.responsibility_id=21584
and a.menu_id=b.menu_id
and b.function_id=c.function_id
and c.type in ('WWW','WWK','SERVLET','JSP','FORM','INTEROPJSP');

This should only return one row. If not, apply Patch 3275654

11. Oracle 8i ONLY do the following sql:
select fnd_crypto.SmallRandomNumber from dual;
If this errors with: ORA-28235: algorithm not available
Then make sure you have the file $ORACLE_HOME/lib/naeet.o (7112 bytes) in place.
If not, you need to get the file from a known good source (like another instance or from the CD). Again use the size of the file to validate. Next relink the Oracle Executables:
cd $ORACLE_HOME/rdbms/lib
make -f ins_rdbms.mk install
$ORACLE_HOME/bin/genclntsh.sh



OA Framework Checks
These are only applicable to OA Framework 5.7 and above. (11.5.9+)

1. Disable all personalizations on the homepage
Run the following sql:
set serverout on;
exec jdr_utils.listcustomizations(‘/oracle/apps/fnd/framework/navigate/webui/HomePG’);
If this returns any rows then you have personalizations.
Disable your personalizations by logging into forms directly and setting the profile option: Disable Self Service Personal = Yes. Then retest the login. If the homepage works, you need to remove your “bad” personalization. See Note 304670.1

2. You can turn on OA Framework diagnostics logging in several ways Please refer to Note 139863.1, section 4 Profile Options Reference for more information, if required. Set the following profile options at USER level for one Applications user. It is important this is setup for one user only. You can launch Core Forms directly to gain access to the profile options, as you may not be able to login if you are reading this note!
Name  Value
---------------------------------------------
FND: Debug Log Enabled  Yes
FND: Debug Log Filename  /tmp/OAF_Debug.txt
FND: Debug Log Module  %
FND: Debug Log Level  STATEMENT
Login to Applications using the Apps Username you specified above. Any error or problem you experience will still occur, but the file /tmp/OAF_Debug.txt should be created with some diagnostics information. Please upload this file to Oracle Support for further analysis. After you have created this diagnostics file, you should disable logging by setting the USER level profile option listed below:
Name  Value
---------------------------------------------
FND: Debug Log Enabled  No


Detailed checks
Note: It is recommended that you have a current backup your system and have no users on the system while performing these checks/tests

1. Enable detailed logging in IAS

Setting up detailed logging on the web server:

1.Shut the HTTP Server (Apache/iAS) down. - You can grep for the 'httpd' process to verify it is down
2. Rename (or delete) the following files so we get a fresh copy of them:

/Apache/Jserv/logs/jserv.log

/Apache/Jserv/logs/forms.log

/Apache/Jserv/logs/mod_jserv.log

/Apache/Jserv/logs/jvm  (the whole directory if it exists)

/Apache/Apache/logs/access_log*

/Apache/Apache/logs/error_log

/Apache/Apache/logs/error_log_pls (if it exists)

Now we will turn
on debugging in the log files:

3. Modify the $IAS_ORACLE_HOME/Apache/Jserv/etc/jserv.conf file. Search for the parameter:

ApJServLogLevel notice
Change the 'notice' to 'info'

4. Modify the $IAS_ORACLE_HOME/Apache/Jserv/etc/jserv.properties file. Search for the following section:

log=false
Change this to be log=true
and
Change

log.channel=false
To be: log.channel=true

5. Modify the $IAS_ORACLE_HOME/Apache/Jserv/etc/forms.properties file. Search for the following section:

log=false
Change this to be log=true
and  Change:

log.channel=false
To be  log.channel=true

6. Modify the $IAS_ORACLE_HOME/Apache/Apache/conf/httpd.conf file. Search for:

LogLevel
Set the LogLevel to 'info' from its current value.

7. Modify the $IAS_ORACLE_HOME/Apache/Apache/conf/httpd_pls.conf file (if it exists). Search for the following parameter

LogLevel
Set the LogLevel to 'info' from its current value.

8. Modify the:
$IAS_ORACLE_HOME/Apache/modplsql/cfg/wdbsrv.app
add
the line:
debugModules=Info
immediately after the line:
custom_auth  = CUSTOM

9. Start the HTTP Server.

10. Run a test to recreate the error


2. Temporarily enable iAS to use symbolic links.
Replace all occurrences of
'Option -FollowSymLinks'
 for
'Option +FollowSymLinks'
in
$IAS_ORACLE_HOME/Apache/Apache/conf/httpd.conf
and
$IAS_ORACLE_HOME/Apache/Apache/conf/httpd_pls.conf
and bounce apache. If this is the issue, you should then go back and implement the changes via autoconfig. The value from this is controllable from your Apps Context, see s_options_symlinks.

3. Clear the iAS cache.
To clear the jsp & modplsql caches either renames or deletes the sub-directories below following directories and restart apache. This will clear out the compiled JSP classes and cached modplsql modules causing them to be automatically recompiled next time they are accessed.
rm -Rf $OA_HTML/_pages/*
rm -Rf $COMMON_TOP/_pages/*
rm -Rf $IAS_ORACLE_HOME/Apache/modplsql/cache/*
Note: Depending on your configuration and patch level all directories may not exist.


4. Check the sqlnet.ora setup in the database Oracle Home. Edit the
$ORACLE_HOME/network/admin//sqlnet.ora
Is tcp.validnode_checking enabled (i.e. = yes)? If so, make sure the parameter tcp.invited_nodes contains an entry for all the nodes involved in your configuration. This parameter, in conjunction with tcp.validnode_checking determines which clients can connect to the database.
Or you can temporarily disable node checking by removing the tcp.validnode_checking and retest. This is enabled for security reasons.


5. Modify AppsLocalLogin.jsp to trap exceptions.
If you get java error while using the login page like NoClassDefFound or NullPointerException, we need to trap the context of the message.
Backup and edit your:
$OA_HTML/AppsLocalLogin.jsp.
On the line that reads
} catch(Exception e) {}
Change to:
} catch(Exception e) {
} catch(Throwable t) {
System.err.println("OSS: Caught throwable in AppsLocalLogin.jsp : " +
t.toString()); t.printStackTrace();
}
Then bounce Apache and reload the page and more detail should show up in the OACoreGroup.0.stderr file.
< status of the Server Security, which was verified in step 2c, is anything other then OFF, try toggling the current setting to see if the nature of the problem changes. Use the following command to temporarily disable the Security Server



After bouncing the apps services and retesting it is important to re-enable the Security.
Use the command:
java oracle.apps.fnd.security.AdminAppServer appsun/appspw AUTHENTICATION ON DBC=


6. Check file permissions are not causing any problems.
Check file permissions are appropriate. In particular, the liboci806jdbc.so (.sl on HP, .DLL on NT) shared library should have read, write and execute permissions. It may be advisable to temporarily change all permissions in $JAVA_TOP to read, write and execute to see if it resolves the problem. On UNIX, you can use the command 'chmod -R 777 $JAVA_TOP', assuming $JAVA_TOP has been set correctly in your environment.


7. Regenerate JAVA_TOP:
Ensure you have a full backup of your system! To run this process, run adadmin and select Maintain Applications Files then Copy Files to Destinations.


8. Generate database trace and SQL*Net traces.
To set-up SQL*Net Trace on the Web Server set
TRACE_LEVEL_CLIENT = 16
in the
$TNS_ADMIN/SQLNET.ORA
file. This should be in the iAS file system and not in the 8.0.6. Oracle Home. By default the SQL*Net trace file will be called 'sqlnet.trc'.

Important:
a.From "$IAS_TOP/Apache/Apache/logs" check the error_log and the access_log
b.From "$IAS_TOP/Apache/JServ/logs" check the mod_jserv.log and the jserv.log 

Check the error_log, jserv.log or mod_jserv.log files for errors

11i Basic Apache/mod_jserv troubleshooting with Hello.class Note: 230688.1

Troubleshooting Login Problems in Oracle Applications 11i (11.5.2 – 11.5.10+) Note: 342332.1

Oracle 10g Background processes

- ARCn : (ASM) Rebalance working process , it rebalances extents.

- Orb: Rebalance ASM data extent movements. There can be many of this at the same time.

- RBAL: This is the ASM Rebalance Master disk manager, open all disks under each disk group and make them
available to the various clients. It also creates the rebalance plan to move extents.

- OSMB: (ASM) helps to manage the drive storage.

- ASMB: (ASM) Responsible to communicate the database Instance to the ASM Instance provides the heartbeat to the ASM instance.

Server Side Optional

- RECO: Helps to recover distributed Transactions.

- ORA_CJQ0_: Job queue coordinator checks the log and spawns J### processed

- QMNC: AQ Coordinator, used to manage Oracle Streams Advance Queuing.

- ARCH, ARCn: Copies redo logs to archive logs destination.

- CTWR: Block Change Tracking Writer.

- ORA_D###_: Oracle Dispatchers processed

- ORA_J###_: Job queue process

- ORA_MMAN_: Memory manager, used for the manager of the automatic shared memory.

- ORA_MMNL_: Helps collecting metrics and information about sessions.

- ORA_MMON_: On charge of collecting stats.

- ORA###_: Dedicated server (user process).

- ORA_RVWR_: Recovery Writer (Flashback Database).

- ORA_S###_: Oracle Shared Server Process (Multi Threaded Server)

- ORA_P###_: Parallel Query Slaves Process

- ORA_LNS#_: Network Server.

Other Processes

- ORA_AQ_: Sends notifications when messages arrive into the queues (Advance Queue).

- ORA_Q###_: Queue Process.

- ORA_DMON_: Data Guard Broker Process.

- ORA_SNP###_: Snapshot process (Data Guard).

- ORA_TRWR_: Advance Queuing Time Manager.

- ORA_WMON_: Wakeup monitor process.

Undocumented Server Side Extra

- ORA_FMON_: Manage mapping information when using FILE_MAPPING

Standby Mode

- ORA_LSP0_: Logical Standby

- ORA_LSP1_: Dictionary builds process for Logical Standby

- ORA_LSP2_: Set Guard Standby information for logical Standby.

- ORA_DMON_: Data Guard Broker Monitor Process.

- ORA_RSM#_: Data Guard Broker Resource Guard process.

- ORA_INSV_: Data Guard Broker Instance slave process

- ORA_NSV#_: Data Guard Broker Net Slave Process.