Setup of Controller 10.3 with Oracle 12c

Product:

Cognos Controller 10.3

Oracle 12c database server

Virtual Microsoft Windows 2008 R2 server

Problem:

How install Cognos Controller 10.3?

Solution:

Check that the Controller users have only this excel versions installed;

MS Excel 2010 (32-bit), 2013 (32 or 64-bit) or 2016 (32 or 64-bit)

 

Ensure that the user doing the installation is local administrator on the Windows server and have access to the c drive.

 

Create a DNS alias to the server, so it is easy for the user to later access the Webserver.

 

In case of ORACLE you need to create two instance for Cognos Controller, one for the Content store database that need a different collation setting than the Cognos Controller database.

This Cognos Controller database must be NON-Unicode

The supported Oracle character set is:

‘Database character set’ is ‘WE8MSWIN1252’

‘National Character Set’ is ‘AL16UTF16’

http://www-01.ibm.com/support/docview.wss?uid=swg21347750

 

Increase the Oracle server’s ‘OPEN_CURSORS’ parameter.

http://www-01.ibm.com/support/docview.wss?uid=swg21671446

 

Increase the maximum number of possible processes by increasing the value for PROCESSES on the Oracle database server to a sensibly larger value.

https://www-01.ibm.com/support/docview.wss?uid=swg21603472

 

Ask the Oracle DBA to create a schema for Content Store and for Controller data.

Ensure that the schema have the correct rights, you may need to run SQL command in oracle like;

grant execute on dbms_lob to FRANGO

https://www.ibm.com/support/knowledgecenter/SSWGNW_10.1.0/com.ibm.swg.ba.cognos.ctrl_inst.10.1.1.doc/t_id_341oracle.html

 

Ensure that Microsoft Visual C++ 2010 SP1 is installed on the Windows Controller server.

You need to have both 64 and 32 bit versions installed.

https://www.microsoft.com/en-gb/download/details.aspx?id=5555

They are used by both Cognos Controller and the Oracle driver program.

 

Ensure that Microsoft NET framework 461 is installed on the Windows server from “program and features” in the control panel.

 

Ensure that Power Options in control panel are set to HIGH PERFORMANCE.

 

Set the “Data Execution Prevention” (DEP) to be “Turn on DEP for essential Windows programs and services only”, from inside Performance Options in System Properties.

 

From Control panel inside Internet Options set “Disable Internet Explorer’s publisher certificate revocation checking”.

Add the Cognos Controller servers to Trusted Sites in Internet Options.

 

Disable Internet Explorer Enhanced Security Configuration from inside Server manager – local server. Click on Configure IE ESC at the right side of Server Manager to get there.

 

From the start menu – enter GPEDIT.MSC to start the windows policy program.

Go to “Computer Configuration -> Administrative Templates -> System-> UserProfiles”.

Double-click on “Do not forcefully unload the user registry at user logoff”.

Change the setting from “Not Configured” to “Enabled”.

 

Ensure that UAC is turned off during installation of Cognos Controller.

Start – Settings – Control Panel

Click “User Accounts- User Accounts”

Click “Change User Account Control settings”

Change slider setting to “Never notify”

Click OK

 

Recommended that any Anti-virus software on server is turned off during installation.

 

Oracle Database Client (12.1.0.2.0) for Microsoft Windows (x64)

winx64_12102_client.zip (64-bit) (925,039,944 bytes)

Oracle Database Client (12.1.0.2.0) for Microsoft Windows (32-bit)

winnt_12102_client32.zip (32-bit) (902,922,170 bytes)

 

Install the Oracle 12c 64 bit full client to the Microsoft Windows server.

You need to select Installation Type to be Administrator (1.5 Gb).

