The last couple of weeks our Ebicus Fusion Practice has been working on setting up a lab environment with Oracle Fusion Applications 11.1.8. This series of three articles outlines the steps necessary to setup the Oracle Red Stack environment for Oracle Fusion Applications and is a continuation of Part 1. In this article some of the technical challenges will be discussed.
The entire setup procedure for Fusion Applications could be globally split into three major parts:
- – Setting up the databases
- – Setting up Oracle Identity Management
- – Setting up the Applications environment (described in part 3)
For each part of the components listed above, we’ve used a separate VM or server. As mentioned in my previous article, the required amount of memory is very important, so therefore I’ve included our server configuration below:
Server: | State: | Memory: |
Database server | Virtualized | 18 GB |
Identity and Access Management Server | Virtualized | 16 GB |
Fusion Applications Server | Physical | 128 GB |
All of the servers mentioned above are provisioned with Oracle Linux 6.5. For the virtualization layer, we’ve used Oracle VM Server 3.2.4.
Setting up the databases
In order to run Fusion Applications you need two Oracle databases:
- – An Oracle database used by Oracle Identity Management
- – An Oracle database which will contain the Fusion Applications repository
Although you can install the Oracle databases yourself or use an existing RAC cluster, the provisioning framework also has a convenient option to install all required database software (and patch it as well!) and setup the databases for you. For our lab environment we’ve used this convenient option.
After creating both databases, the repository creation utility has to be used to create the required database objects in each database. The creation of the repository for Identity Management is quite small and just took a couple of minutes, however the creation of the Fusion Apps repository took more than 3 hours on our lab environment.
Setting up Oracle Identity Management
The Oracle Identity Management Suite is used for user management and providing Single Sign On for our Fusion Applications environment. The setup of the Oracle Identity Management Suite is divided into several stages. Here we experienced a couple of issues.
As the Identity Management Provisioning Framework isn’t able yet to recover from a failure during one of these stages, we had to remove the entire software installation and restart the entire procedure again in order to proceed. As an alternative we could have tweaked the provisioning orchestration file (/u01/app/idmlcm/provisioning/idm-provisioning-build/idm-orchestration-build.xml), by commenting out some specific “ensurePhaseCompletedOnAllHosts” elements, but we decided to do the installation the right way, without too much tweaking. In the next paragraphs I’ll provide some more details about the issues we faced as well as the solution we’ve used.
Missing libraries (libstdc++.so.5 & libgcc_s.so.1)
During the first stage of the provisioning procedure, the preverify stage, we ran into our first problem:
The preverify stage failed with the following error message:
2014-04-29 15:42:44.745 NOTIFICATION [logStatus] STATE=BUILD_ERROR!TIMESTAMP=2014-04-29 15:42:44 CEST!TARGET=private-preverify-webgate-unix!CATEGORY=BUILD_ERROR!DOMAIN=NONE!HOSTNAME=idm.fusion.ebicus.com!PRODUCTFAMILY=orchestration!PRODUCT=orchestration!TASK=validateFileExists!TASKID=orchestration.orchestration.BUILD_ERROR.private-preverify-webgate-unix.validateFileExists!MESSAGE=[highlight color=”yellow”]The file /fa_repository/11.1.8/installers/webgate/libstdc++.so.5 does not exist.[/highlight]!DETAIL=The file /fa_repository/11.1.8/installers/webgate/libstdc++.so.5 does not exist.!BUILDFILE=/u01/app/idmlcm/provisioning/idm-provisioning-build/webgate-build.xml!LINENUMBER=412!
2014-04-29 15:42:44.772 NOTIFICATION [logStatus] STATE=BUILD_ERROR!TIMESTAMP=2014-04-29 15:42:44 CEST!TARGET=private-preverify-webgate-unix!CATEGORY=BUILD_ERROR!DOMAIN=NONE!HOSTNAME=idm.fusion.ebicus.com!PRODUCTFAMILY=orchestration!PRODUCT=orchestration!TASK=validateFileExists!TASKID=orchestration.orchestration.BUILD_ERROR.private-preverify-webgate-unix.validateFileExists!MESSAGE=[highlight color=”yellow”]The file /fa_repository/11.1.8/installers/webgate/libgcc_s.so.1 does not exist.[/highlight]!DETAIL=The file /fa_repository/11.1.8/installers/webgate/libgcc_s.so.1 does not exist.!BUILDFILE=/u01/app/idmlcm/provisioning/idm-provisioning-build/webgate-build.xml!LINENUMBER=414!
This is an interesting error message as it indicates that there are two library files missing inside the software repository (i.e. the software we got by unpacking the 17 ZIP files). In order to determine which yum-package provides these two files, we’ve used the following yum statement:
yum whatprovides libstdc++.so.5
yum whatprovides libgcc_s.so.1
After installing the appropriate packages (which installs /usr/lib/libstdc++.so.5 and /lib64/libgcc_s.so.1), we’ve copied the missing files into the software repository.
Unzip missing
Although eventually, after adding the missing libraries, the preverify stage succeeded, we got stuck on the install stage. The logfiles stated that the ‘unzip’ application was missing on our environment:
/u01/app/idmlcm/provisioning/idm-provisioning-build/idm-common-build.xml:25: Execute failed: java.io.IOException: Cannot run program “unzip” (in directory “/u01/app/idmlcm/provisioning/provisioning-build”): java.io.IOException: error=2, No such file or directory
We actually didn’t expect such an error to come up during the install stage, as we’ve assumed that software requirements were all checked during the preverify stage. After installing ‘unzip’, we were able to continue our journey.
Oracle Internet Directory doesn’t start
Unfortunately also the preconfigure stage failed, due to some issues while starting the Oracle Internet Directory (OID). We’ve experienced the following issues:
2014-04-29 21:20:14.551 NOTIFICATION [exec] [CONFIG]:Create Oracle Internet Directory
2014-04-29 21:25:32.105 NOTIFICATION [exec] [CONFIG] [Configure Oracle Identity Management Components] [Create Oracle Internet Directory ]:Create Oracle Internet Directory
2014-04-29 21:25:32.107 NOTIFICATION [exec] [CONFIG] SUCCESS:Create Oracle Internet Directory
2014-04-29 21:25:32.114 NOTIFICATION [exec] [CONFIG] [Configure Oracle Identity Management Components] [Start Oracle Internet Directory ]:Start Oracle Internet Directory
2014-04-29 21:25:32.116 NOTIFICATION [exec] [CONFIG]:Start Oracle Internet Directory
2014-04-29 21:25:32.206 NOTIFICATION [exec] [CONFIG] [Configure Oracle Identity Management Components] [Start Oracle Internet Directory ]:
2014-04-29 21:25:32.206 NOTIFICATION [exec] Error creating ASComponent oid1.
2014-04-29 21:25:32.206 NOTIFICATION [exec] Cause:
2014-04-29 21:25:32.207 NOTIFICATION [exec] An internal operation has failed: Failed to start the component
2014-04-29 21:25:32.207 NOTIFICATION [exec] Action:
2014-04-29 21:25:32.208 NOTIFICATION [exec] See logs for more details.
2014-04-29 21:25:32.208 NOTIFICATION [exec] [CONFIG] FAILED:Start Oracle Internet Directory
2014-04-29 21:25:32.210 NOTIFICATION [exec] Question Received:
2014-04-29 21:25:32.210 NOTIFICATION [exec] Error creating ASComponent oid1.
On Oracle Support the document with ID 1610555.1 describes a solution for this issue. Based on this document we’ve adjusted the entry cache maximum size (orclecachemaxsize attribute):
sqlplus ods@idmdb
update ds_attrstore set attrval=’256m’where entryid=940 and attrname=’orclecachemaxsize’;
commit;
After also resolving this last issue, we got our Identity Management Suite up and running. So now it was time to proceed with the provisioning of the Applications environment!
Part 3: Provision the Applications Environment