Oracle UCM 10g R3 Clustered Installat...

Oracle UCM 10g R3 Clustered Installation and Configuration (RHEL 5 x86_64)

Install Clustering Software

Add software channels for Cluster and Cluster Storage in RHN to the servers

rhn_register on both servers

yum -y groupinstall Clustering
yum -y groupinstall "Cluster Storage"

On 1st node:

chkconfig luci on
service luci start

On both nodes:

chkconfig ricci on
service ricci start
chkconfig gfs on
chkconfig gfs2 on
chkconfig cman on
chkconfig clvmd on

Create Cluster

logon to luci via https://ecmp001:8084 with user: admin and pw

Create new cluster clu_ucm_p001

Add node ecmp001 using locally installed files option

Add node ecmp002

Adding 2nd node with Luci fails but:

copy /etc/cluster/cluster.conf to added node
edit /etc/lvm/lvm.conf and change locking_type to 3

restart 2nd node

Configure Clustered Storage

SAN: VMWare team setup Mapped Raw LUN

Created LUNS in Navispshere and exposed to ESX by dropping into ESX Storage Group
Rescan Storage adapters on each esx host in cluster twice
Add new raw mapped lun via edit settings in vi console

On first node:

fdisk /dev/sdb
pvcreate /dev/sdb1
vgcreate ucmvg /dev/sdb1
lvcreate -L 18G ucmvg
lvrename /dev/ucmvg/lvol0 /dev/ucmvg/ucmlv
gfs_mkfs -p lock_dlm -t mn_clu_ucm_p001:ucm -j 4 /dev/ucmvg/ucmlv

Added the following to /etc/fstab

/dev/ucmvg/ucmlv /apps gfs acl,noatime 1 2

run mount -a to mount the new entry

Create storage resource in luci

Name: apps gfs share
Type: GFS
Mount point: /apps
Device: /dev/ucmvg/ucmlv
Options: acl,noatime

UCM Install on first node:

chown user1.user1 /apps
download java from santa > installs > jboss > java.tar.gz
install java in /apps/java and link /apps/java/default to /apps/java/jdk1.6.0_01-64bit

Install following instructions in install_cserver_pv_10en.pdf and clustering_config_pv_10en.pdf (Disregard unc path instructions as we are using GFS which does not require unc naming - use /apps/ as root for shared_directory) ecmp001 (primary) ecmp002

Edit user1's .bash_profile on both nodes as follows:

umask 002

Then run:

source ~/.bash_profile

Plan for the following list of configuration options

file repository = /apps/oracle/ucm/server/vault
email server =
admin email = webmaster
HTTP Address =
IP =
ports = default
web server = Apache
db = oracle
Instance Menu Label = idc
Relative root = /idc/
security filter =||

Installer menu options:

*4. English-US
*1. Install new server
Content Server Core Folder [/oracle/ucm/server]:/apps/oracle/ucm/server
Create Directory
*1. yes
Java virtual machine
*1. Sun Java 1.6.0 JDK
Content Server Native Vault Folder [/apps/oracle/ucm/server/vault/]:
Create Directory
*1. yes
Content Server Weblayout Folder [/apps/oracle/ucm/server/weblayout/]:
Create Directory
*1. yes
*1. Configure as a master server.
*1. Install an admin server to manage this server.
Web Browser Path [/usr/bin/firefox]:
*4. English-US
*1. Use the timezone setting for your operating system
Content Server Port [4444]:
Admin Server Port [4440]:
Incoming connection address filter []:||
Web Server Relative Root [/idc/]:
Company Mail Server [mail]
Administrator E-Mail Address [sysadmin@mail]
Web Server HTTP Address [ecmp001]
Server Instance Name [idc]:
Server Instance Label [idc]:
Server Description [Content Server idc]:Production UCM Master Server
Web Server
*1. Apache
Content Server Database
*1. Oracle
Manually configure JDBC settings for this database
1. yes
*2. no
Oracle Server Hostname [localhost]:ora.pvsales.lan
Oracle Listener Port Number [1521]:
Oracle User [user]:STELLENT_USER
Oracle Password []:
Configure the JVM to find the JDBC driver in a specific jar file
1. yes
*2. no
Attempt to create database tables
1. yes
*2. no
Choice? 1
Select components to install.
1. CheckOutAndOpen: Checkout and Open component
2. ContentFolios: Collect related items in folios
3. ExtranetLook: Extranet website support
4. FileStoreProvider: Alternate FileStoreProvider Implementation
5. FormEditor: Create and edit HTML forms
6. LinkManager8: Hypertext link management support
7. ThreadedDiscussions: Threaded discussion management
Enter numbers separated by commas to toggle, 0 to unselect all, F to finish: 1, 2,4,5,6,7
*1. CheckOutAndOpen: Checkout and Open component
2. ContentFolios: Collect related items in folios
3. ExtranetLook: Extranet website support
*4. FileStoreProvider: Alternate FileStoreProvider Implementation
*5. FormEditor: Create and edit HTML forms
*6. LinkManager8: Hypertext link management support
*7. ThreadedDiscussions: Threaded discussion management
Enter numbers separated by commas to toggle, 0 to unselect all, F to finish: F

Error regarding oracle permissions fixed with:

