The first thing to decide is if the server will only use db2 as a backend or if db2 Access Views and Query views will be used. For the DAVs you need to have the Db2 Access server installed. You can do that right after the db2 install.

Websites and documents I found that were helpful:

  • Domino 8 administration Help
  • Waresource.com - They have a class on db2 integration called  "DB2 for Domino 7 Administrators and Developers" and they are finializing a class for Domino 8. Great material!
  • InstallationWiki.org - Nice write up for Domino 7.2 that is very close. I'm updating the wiki to be valid with db2 9.1 and Domino 8.
  • IBM Support - Nice short install guide with only one error, the need to create the directory for domino in db2 (db2 Datastore section). Domino will create everything it needs.
  • IBM Notes 8 Developer class - There is great lab from Domino 8 Development that is almost perfect (minus the db2 install).
  • db2 Cookbook - How to guides for each db2 release, on using SQL with db2.
  • Fixpacks for db2 - here are all the fixpacks for db2 v9.1 (the only version supported for Domino). See the readme for the required fixpack. 8.5 is going to use fixpack 5.
  •  Security Vulnerabilities and HIPER APARs fixed in DB2 for Linux, UNIX, and Windows Version 9.1 Fix Pack 5


Current Technotes that pertain to db2 - Domino integration:
  • Security considerations for Domino -> DB2 integration  - Doc Number: 1224455
  • DB2 Access Server does not connect with DB2 server  -  Doc Number: 1268019
  • Determining the SQL error code description using DB2 with Notes - -Doc Number: 1214740
  • Unable to contain more than 21 double byte character set (DBCS) characters in a DB2 Access View  -  Doc Number: 1267488


So instead of repeating what is already there, I'm just going to touch on a few items.
  • Databases that are of the Type "Domino Directory" can not be converted - This includes the personl address book, so it you want to use it's design in your database, change the Type to Standard.
  • Start studying SQL and the db2 support features.
  • Are you going to use a default user id for db2 access or map all users to db2.
  • db2 location- the storage needs for a db2 based nsf can be up to 3 times the size of the notes base nsf, so plan for it.
  • The db2admin user & password will need to be know by the domino developers, so they can set the table access. If you have to wait for a DBA or admin, then go some other route.
  • Domino needs to be using Transactional Logging.
  • Security - are you going to use a default user to access db2 (and use the database access as control) or have each user mapped to db2. While the default user is nice, you can access the db2 tables directly with odbc, jdbc, etc. Is the data going to need access control. You will have to then learn db2 admin to be able to build groups and users. Domino lets you map users in Domino to db2 easily, but you still have to maintain the groups and privileges (ACL for db2) for each db2 table
  • Get an easy tool to test queries with. In the view you will get a plain error message that is really useless. I use DatabaseSpy from Altova  for testing the queries and building xml interfaces.
  • Configure your anti-virus! The biggest problem is network support requiring anti-virus on the server and having it locked down. You need to have the db2 folders and the domino folders excluded. Symantic, Mcaffe and others, will say it handles it OK, but they don't. You will find that data is corrupted or server hung because they held a needed file. If you are worried about virus on the server, then lock down the access to only those that need it and don't let unknown files be installed.
  • Port access - Now you will have to open a port for the db2 access along with port 1352 for Domino. The port needed is set during the installation of db2.
  • Create a db2 Access Server id - This is a special server id that is used by the db2 access server to access the domino databases. It can't be a normal server ID. So name it something to show it's different.
  • BACKUP - whatever you have, review for how it will handle db2 and transaction logs. I replicate to another server (plain Domino) and back up the dbs there.
  • Since you have db2 locally, start learning about DECS. Virtual docs & views are really nice.
  • If you install on Linux, make sure you have write access to the /tmp folder. RHEL 5 sets it to 755, which will not work. To grant write access to /tmp for all users by running the following command as root: chmod a+w /tmp

Install Sequence:
1.        Create Domino server ID
2.        Create db2access server ID
3.        Install and configure Domino (need transaction logging enabled)
4.        Install db2 Enterprise or Workgroup 9.1 (db2-c express can be used but needs different configuration)
5.        Install db2 access server (will ask for db2access server id)
6.        Create Users & Groups in OS
7.        Add db2Dom group to SYSCTRL_GROUP in db2
8.        Enable Domino to use db2
9.        Configure Domino to use db2 access server
10.        Build apps.

For Windows based servers:
You need to create some users and groups at the OS level, as db2 will use them for access.
Users:
  • db2admin:  create by db2 during the install.
  • DomServer : used by the db2access server to access db2.
  • DomDefault : used for default access to tables in Query Views
  • DomAdmin : Used for access by a notes admin or developer

Groups:
Created by db2 during install:
  • db2Admins :db2admin, DomServer ( you need to add the DomServer to this group)
  • db2users:
You created:
  • db2Dom : DomServer