Before continuing, due to a bug in Oracle (https://community.oracle.com/thread/3653584) you will probably need to rename the registry key “HKLM\Software\Oracle” to “HKLM\Software\Oracle.OLD”.

Install the Oracle 12c 32 bit full client to the Microsoft Windows server.

Rename the registry key “HKLM\Software\Oracle.OLD” to “HKLM\Software\Oracle”.

 

Update the TNSNAMES.ORA file to have this format:

ALIAS =

(DESCRIPTION=

(ADDRESS=(PROTOCOL=TCP)(HOST=SERVERNAME.DOMAIN.COM)(PORT=1521))

(CONNECT_DATA=(SERVICE_NAME=ALIAS.DOMAIN.COM))

)

 

Download and unzip the Cognos Controller 10.3 media (cntrl_10.3_win_ml.tar.gz.tar) to the server. Download the latest fix pack from here

http://www-01.ibm.com/support/docview.wss?uid=swg27049057

 

Run setup of Cognos Controller and select all options, even if you do not need them. Check that the needed IBM Cognos Controller services are created in the Windows server, if they are not, uninstall Controller and run the installation again.

 

Start Internet Information Services (IIS) Manager program from Administrative Tools.

Click on ISAPI and CGI restrictions icon.

At the right side click on “Edit Feature Settings”.

Mark “Allow unspecified CGI modules” and Mark “Allow unspecified ISAPI modules”

Click OK

 

Mark Applications Pools, and right click and select “add application pool”

Name it to IBMCOGNOS.

Open Advance Settings for application pool IBMCOGNOS.

Set Enable 32-Bit applications to FALSE

Set Identity to LocalSystem

Set Idle time-out (minutes) to 600.

Open Basic Settings for application pool IBMCOGNOS.

Set NET Framework version to .NET Framework v4.0.30319.

 

If there does not exist a “Default web site”, create one by right click and select “add Web site”.

Name it Default Web Site and set the physical path to D:\Data\inetpub\wwwroot (you need adjust the path to your environment).

 

Right click on Default Web Site and select Add Virtual Directory.

Create this alias that use this paths, there ccr_location is C:\Program Files\ibm\cognos\ccr_64\

Alias Location
ibmcognos ccr_location/webcontent
ibmcognos/cgi-bin ccr_location/cgi-bin
ibmcognos/controller ccr_location/ccrvdir
ibmcognos/controllerbin ccr_location/webcontent/ccr
ibmcognos/controllerhelp ccr_location/webcontent

 

https://www.ibm.com/support/knowledgecenter/en/SS9S6B_10.2.1/com.ibm.swg.ba.cognos.ctrl_inst.10.2.1.doc/t_configureawebserver.html

 

Select the cgi-bin virtual directory you created.

Double-click Handler Mappings.

Under Actions, click Add Module Mapping.

 

In Request Path, type *.cgi.

In Module, type CgiModule.

Leave Executable (optional) blank.

In Name, enter a name for the entry, such as IBMCognosCGI.

Click OK.

 

Also, add support for ISAPI, click Add Module Mapping.

 

In Request Path, type cognosisapi.dll.

In Module, type IsapiModule.

Point Executable to the path C:\Program Files\ibm\cognos\ccr_64\cgi-bin\cognosisapi.dll.

In Name, enter a name for the entry, such as IBMCognosISAPI.

Click OK.

 

Right-click the ibmcognos virtual directory, and click Add Application.

 

In the Alias box, type controllerserver.

In the Physical path box, enter ccr_location/ControllerProxyServer

Change application pool to be IBMCOGNOS.

 

Select the controller virtual directory.

 

Double-click HTTP Redirect.

Select Redirect requests to this destination, and enter the following path:

/ibmcognos/controllerbin/ccr.exe

 

Click Apply and click OK.

 

Add the text allowPathInfo=”true” after the entry: resourceType=”xxxxx” in file C:\Program Files\ibm\cognos\ccr_64\cgi-bin\web.config. The file should look like this;

 

<?xml version=”1.0″ encoding=”UTF-8″?>

<configuration>

<system.webServer>

<handlers>

<add name=”IBMCOGNOSISAPI” path=”cognosisapi.dll” verb=”*” modules=”IsapiModule” scriptProcessor=”C:\Program Files\ibm\cognos\ccr_64\cgi-bin\cognosisapi.dll” resourceType=”Unspecified” preCondition=”bitness64″ allowPathInfo=”true” />

<add name=”IBMCOGNOSCGI” path=”*.cgi” verb=”*” modules=”CgiModule” resourceType=”Unspecified” allowPathInfo=”true” />

</handlers>

</system.webServer>

</configuration>

 

Ensure that the ¨ is of the right format.

Save the web.config file.

 

Open the folder C:\Windows\System32\inetsrv\config

  • Launch Notepad.exe and edit the file applicationHost.config
  • Search for ‘requestFiltering’ section
  • Modify the value for ‘.config’ to ‘true’.

https://www-304.ibm.com/support/docview.wss?uid=swg21449854

 

Copy the ojdbc5.jar file to these folders

C:\Program Files\ibm\cognos\ccr_64\server\Integration

C:\Program Files\ibm\cognos\ccr_64\server\FAP\lib

C:\Program Files\ibm\cognos\ccr_64

Copy the ojdbc7.jar file to these folders

C:\Program Files\ibm\cognos\ccr_64\webapps\p2pd\WEB-INF\lib

 

There are several different possible file names/versions (for example ojdbc5.jar). For full

details, see: http://www-01.ibm.com/support/docview.wss?uid=swg21988891

 

Update the file ‘ccr-system-properties.properties’ in folder C:\Program Files\ibm\cognos\ccr_64\server\integration to point to the TNSNAMES.ORA files folder.

 

# IBM SOURCE CODE HEADER START

# =====================================================================

# OCO Source Materials

#

# BI and PM: ccr

#

# (C) Copyright IBM Corp. 2004, 2009. All Rights Reserved

#

# The source code for this program is not published or

# otherwise divested of its trade secrets, irrespective of

# what has been deposited with the U.S. Copyright Office.

# =====================================================================

# IBM SOURCE CODE HEADER END

# User defined System properties

 

# Oracle Network admin directory path, the location of the TNSNAMES.ORA file

# oracle.net.tns_admin=C:\\oracle\\product\\10.2.0\\client_1\\NETWORK\\ADMIN

oracle.net.tns_admin=C:\\orarun\\tnsadmin

 

Add the last line to the file with your path to the TNSNAMES.ORA file and save it.

 

Set a system variable in Windows that is TNS_ADMIN that also point to the folder where you have your TNSNAMES.ORA file.  This is done from the control panel – system.

http://www-01.ibm.com/support/docview.wss?uid=swg21574558

 

Create the file CCRProxy.options and place it in folder C:\Program Files\ibm\cognos\ccr_64\server

It should contain this values on a 16 Gb ram Windows server

-Xms512M

-Xmx4096M

You get the file from here

http://www-01.ibm.com/support/docview.wss?uid=swg21616770

 

Start Cognos Configuration as “run as administrator”

At environment tab change the localhost value to server name value, so for example should

Gateway uri be

http://ServerName.Domain.Com:80/ibmcognos/cgi-bin/cognosisapi.dll

Dispatcher uri for gateway be

http://ServerName.Domain.Com:9300/p2pd/servlet/dispatch/ext

Controller uri for gateway would be in a proxy setup

http://CtrlServerName.Domain.Com:80/ibmcognos/controllerServer/ccrws.asmx

External dispatcher uri be

http://ServerName.Domain.Com:9300/p2pd/servlet/dispatch

Content manager uris

http://ServerName.Domain.Com:9300/p2pd/servlet

 

Change Environment – Logging – file, Maximum number of full log file to 3.

Change Environment – IBM Cognos Service – IBM Cognos, Maximum memory for Websphere Liberty Profile in MB to 2048.

Change Security – Authentication, Inactivity timeout in seconds to 9600.

 

At Security – Authentication, add a New Resource – namespace, select what you need.

In our example, we use LDAP – General default values.

Set the namespace and resource name to the same word.

This is unique to every customer, you need to specify the values for

Host and port.

Base Distinguished Name.

User Lookup.

Use external identity.

External identity mapping.

Please look in your other documentation on what this values should be.

 

Under IBM Cognos Application Firewall, set “Enable CAF validation” to False.

 

Delete the DB2 content store, and create a new Content Store under “data access – content manager – content store” for Oracle Database (advance).

Set user id to schema name and password to the schema password.

Set database specifier to a line of the TNSNAMES.ORA value like this;

 

(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=servername.company.com)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME= ALIAS.COMPANY.COM)))

 

