Saturday, December 14, 2013

Oracle Webcenter Content 11g Clustering (High Availability) using a shared storage

This blog post is  about the clustering of Oracle Webcenter Content11g using the shared file system on windows. Well one thing which makes Webcenter Content installation unique from other middleware installation is the use of shared file system. Shared content mainly consist of the information related to the Content Server Instances configuration, user data profiles, data or content uploaded to the Oracle Webcenter Content, weblayout or GUI of a Webcenter Content page as these information are important and must be in sync thats why these are kept on shared file system.

  1. Two physical machines i.e. Machine1 and Machine2.
  2. All the middleware and database setups and installers.
  3. On Machine1 we have Adminserver and UCMServer1.
  4. On Machine2 we have UCMServer2.
  5. Adminserver is not the part of cluster.
Steps for Installation and Configuration
  1. Supported version of JAVA must be installed on both the machine.
  2. Supported database must be installed. Check into the Oracle Fusion Middleware Certification Matrix for the supported database before installation.
  3. Run the supported RCU, generate all the required Oracle Webcenter Content tablespaces.
  4. Ensure that you have configured the shared storage on both the WCC nodes.
  5. Install weblogic on Machine1: 
    • Run the installer, Java -D64 -jar wls103N_generic.jar (N is the version number you are using)
    • Click next, choose the middleware directory eg. C:/oracle/middleware/
    • Click Next, register for  security updates (optional).
    • Click Next, choose install type (optional).
    • Click Next, choose jdk as desired.
    • Click Next, choose product installation directory.
    • Click Next, Install the product. 
  6. Install webcenter content on Machine1
    • Run the installer, go to the WCC installable folder run the setup in disk1 folder by executing the command setup.exe -jreLoc <path to jdk dir> eg. C:\Java\jdk1.6.0_30
    • Click Next, Install software updates (optional)
    • Click Next, prequisite checks.
    • Click Next, specify the middleware home directory for the installation and set the wcc directory to Oracle_ECM1
    • Click Next, weblogic directory auto selected.
    • Click Next, Install the product and finally click finish when installation completes.
  7. Configure WCC domain on Machine1
    • Run the config.cmd, go to oracle/middleware/Oracle_ECM1/common/bin folder.
    • Create new weblogic domain, click next.
    • Select WCC components, i.e. Oracle Universal Content Management - Content Server- 11.x.x.x[ Oracle_ECM1]. The other two option Oracle enterprise manager and Oracle JRF are auto selected. Click Next.
    • Enter the name of the domain and location of domain. Click Next.
    • Configure administrator username and password. Click Next.
    • Configure server start mode and jdk. Click Next.
    • Configure JDBC component schema, i.e. UCM_Schema. Click Next.
    • Test JDBC component schema. Click Next.
    • Select option configuration: Administration Server and Managed Server, Clusters and Machines.
    • Configure Administration Server :
      • Name: Adminserver (default)
      • Listen Address: <IP Address>
      • Listen Port: <port>, 7001 (default).
      • SSL Listen Port: N/A(default)
      • SSL enabled: unchecked (default).
    • Configure Managed Server:
      • Name: UCMServer1
      • Listen Address: <IP Address>
      • Listen Port: <port>, 16200 (default).
      • SSL Listen Port: N/A(default)
      • SSL enabled: unchecked (default).
      • Add one more row to create second managed server.
      • Name: UCMServer2
      • Listen Address: <IP Address>
      • Listen Port: <port>, 16200 (default).
      • SSL Listen Port: N/A(default)
      • SSL enabled: unchecked (default).
    • Configure Clusters:
      • Click on Add+
      • Name: UCM_Cluster
      • Cluster Messaging Mode: Unicast(default)
      • Multicast Address: N/A(default)
      • Multicast Port: N/A(default)
      • Cluster Address: <blank> (default).
    •  Assign both servers to the cluster.
    • Configure Machines:
      • Name: UCMMachine1
      • Node Manager Listen Address: <ip address>.
      • Node Manager Listen Port: 5556 (default).
      • Click on Add+
      • Name: UCMMachine2
      • Node Manager Listen Address: <ip address of second machine>.
      • Node Manager Listen Port: 5556 (default).
      • Click Next.
    • Add servers to the machines,
      •  add Adminserver and Managed server1 to the UCMMachine1 
      • add Managed server2 to the UCMMachine2.
    • Click Next to create a domain.
  8. Start the Adminserver on UCMMachine1, by executing C:/Oracle/Middleware/user_projects/domains/ecm_domain/bin/startWeblogic.cmd.
  9. Now the Configure and start the node manager on UCMMachine1.
  10. Open the adminstration console, i.e. http://IP:Port/console.
  11. Disable the Host Name Verification:
    • Go to Enviornment-->servers--->Adminserver-->SSL-->Advanced and set the host name verification value to none.
    •  Go to Enviornment-->servers--->ManagedServer1-->SSL-->Advanced and set the host name verification value to none.
    • Go to Enviornment-->servers--->ManagedServer2-->SSL-->Advanced and set the host name verification value to none.
  12. Restart the Adminserver.
  13. Start the UCMServer1. Open the configuration page i.e. http://IP:Port/cs.
  14. Set the WCC cluster information:
    • Cluster Node Identifier: UCMServer1 (name of the node's managed server -non editable)
    • Content Server Instance Folder: \\\\<IP-Adress>\\ucmshare/domain/ecmdomain/cs (this must be path to the shared/remote filesystem)
    • Native File Repository Location: \\\\<IP-Adress>\\ucmshare/domain/ecmdomain/cs/vault/ (this must be path to the shared/remote filesystem)
    •  Weblayout Folder: \\\\<IP-Adress>\\ucmshare/domain/ecmdomain/cs/weblayout/(this must be path to the shared/remote filesystem)
    • User Profile Folder:  \\\\<IP-Adress>\\ucmshare/domain/ecmdomain/cs/data/users/profiles/ (this must be path to the shared/remote filesystem, also this option shown for WCC version or later)
    • Content Server URL Prefix: /cs/ (non -editable, cs is default you can set any value)
    • Is new Content Server Instance: Checked.
    • Server Socket Port: 4444 (for RIDC access).
    • Incoming Socket Connectoin Address Security Filter:|  (append each member cluster node's ip address using the pipe "|" as a delimiter) .
    • Web Server HTTP(s) Address: localhost (optional)
    • Web Address is HTTPS: unchecked (default)
    • Company Mail Server: (set as needed)
    • Administrator Email Address: (set as needed).
    • Server Instance Name: UCMServer (non-editable)
    • Server Instance Label: UCMServer (set as needed)
    • Instance Description: UCMServer (set as needed)
    • Is Auto Number Enabled: Check (default).
    • Auto Number Prefix: WCC_ (change as needed)
    • FullText Search Option: none (set as needed)
    • External DataSource: <blank> (set as needed)
    • Submit.
  15. Restart the UCMServer1. Now UCM server on first cluster node is up and running.
  16. Install weblogic on Machine2: Follow the same steps as for installing the weblogic on Machine1.
  17. Install webcenter content on Machine2: Follow the same steps as for installing the webcenter content on Machine1.
  18. Configure Domain on Machine2:
    • Stop the Adminserver and UCMServer1.
    • Execute the pack command on Machine1 i.e. C:/oracle/middleware/Oracle_ECM1/common/bin/pack.cmd -managed=true -domain=C:/oracle/middleware/user_projects/domains/ecm_domain -template=ecm_template.jar -template_name="ecm domain"
    • A jar file named ecm_template.jar is created in the same directory i.e. C:/oracle/middleware/Oracle_ECM1/common/bin/.
    • Copy this template file in same folder on Machine2.
    • Run the unpack command on Machine2 i.e. C:/oracle/middleware/Oracle_ECM1/common/bin/unpack.cmd  -domain=C:/oracle/middleware/user_projects/domains/ecm_domain -template=ecm_template.jar.
  19.  Set up the node manager and start it on Machine2.
  20. Start Adminserver, UCMServer1 and UCMServer2.
  21. UCMServer2 automatically takes the information of WCC cluster information : from intradoc.cfg file that you have configured in step 14.
  22. Your UCM cluster is ready.
Note: I have followed the document 1359930.1 on oracle support.

    Monday, December 9, 2013

    Oracle SOA : deployment plan needs to be re-copied manually to each Cluster-Node / Managed Server

    SOA applications and resource adapters are installed using nostage deployment mode. Because of this, the administration sever does not copy the archive files from their source location when the nostage deployment mode is selected. However, each managed server must be able to access the same deployment plan. The solution is, to use the shared location for the deployment plan and applications. Please see the link below for more clarification

    Friday, December 6, 2013

    UCM Clustering Error on Windows intradoc.common.ServiceException: !syFileUtilsUnableToCreateSpecifiedDir

    When you are Installing Webcenter Content on a cluster, one of the thing which is unique from other middleware installation is requirement of shared filed system. So when you configure webcenter content after installing and creating of domain, then you have to provide path of following shared directories:
    • Content Server Instance Folder
    • Native File Repository Location
    • Weblayout Folder 
    • User Profile Folder ( or later)
    Now when you specified path of all the shared directories, while starting the second UCM Managed server you are facing the following issue:

    intradoc.common.ServiceException: !syFileUtilsUnableToCreateSpecifiedDir
    Unable to write intradoc.cfg

    Error Symptoms
    In my case this error comes due to incorrect path syntax I have specified for the shared directory.

    For example:
    I have shared directory on server
    the folder structure is H:\ucmshare\domain\ucm_domain\ucm_cluster\
    and i am specifying the directory path like this \\\ucmshare\domain\ucm_domain\ucm_cluster\ and I am getting the above error.


    I solved the above problem by specifying the following shared directory path:


    Please remember
    • Here ucmshare is a shared folder on server
    • Use of forward slash for specifying the directory, but to locate the server use backslash as used above.