Tuesday, July 26, 2011

Oracle WebCenter: Installing & Configuring Security Components: The end of the road for MS SQL db

In my previous post I covered the fifth step of the "simple" installation topology, Post Install Tasks, and will now focus on the sixth step (of eight): Installing and configuring security components.



  1. Install external LDAP ID store
    Oracle Content Server and Oracle WebCenter Discussions rely on external LDAP-based identity stores. Therefore, if you want to use the Documents, Discussions, or Announcements services, you must install and configure an external LDAP-based identity store (such as Oracle Internet Directory OID).
    1. DownloadOracle Internet Directory which is bundled with Oracle Identity Management 11g. NOTE: it is easy to be misled into thinking that the 11.1.3.0 download is going to cut it since it is at the top of the list of downloads but the prereq's clearly say that 11.1.1.2.0 must be installed first.
      • Additional requirements for OIM 11.1.2.0 include WebLogic Server, Repository Creation Utility, Patch Scripts, and Oracle Database. All the same I'll push forward and see how far I can get with SQL.
    2. Java Access Bridge
      Windows customers need to install Java Access Bridge for Section 508 accessibility if required.  "Section 508 was enacted to eliminate barriers in information technology, to make available new opportunities for people with disabilities, and to encourage development of technologies that will help achieve these goals." For myself this isn't needed so I'm skipping this step.
    3. Create Database
      I haven't been able to find the best practice on whether OIM should be included in one of the existing databases we created in a previous step, but I imagine there is no harm in creating a new one at this time. So go into MS SQL Server and create a new db, I called mine "oim"
    4. Create Schemas
      • You should already have the RCU tool downloaded, so in reminder, navigate to the rcuHome/bin folder and run rcu.bat (you can do this through Explorer) which will start the GUI installer
      • Welcome - click the "Next" button
      • Create Repository - choose "Create"
      • Database Connection Details
        • Set the Database type to "Microsoft SQL Server"
        • Enter "localhost" as the server name, or the actual name/IP if you prefer
        • The default SQL port is 1433
        • Enter the name of the database you created a few steps back (oim)
        • Enter your SA username/password
        •  OIM requires the AS Common Schemas (Metadata Services, MDS) which makes me think that maybe it could go in the same db as WebCenter, but because of silo'ed documentation it is difficult to know.
      • Select Components
        You can pick a new prefix, but nothing wrong with sticking with the default of DEV
      • Select Identity Management from the list of choices and that will automatically select the AS Common Schemas
      • Next the system will verify your configuration
        Unfortunately at this point I hit some errors with the MDS complaining about the READ_COMMITTED_SNAPSHOT and the database collation setting. Both flags that needed to be set for the installation of WCM
      • Set DB Collation to case sensitive
        Change the default collation for the SQL database from case insensitive to case sensitive.
        This is done by accessing the properties of the db, and going to the Options tab, then changing the "Collation" field from SQL_Latin1_General_CP1_CI_AS to the CS version.

        SQL geeks can use the following command:
        ALTER DATABASE mds COLLATE SQL_Latin1_General_CP1_CS_AS
        
        In the example, the substring of "CS" denotes case sensitivity.
      • Set READ_COMMITTED_SNAPSHOT
        If you are reading through the install guide for WebCenter this is a very easy step to miss:
        To create a metadata repository in SQL Server, set READ_COMMITTED_SNAPSHOT to ON for the hosting database. This enables the needed row versioning support.
        This feature can be enabled using this SQL command where "webcenter" is the name of your db:
        ALTER DATABASE webcenter SET READ_COMMITTED_SNAPSHOT ON
      • Now when you run the configuration check you should pass
      • Set the schema password
        Here you are asked to create a password for the various schema accounts that will be created.  Password can contain only letters, numbers and the following special characters: $, # , _  and should not start with a number or a special character.
        One password to rule them all is fine for dev!
      • And then the inevitable error since this product doesn't support SQL.

So...I hope this post saves you some time and you don't dig yourself into a hole trying to get Oracle's OIM running on SQL db, and if you are trying to get WebCenter going on SQL you might need to ask yourself if it is worth running 2 different databases since OIM requires Oracle db and there are no other supported policy stores for WebCenter.

If anyone has any workarounds or solutions to using WebCenter (in its entirety) and also using MS SQL as the db please let me know.  I'm disappointed I had to go through so many steps before discovering that Oracle db needs to be part of a WebCenter solution.  I will bring up this MS SQL issue when I attend the WebCenter customer advisory board meeting in October and if I have time to attend the Fusion Middleware customer advisory board, also in October, I'll raise it as an issue there as well.

As far as this blog is concerned and my goal of getting Oracle WebCenter up and running using MS SQL & Windows 2008 64bit, this will be my last post unless someone can tip me off on how to progress.  I will continue blogging about portal software (including WebCenter) as we embark on an effort to find a replacement to WebCenter Interaction (aka: Plumtree, BEA AquaLogic User Interaction/ALUI).