In data access – notification set the SMTP mail server to value you got from the IT department. Should be similar to SMTP-GW.COMPANY.COM:25

Enter a default sender that people do not reply back to.

 

Save and start the Cognos service.

 

Surf to Cognos Connection http://servername.domain.com/ibmcognos

And add the standard reports.

Click Administer IBM Cognos content

Click the Configuration tab

Click Content Administration

Click New Import button

Select the “Controller” entry, then click Next then Next

Tick the box next to the Controller entry, and click Next

Click Next, then Next then Finish

Click Run, then OK

 

In Cognos Connection go to “administer IBM Cognos Content”

Click on Security

Click on Cognos

Click on MORE for Controller Administrators group

Click on Set members

Click on add

Click on the company namespace

Click Search in the right top corner

Enter the name of the Cognos controller user group from your LDAP/AD system

Change Find text in to “Name or description field”

Click on Search button.

Select your “controller users group” from the list and click the Arrow button to copy it over to the selected entries list.

Click OK.

 

Repeat the steps above for the Controller Users group, or add the Controller Administrators group into the Controller Users group.

 

To make Cognos Controller standard reports (BI reports) work, you must add the Controller Administrators and Controller Users group to the Cognos System Administrators group.

There should not be a license penalty for this in a Cognos Controller environment where only the limited Cognos BI, that is included in the Controller media, is used.

 

