In the fusion applications oracle had come up with two database for the OAM[single sign on] and the OID [oracle internet directory]
now the user details are stored in the separate database not in the transnational database which holds the real data
There is a fourth optional database known as the datawarehoue database for the fusion applications when you are using the fusion applications BI
Holds the schema's of the different domains in which all the translation data's are stored
It is recommended to go with the three server architecture with out datawarehouse database
Which hold's the oracle Identity management database's [OID and OAM] with the IDM web logic middle ware
It can be done with the two server arrchicture as we can install the IDM database and the Fusion application database and the IDM web logic in the single server and fusion applications in the another server
Check the prerequisits for creating the fusion app database and the idm database
These are the rpm's which is mandatory to install the oracle database in the Linux environment the Rpm version numbers may slightly change according to the Linux version you are using
1] binutils-2.17.50*
2] compat-libstdc++-33-3.2.3-61*
3] elfutils-libelf-*
4] glibc-2.5-81.el5_8.2.
5] glibc-common-2.5-81.el5_8.2.
6] ksh-20100621-5.el5_8.1
7] libaio-0.3.106-5.x86_64
8] libgcc-4.1.2-52.el5_8.1
9] libstdc++-4.1.2-52.el5_8.1
10]libstdc++44-devel.x86_64
11]glibc-headers-2.5-81.el5_8.2.x86_64
12] sysstat-7.0.2-11.el5.x86_64
13] unixODBC-devel-2.2.11-10.el5
14]unixODBC-2.2.11-10.el5
15]unixODBC-libs-2.2.11-10.el5
16]gcc-c++-4.1.2-52.el5_8.1.x86_64
17]kernel-headers.x86_64
18] glibc-devel-2.5-81.el5_8.2.
19] libgomp-4.4.6-3.el5.1
20] make-3.81-3.el5.x86_64
21]openmotif22-2.2.3-20
22]openmotif-2.3.1-6.1.el5_8
23]xorg-x11-utils
Query to conform all the rpms are installed
rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep <rpm name>
1] rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" |grep binuti
binutils-2.17.50.0.6-20.el5_8.3 (x86_64)
binutils-devel-2.17.50.0.6-20.el5_8.3 (i386)
binutils-devel-2.17.50.0.6-20.el5_8.3 (x86_64)
binutils220-2.20.51.0.2-5.29.el5 (x86_64)
2]
rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" |grep compat-libstdc++
compat-libstdc++-33-3.2.3-61 (x86_64)
compat-libstdc++-33-3.2.3-61 (i386)
compat-libstdc++-296-2.96-138 (i386)
3]
rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" |grep elfutils-libelf-
elfutils-libelf-devel-0.137-3.el5 (x86_64)
elfutils-libelf-0.137-3.el5 (x86_64)
elfutils-libelf-devel-static-0.137-3.el5 (i386)
elfutils-libelf-0.137-3.el5 (i386)
elfutils-libelf-devel-0.137-3.el5 (i386)
elfutils-libelf-devel-static-0.137-3.el5 (x86_64)
4]
rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" |grep glibc-2.5-81.el5_8.2
glibc-2.5-81.el5_8.2 (x86_64)
glibc-2.5-81.el5_8.2 (i686)
5] rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" |grep glibc-common
glibc-common-2.5-81.el5_8.2 (x86_64)
6] rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" |grep ksh
ksh-20100621-5.el5_8.1 (x86_64)
7]
rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" |grep libaio-
libaio-0.3.106-5 (x86_64)
libaio-devel-0.3.106-5 (i386)
libaio-devel-0.3.106-5 (x86_64)
libaio-0.3.106-5 (i386)
8] rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" |grep libgcc
libgcc-4.1.2-52.el5_8.1 (x86_64)
libgcc-4.1.2-52.el5_8.1 (i386)
compat-libgcc-296-2.96-138 (i386)
9] and [10] rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" |grep libstdc++
libstdc++-4.1.2-52.el5_8.1 (i386)
libstdc++-devel-4.1.2-52.el5_8.1 (i386)
compat-libstdc++-33-3.2.3-61 (x86_64)
compat-libstdc++-33-3.2.3-61 (i386)
compat-libstdc++-296-2.96-138 (i386)
libstdc++-devel-4.1.2-52.el5_8.1 (x86_64)
libstdc++44-devel-4.4.6-3.el5.1 (x86_64)
libstdc++-4.1.2-52.el5_8.1 (x86_64)
libstdc++44-devel-4.4.6-3.el5.1 (i386)
11] rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" |grep glibc-headers
glibc-headers-2.5-81.el5_8.2 (x86_64)
12] rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" |grep sysstat-
sysstat-7.0.2-11.el5 (x86_64)
13] [14] [15]rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" |grep unixODBC
unixODBC-devel-2.2.11-10.el5 (x86_64)
unixODBC-2.2.11-10.el5 (x86_64)
unixODBC-libs-2.2.11-10.el5 (x86_64)
unixODBC-2.2.11-10.el5 (i386)
unixODBC-libs-2.2.11-10.el5 (i386)
unixODBC-devel-2.2.11-10.el5 (i386)
16] rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" |grep gcc-c++
gcc-c++-4.1.2-52.el5_8.1 (x86_64)
17] rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" |grep kernel-headers
kernel-headers-2.6.18-308.8.2.0.1.el5 (x86_64)
18]rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" |grep glibc-devel
glibc-devel-2.5-81.el5_8.2 (i386)
glibc-devel-2.5-81.el5_8.2 (x86_64)
19] rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" |grep libgomp
libgomp-4.4.6-3.el5.1 (i386)
libgomp-4.4.6-3.el5.1 (x86_64)
20] rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" |grep make
make-3.81-3.el5 (x86_64)
21] [22] rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" |grep openmotif
openmotif22-2.2.3-20 (x86_64)
openmotif-devel-2.3.1-6.1.el5_8 (x86_64)
openmotif22-2.2.3-20 (i386)
openmotif-devel-2.3.1-6.1.el5_8 (i386)
openmotif-2.3.1-6.1.el5_8 (i386)
openmotif-2.3.1-6.1.el5_8 (x86_64)
23] rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" |grep xorg-x11-utils
xorg-x11-utils-7.1-2.fc6 (x86_64)
If any of the rpm's are not installed then use the yum install to install the particular rpm and check again
4] creating the O/S user and groups for the necessary installation
Here we explained the structure for the two node and the three node arrchicture for the fusion applications
for three node arch For two node arch
server1 [node1] Server1 [node1]
fusion database Fusion database,IDM database's IDMDomain
server2 [node2] Server2 [node2]
IDM database's and IDM domain Fusion Applications
server3 [node3]
Fusion applications
Creating o/s username and group's for the fusion applications database
1] oracle fusion applications database
2]Oracle OID database
3]Oracle Access manager database
Creating the Group names
groupadd oinstall
groupadd dba
we have create two groups know as the oinstall and the dba the oinstall will be the primary group and the dba will be the secondary group for the database's
If you are suing the ASM create the asm groups
groupadd asmadmin
groupadd asmoper
groupadd asmoper
if you are using the file system ignore this groups
To Create Users for the database
useradd grid -g oinstall -G dba, asmoper, asmadmin ,asmdba -- [if you are using the asm]
useradd oraidm -g oinstall -G dba --[IDM database o/s user]
useradd oraoam -g oinstall -G dba --[OAM database o/s user]
useradd oracle -g oinstall -G dba --[fusiondb database o/s user]
useradd fmwidm -g oinstall -G dba --[oraweblogic IDM Domain o/s user]
useradd orafapp -g oinstall -G dba --[fusion applications username]
The small g is used to specify the primary group of the user and the G is used to specify the Other groups which the user is assigned to
[root@fa ~]# id oraidm
uid=54322(oraidm) gid=54321(oinstall) groups=54321(oinstall),54322(dba)
[root@fa ~]# id oraoam
uid=54323(oraoam) gid=54321(oinstall) groups=54321(oinstall),54322(dba)
[root@fa ~]# id oracle
uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba)
[root@fa~]# id grid
uid=54324(grid) gid=54321(oinstall)groups=54321(oinstall),54322(dba),54333(asmadmin),54334(asmdba),54335(asmoper)
If You have the wrong group combinations then use the usermod command to modify the user group to match all the remaining users
usermod -g oinstall -G dba oraoam
5]Creating the Directory and mount to the label and change the owner to the oracle Users
For creating the directory and mount to the appropriated label please refer to the previous post
http://orafapp.blogspot.com/2012/06/mounting-partitions-in-oracle-linux.html
http://orafapp.blogspot.com/2012/06/installing-oracle-11gr2-database-in.html
mkdir /u01/app/oracle -p
mkdir /u02/app/oracle -p
mkdir /u03/app/oracle -p
mkdir /u04/app/oracle -p
There are three directories which is to be owned by the oracle database users here we are going to install three database in the same machine..
and the fourth directory is used to install the IDM Domain
if you are installing with the three servers then you can create only one directory
/u01/app/oracle in the fusiondb linux box and remaining three in the IDMbox
chown command is used to change the owner of the particular directory or file
Server 1
[root@fah ~]# chown oracle:oinstall /u01/app/oracle --[Installing Location of the Fusionapp db]
[root@fah ~]# chown oraidm:oinstall /u02/app/oracle --[Installing Location of OID db]
[root@fah ~]# chown oraoam:oinstall /u03/app/oracle --[Installing Location of OAM db]
[root@fah ~]# chown orafmw:oinstall /u04/app/oracle --[Installing Location Of IDM Domain]
Server 2 [for fusion applications installation]
[root@fah ~]#chown orafapp:oinstall /u05/app/oracle -- [Installation location of the fusion applications ]
chmod command is used to change the file permissions to the file system
we have to assign the write permission to the group for all the user's
[root@fah]# cd /u01/app
[root@fah]# chmod 765 oracle
[root@fah]# cd /u02/app
[root@fah]# chmod 765 oracle
[root@fah]# cd /u03/app
[root@fah]# chmod 765 oracle
[root@fah]# ll /u0*/app
now the owner has the full access read write and execute to the file system and the group had the read and write and other's has read and execute
6] Open file Limits for the users
To set the open file limits go the /etc/security/limites.conf
Set the open below parameters in the limites .conf we can use the wild card to match multiple users when we are installing the fusion applications
* soft nproc 131072
* hard nproc 131072
* soft nofile 327679
* hard nofile 327679
* soft stack 131072
7] Init Parameters for the fusion applications database
[1] audit_trail string NONE
Desc :audit trail is set to be none for disable the database auditing
[2] plsql_code_type string NATIVE
Desc: we need to set the value to the NATIVE PL/SQL library units (with the possible exception of top-level anonymous PL/SQL blocks) will be compiled to native (machine) code. Such modules will be executed natively without incurring any interpreter overhead.
[3] nls_sort string BINARY
Desc :Setting NLS_SORT to anything other than BINARY causes a sort to use a full table scan, regardless of the path chosen by the optimizer. BINARY is the exception because indexes are built according to a binary order of keys. Thus the optimizer can use an index to satisfy the ORDER BY clause when NLS_SORT is set to BINARY. If NLS_SORT is set to any linguistic sort, the optimizer must include a full table scan and a full sort in the execution plan Nls_sort is set to Binary for the improved performance of the ORDER BY quires
[4]open_cursors integer 1000
Desc: OPEN_CURSORS
specifies the maximum number of open cursors (handles to private SQL areas) a session can have at once. You can use this parameter to prevent a session from opening an excessive number of cursors ..no of Cursors open is set to be 500 to 1000 according to you environment
[5]session_cached_cursors integer 1000
DESC : Recommended value for the parameter is 500 to 1000 according to the env
Specifies the number of session cursors to cache. Repeated parse calls of the same SQL statement cause the session cursor for that statement to be moved into the session cursor cache. Subsequent parse calls find the cursor in the cache and do not reopen the cursor. Oracle uses a least recently used algorithm to remove entries in the session cursor cache to make room for new entries when needed.This parameter also constrains the size of the PL/SQL cursor cache that PL/SQL uses to avoid having to re-parse as statements are re-executed by a user
[6]
processes integer 5000
Desc : The recommended vale for the process is 5000 for fusion database and 2500 for idm database's
Sets the maximum number of operating system processes that can be connected to Oracle concurrently. The value of this parameter must account for Oracle background processes. SESSIONS parameter is deduced from this value
[7]star_transformation_enabled string FALSE
Desc recommended value is False Determines whether a cost-based query transformation will be applied to star queries
[8] query_rewrite_integrity string enforced
Desc QUERY_REWRITE_INTEGRITY determines the degree to which Oracle must enforce query rewriting. At the safest level, Oracle does not use query rewrite transformations that rely on unenforced relationships.
Determines whether a cost-based query transformation will be applied to star queries
we need to set the value as Enforced as it guarantees consistency and integrity
[9]parallel_max_servers integer 640
Desc :PARALLEL_MAX_SERVERS specifies the maximum number of parallel execution processes and parallel recovery processes for an instance. As demand increases, Oracle increases the number of processes from the number created at instance start up up to this value. we need to specify the value as 640 in the fusion applications
[10] job_queue_processes integer 100
Desc Specifies the maximum number of job slaves per instance that can be created for the execution of DBMS_JOB jobs and Oracle Scheduler (DBMS_SCHEDULER) jobs the recommended value is 10 to 100
[11]_b_tree_bitmap_plans boolean FALSE
Desc we need to set the value as false we are setting to false for the improved performance with the sql quries
[12]_fix_control string 5483301:OFF, 6708183:ON
Desc we need to specify the two values one is OFF and another is ON
[13] sga_target big integer 18
Desc The suggested value for an Oracle Fusion Applications Starter database is 9 GB
[14]pga_aggregate_target big integer 8G
Desc The suggested value for an Oracle Fusion Applications Starter database is 4 GB