REM This Script needs to be run as privileged user. A role called
REM 'stellent_role' will be created. Please grant this role to Content
REM Server user. In general, content server user would also need
REM UNLIMITED TABLESPACE privilege. This should be granted to user with
REM following command:
CREATE ROLE stellent_role;
GRANT CREATE TABLE TO stellent_role;
GRANT CREATE TYPE TO stellent_role;
GRANT CTXAPP TO stellent_role;
GRANT stellent_role to STELLENT_USER;
GRANT unlimited tablespace to STELLENT_USER;

Recheck config with option 3 and once successfull

Proceed with install
*1. Proceed

Check log file in /apps/oracle/ucm/server/install/log.txt for any errors

Startup and Shutdown

create startup script for idcserver_ctrl and idcadmin_ctrl - see CVS systems/scripts

JDBC and Indexing


config.cfg - change following:


Cluster bin and etc directory config

cp -r /apps/oracle/ucm/server/bin /apps/oracle/ucm/server/bin-ecmp001

edit intradoc.cfg in bin-ecmp001 by adding:


cp -r /apps/oracle/ucm/server/bin /apps/oracle/ucm/server/bin-ecmp002

edit intradoc.cfg in bin-ecmp002 by adding:


cp -r /apps/oracle/ucm/server/bin-ecmp001 /apps/oracle/ucm/server/admin/ cp -r /apps/oracle/ucm/server/bin-ecmp002 /apps/oracle/ucm/server/admin/

copy all etc folders and edit configs same as bin including updating bindir and etcdir paths and verify that all intradoc.cfg files have the correct settings as shown above.

Apache Configuration

Add the following to the end of httpd.conf on both nodes and restart httpd:

LoadModule IdcApacheAuth /apps/oracle/ucm/server/shared/os/linux64/lib/
IdcUserDB idc '/apps/oracle/ucm/server/data/users/userdb.txt'
Alias /idc "/apps/oracle/ucm/server/weblayout"
<Location /idc>
Order allow,deny
Options All
Allow from all
DirectoryIndex portal.htm index.html index.htm default.htm default.html
IdcSecurity idc
<Location "/">
IdcSecurity idc
Options All
Allow from all

In /var/www/html create a redirect page called index.html as follows:


Update to the current Patch Release:

Install Optional Packages via the Admin Server Component Manager

Browse to and install the following which were downloaded from oracle metalink


Finally install update bundle


Make sure that Extranet Look is not enabled (NOT COMPATIBLE WITH THIS VERSION - HEADACHE WORTH AVOIDING)


Restart all services to complete the update.


GFS Troubleshooting:

Look in /var/log/messages for anything from gfs_controld. If there are none, check the output of 'group_tool -v; group_tool dump gfs' after the failed mount.

Or, another option is to temporarily disable startup fencing altogether by adding this to /etc/cluster/cluster.conf:

change <fence_daemon clean_start="0"/>
to <fence_daemon clean_start="1"/>

Still working on finding a good fencing method since I am using VMWare hosts for this test

Admin server troubleshooting:

Admin server would not open in browser with service unavailable error

Found invalid IP in /apps/oracle/ucm/server/data/users/SecurityInfo.hda

changed intradoc ip and ip above 4440 entry to and restarted services.

Configure LDAP for Active Directory

Provider Name: pvsalesldap

Provider Description: PVSALES AD Ldap Provider

Provider Type: ldapuser

Provider Class: ldap.ActiveDirectoryLdapProvider

Provider Connection: intradoc.provider.LdapConnection

Source Path: pvsalesldap   #Note that Source Path and provider name match

LDAP Server:

LDAP Suffix: DC=pvsales,DC=com

LDAP Port: 389

Number of connections: 5

Connection timeout: 10

Priority: 1

Credential Map: 

Use Netscape: Yes

SSL Enabled: No

Attribute Map:

Role Prefix: OU=ucm,OU=Security Groups[1]

Default Network Roles:

Filter Groups: Yes

Use Full Group Name: No

LDAP Admin DN: PVSALES\ucmadmin

Filter Administration > Default Authentication set to NTLM


CN=stellent,OU=ucm,OU=Security Groups,DC=pvsales,DC=com that has a corresponding role in the content server configuration called stellent (role and group name must match for Credential Map to work)


restart the content server, admin server, and httpd

Configure JSP Support

Go to Admin Server -> General Configuration

Check the box for "Enable JSP Pages" and specify a security group(s) that will be allowed to execute JSP pages i.e. Public,Secure,JSP


Check in your JSP page specifying on of the security groups from above Click on the web viewable link for your JSP page and it should execute


Goto Site Studio Admin > Manage Fragment Libraries and click configure jsp support

Configure Dynamic Converter

Install Dynamic Converter component via the Admin Server Component Manager Link

Restart the Content Server

Go to the Content Server Administration Drop Down Menu > Dynamic Converter Admin

  1. Select "Check in Existing Template"
  2. Title = BlankTemplate
  3. Author = sysadmin
  4. Security Group = public
  5. Primary File = \Blank.ttp
  6. Template Type = Script Template
  7. Then click Check In
  8. Go to the Configuration Settings Link under Dynamic Converter Admin and select Script Templates from the Template Types Dropdown
  9. Select BlankTemplate from the Available Templates Dropdown
  10. Click Update button

On each server go to the /apps/oracle/ucm/server/bin* directories and for every intradoc.cfg file add the following



wong said...

hi, this is active-active or active-passive setup?

Octavio said...

where do i do the JSP Page check in?