Update the index.html and default.htm files in folder C:\Program Files\ibm\cognos\ccr_64\webcontent

To use cognosisapi.dll instead of Cognos.cgi.

Open the file in notepad and do a search and replace from Cognos.cgi to cognosisapi.dll.

Save the file in same folder.

Restart the IIS server with the command iisreset.

 

Start Cognos Controller Configuration as “run as administrator”

Under COM+ server ensure “Local System Account” is set for Identity Account.

(this need to be changed if the Cognos windows service run under a service account)

Click on save button.

 

Select Database connection in Cognos Controller Configuration and click NEW button.

Enter the values for the controller database:

 

DataBaseType: Oracle

Name: default

Provider: OraOLEDB.Oracle.1

User ID: The user ID e.g the oracle schema

Password: The Password used for the schema

Data source: The name of the database server, without periods. This is the alias in TNSNAMES.ORA file.

Click the save button.

 

Go to the Report server tab and replace localhost with the server name for Report server and Dispatcher URI.

Report server should then have a value similar to this: http://servername.domain.com/ibmcognos/cgi-bin/cognosisapi.dll

Dispatcher should have a value similar to this: http://servername.domain.com:9300/p2pd/servlet/dispatch

Click on the save button.

This take some time, now it connects to Cognos connection and check that the controller database exists as data sources inside Cognos connection. If they do not, you will see a Repair button.

Press the repair button to create the controller data sources in Cognos connection.

The user running Controller Configuration must be system administrator in Cognos BI for this to work.

 

On client distribution Server configuration, fill in the values to what you need.

SelectDb is often true.

Language is often English.

CASURL is http://ctrlalias.domain.com/ibmcognos/controllerbin

WSSURL is often  http://ctrlalias.domain.com/ibmcognos/cgi-bin/cognosisapi.dll?t=controller

for a proxy controller setup (where you have a separate gateway server)

HELPURL should be left at default value

InstallExcelLink is often False.

Click on Save.

 

Go to Batch Service in “IBM Cognos Controller Configuration” and click on Start.

Most company should have max number of concurrent batch jobs to 1, but some large company’s should try the value 2. This mean they can run two consolidations at the same time.

Click on save.

 

On the Microsoft Windows 2008 R2 server go to the windows services under administration tools, and check that you have this services registered.

IBM Cognos (the Cognos BI service, can be on a separate server)

IBM Cognos Controller Batch Service (CCRBatchService)

IBM Cognos Controller Consolidation

IBM Cognos Controller Java Proxy

IBM Cognos Controller User Manager (frLicServer)

 

You need to change them to all be set to “automatic” startup type, to make the program work in a proxy configuration where there is a separate gateway server in use.

IBM Cognos FAP Service should be set to disable on the Cognos Controller server, and installed on the TM1 server if this functions is used.  Check other documentation on how to setup FAP.

 

Datamart setup, if used, is that in Cognos controller configuration go to “database connections for publish to datamart”, select the source controller database in the dropdown list.

Enter provider to be: OraOLEDB.Oracle.1

Enter User ID to be the schema name of the datamart database in oracle.

Enter Password to be the schema password for the datamart.

Enter the data source to be the alias in TNSNAMES.ORA.

Click on the Save button and exit the Cognos Controller configuration.

 

Then you may need with SQL Developer update the connection string in the controller database to make it work for a “export to DataMart”, e.g. publish called.

Do this commands (you need to edit the connection for your environment) from SQL developer.

DROP DATABASE LINK “DMPUBLISH.COMPANY.COM”;

 

CREATE DATABASE LINK “DMPUBLISH.COMPANY.COM”;

CONNECT TO schemaname

IDENTIFIED BY password

USING ‘

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP) (HOST = Servername.domain.com) (PORT = 1521))

( CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = alias.domain.com)

)

) ‘ ;

 

Then reboot the server and you should have a Cognos Controller 10.3 system.

 

There can be mistakes in these instructions, you should follow this as a primary guide.

http://www-01.ibm.com/support/docview.wss?uid=swg21608353

http://www-01.ibm.com/support/docview.wss?uid=swg21965917

 

Install the new Cognos Controller client with a bat file on a Microsoft Windows 2008 R2 Citrix server. The bat file can look something like this:

 

msiexec /qb /i CCRLocalClient64.Msi IBM_COGNOS_CONTROLLER=”C:\Program Files\IBM\IBM Cognos Controller Local Client” WSSURL=http://ctrlalias.domain.com/ibmcognos/cgi-bin/cognosisapi.dll?t=controller  HELPURL= http://www.ibm.com/support/knowledgecenter

 

Setup of Cognos Controller new web client is described here:

https://www.ibm.com/support/knowledgecenter/SS9S6B_10.3.0/com.ibm.swg.ba.cognos.ctrl_inst.10.3.0.doc/t_contrweb_configure.html

 

Create Single Sign On (SSO) by these steps;

 

On the IIS manager go to the cgi-bin folder and click on Authentication.

Set Enable on Windows Authentication.

Set Disable on Anonymous Authentication.

Close the dialog and restart the IIS with the dos command IISRESET.

 

If the authentication source is Active Directory and not LDAP, then you need to go into Cognos Configuration and make some more changes.

In the Explorer window, under Security, Authentication, click the Active Directory namespace.

Click in the Value column for advanced properties and then click the edit button

In the Value – Advanced properties window, click Add.

In the Name column, type singleSignonOption (Case sensitive)

In the Value column, type IdentityMapping (Case sensitive)

Click OK.

Save configuration and restart Service for the setting to take effect

http://www-01.ibm.com/support/docview.wss?uid=swg21341889

 

Go into Cognos Configuration and at Security – Authentication – Cognos set Allow anonymous access to False.  Click on save. You must restart the Cognos BI service to make the change take effect.

 

In Controller Configuration, you need to change from Native security to CAM by this change;

Go to Server Authentication, change select authentication method to CAM Authentication.

Click on save button.

Restart the Microsoft Windows server to ensure the change take effect.

 

To revert back to native login in Cognos Controller you only need to change;

Controller configuration Server authentication to use Native selection instead and

In Cognos Configuration set Allow anonymous access to True.

And restart the services.