Topics: DB2, IBM Content Manager
DB2 Tips
How to determine the type of DB2 database logging is used (circular or archival):
# su - db2inst1 -c db2 get database configuration for [database]Check for the entries LOGRETAIN and USEREXIT. If both of them are set to OFF (which is the default), then the database uses circular logging. If they are set to RECOVERY and ON respectively, then archival logging is used.
Archival logging is necessary if you wish to be able to roll forward all transactions after a restore of the database.
Getting help on error codes:
# db2 ? SQL0964cIf you wish to know more on error code SQL0964c.
Listing tables in other schema
db2> list tables for schema s1Describing a table
db2> list tables for all
db2> select tabschema, tabname from syscat.tablesView the database manager configuration
db2> describe table [schema-name].[table-name]
# db2 get dbm configContent Manager DB2 tips
- Give each Content Manager database a different name; don't leave them at default (for example ICMNLSDB). This will cause problems when doing federated searches across multiple content manager systems.
- Do not use the database catalog function on the client for naming databases, this is not supported within ICM.
- Use UTF-8 databases (not ISO8859-1) because it supports the Euro symbol. UTF-8 databases have a negative performance impact, limited to an increase of 50% of the database size, compared to single-byte (ISO8559-1) encoded databases.
- Keep the DB2 databases and the Content Manager system on the same server. Basically because the Library Server is not more than a bunch of stored procedures in the database itself. Also, because it eases the backup, which will be far more difficult to create consistently across multiple systems.
- Keep the number of WAS (WebSphere) threads equal to the number of DB2 database connections. Having more WAS threads than available database connections, will cause problems in Content Manager.
When installing service packs, keep the versions of the eClient_Server and Content Manager itself at the same level; Content Manager is very picky about this.
Topics: IBM Content Manager↑
Configuring the System Administration Client for IBM Content Manager for Multiplatforms
This is a quick procedure for configuring the system admin client for ICM on your Windows desktop, with the Library Server on a different AIX (or other OS) host system:
First make sure, both the DB2 run-time Client and Content Manager for Multiplatforms software are installed on your desktop. There is no need to install a library server and/or resource manager during ICM installation.
Use the Server Configuration Utility, to configure the server to connect to:
Server type: Content ManagerPress Apply and quit the Server Configuration Utility. Start up the System Administration client and login with user icmadmin.
Server name: [the name of your library server, usually ICMNLSDB]
Schema name: ICMADMIN
Host name: [The (FQDN) hostname of the server where the db2 database is active]
Operating System: [The operating system on which the db2 database is active]
Port number: [check your host system and lookup the port for db2c_db2inst1, usually 50000]
Remote database name: [Usually ICMNLSDB]
Nodename: [the short hostname]
Security options: Server authentication (leave all other fields blank)
Problem: When the Icmrmvolval validation utility finds documents in de Resource Manager database, but not on your file system. You need to find out which document this is about. Icmrmvol reports item ID's that cannot be found on your filesystem, but do exist in the Resource Manager database.
Run the Icmrmvolval utility:
# ./icmrmvolval.sh -f [directory](The directory must already exist).
After a while you will get 2 output files: icmrmvol[date]_FILENOTFOUND.xml and icmrmvol[date]_SIZEMISMATCH.xml. Entries in those files are in XML format stanza's, which shows item ID's as:
The following query on the Library Server database, determines the library server item ID:A1001001A04D28A95704H07197
db2 => connect to ICMNLSDB user ICMADMINThis will result in something like:
select sourceitemid from icmstri001001 where targetitemid = 'A1001001A04D28A95704H07197'
SOURCEITEMIDNow your able to determine the numerical value of the itemType:
--------------------------
A1001001A04D28A95704F54278
select componenttypeid from icmstitems001001 where itemid = 'A1001001A04D28A95704F54278'This will result in something like:
COMPONENTTYPEIDNow the attributes of the item can be queried:
---------------
1007
select * from icmut01007001(Substitute the numerical itemType value you queried before in the table name of this query).
where itemid = 'A2001001A04J03C02629E64804'
At the end of this query you will find attributes in columns like: ATTR000..... This will usually give you enough document information to find the document in the client and to be able to delete this document from the Library Server.
You can combine the first 2 queries:
select a.componenttypeid, a.itemid from icmstitems001001 a, icmstri001001 bThis will result in something like:
where a.itemid = b.sourceitemid and b.targetitemid = 'A1001001A04D28A95704H07197'
COMPONENTTYPEID ITEMIDIt would be the easiest to work with a temporary table of all ItemIDs from the icmrmvol utility. Let's say this table is called TEMPITEMS with 1 column named RITEMID. The combined query can be expanded to:
--------------- --------------------------
1007 A1001001A04D28A95704F54278
select a.componenttypeid, a.itemid from icmstitems001001 a, icmstri001001 b, tempitems c where a.itemid = b.sourceitemid and b.targetitemid = c.ritemidThis will result a list of all wrong Library Server ItemIDs and their numerical ItemTypeID value. If all items are from the same ItemTypeID (e.g. 1007), then the following query can be made to provide an overview of the attributes:
select * from icmut01007001 where itemid in (select a.itemid from icmstitems001001 a, icmstri001001 b, tempitems c where a.itemid = b.sourceitemid and b.targetitemid = c.ritemid)For readability reasons all SQL queries have been typed on more lines. A SQL query should be put on one (1) line.
IBM (DB2) Content Manager Version is a product available for Microsoft Windows, AIX, Sun Solaris and Linux. The former name of IBM Content Manager was Visual Info. Actually, the Content Manager portfolio from IBM is much larger, than this
single product. Basically, there are 2 products, the first one called IBM Content Manager, and the second one IBM Content Manager OnDemand. Besides these two, there are a lot of additional tools and products.
ICM is a system for the management of business content, or Enterprise Content Management (ECM). It handles all types of digitized content, based on access via browsers, similar to Documentum. In other words: ICM is a system which allows storage of digitized documents, which can be retrieved via a web browser.
Content Manager OnDemand is specifically used for storing spooled output and usually replaces the older Microfiche.
In general, most organizations have well-developed information systems in place for storing, sorting and retrieving text-based data records (business or structured data). These same organizations however, usually do not have the same type of data storage and retrieval systems in place for the large and growing mass of digital media (unstructured or semi-unstructured data).
The concept of Enterprise Content Management is to bring under the control of one system a platform independent integrated solution for storing and managing large quantities of multimedia content as well as the traditional relational database data. This allows database management facilities such as referential integrity, transactional integrity, robustness and archival and retrieval to be utilized to manage the full range of data objects within the modern enterprise.
Data stored by IBM Content Manager can be categorized as follows:
- Operational content: Scanned images (often in TIFF format - Tag Image File Format), Facsimiles, Computer generated output.
- Workgroup documents: Word processors (like MS Word, WordPerfect, Adobe FrameMaker, Lotus), Spreadsheets (MS Excel and Lotus 1-2-3), Presentation graphics.
- Media Assets: Audio and Video (MPEG).
- Web Content: HTML, graphics, business content.
IBM Content Manager consists of the following parts:
Library Server
Is actually built upon a DB2 (or Oracle, but mostly DB2) database for the index of the digitized content. It is where you define the information that you store in your library. All user access for digitized content is validated by the library server. The library server also maintains referential integrity between the indexing information in the database and the objects themselves. There is at least one library server in an ICM implementation.
Resource Managers
Resource managers are the repositories that contain the digitized content and manage the storage and retrieval of objects. The resource manager provides hierarchical storage management (HSM) when used in conjunction with TSM / IBM Spectrum Protect. There is at least one and usually more resource managers in an ICM implementation. The Resource Manager is also built upon a DB2 database and is actually the index to the resources (= files) on a filesystem.
Mid-tier server
Functions as a broker that mediates communications between the client (web browser) and the library server. This is implemented via IBM WebSphere Application Server.
Clients
Users access the content via the eClient in a Web Browser, with JavaServer Pages (JSP), servlets and a viewer applet that runs on IBM WebSphere Application Server. Also a normal (fat) Windows client, and an administrative client is available.

A standalone configuration of IBM Content Manager
The latest version of IBM Content Manager and OnDemand is version 8.3. Version 9 of IBM Content Manager will presumably combine the two products of ICM and OnDemand into 1 product (but this is only a rumour up till now). Version 8.3 from OnDemand is the same as version 7.1.2.
A number of external links, related to IBM Content Manager:
Official IBM sites:
- DB2 Information Management on IBM.com
- Content Manager Home on IBM.com
- Information Integrator for Content (II4C) or Enterprise Information Portal (EIP)
- Content Manager OnDemand for Multiplatforms on IBM.com
- DB2 Content Manager for Multiplatforms - Support
- DB2 Universal Database for Linux, UNIX and Windows - Support
- Content Manager Backup/Recovery and High Availability Redbook
- DB2 Product Family
- DB2 fixes
- DB2 Information Management Training
- DB2 Information Center
- The DB2 Memory Model
- Everything you wanted to know about DB2 Universal Database processes
- An Overview of Transactional Logging in DB2 Universal Database
- IBM FTP Site for On Demand
- IBM Content Manager User newsgroup
- Content Manager 8.3 announcement
Related links:

For Websphere Application Server: versionInfo.sh (default in the subdir bin of the WebSphere installation directory:
# /usr/WebSphere/AppServer/bin/versionInfo.shFor DB2 Universal database (version 5):
# su - db2inst1 -c db2levelFor IBM Content Manager (version 8):
# /usr/lpp/icm/bin/cmlevelContent Manager eClient (version 8):
# /opt/IBM/CMeClient/cmlevelEIP:
# /usr/lpp/cmb/bin/cmlevelJava:
# java -versionAll other software, on AIX use:
# lslpp -l
ICM is a complex system. It uses several different parts: DB2 database, WebSphere, HTTP Server, ICM software and of course the operating system. This usually leads to confusion about who's administering the system.
Usually the DBA or the storage administrator will be made responsible for the ICM system. The DBA, because ICM is in the DB2 portfolio of IBM. The storage administrator, because ICM usually stores large amounts of data and requires a
difficult backup methodology.
But in the end, it doesn't matter much, as long as there is a team responsible for the ICM system at whole, who knows the different parts of the system, and how they work together. And knows who to contact if a problem is very specific to a certain part of the ICM system, like database, or backup.
Test access to the IBM HTTP Server by accessing the following URLs:
- http://server.name.com
- https://server.name.com
- http://server.name.com:8008
- http://server.name.com:9090/admin
- http://server.name.com/snoop
- http://server.name.com/icmrm/snoop
- https://server.name.com/icmrm/SnoopServlet
- http://server.name.com:9080/snoop
- https://server.name.com:9443/snoop
- http://server.name.com:9081/icmrm/snoop
- https://server.name.com:9444/icmrm/snoop
- http://server.name.com/icmrm/ICMResourceManager
- https://server.name.com:9444/icmrm/ICMResourceManager
- https://server.name.com:9444/icmrm/ICMRMAdminServlet
(log in with your "rmadmin" user and password) - https://server.name.com/icmrm/ICMRMAdminServlet/sms
- http://server.name.com/icmrm/UTFTestServlet
- https://server.name.com/icmrm/UTFTestServlet
- Import a document into the NOINDEX document type.
- Do a basic search on the NOINDEX document type and find your imported document.
- Double click the document to display it (if not already displayed).
- Close the Windows client.
- For version 8.2: http://server.name.com/eClient82/IDMInit
- For version 8.3: http://server.name.com:9083/eclient/IDMInit
- Log in.
- Do a search on the NOINDEX item type.
- Find and display the imported document.
(if no document displays, check if you installed and configured XVFB)
- Log in.
- Click on Resource Managers.
- Click on the plus (+) sign for Resource Managers.
- Click on the resource manager that is shown.
- If you have no error, SSL communication to the Resource Manager is working properly.
Topics: ↑
How to catalog a DB2 database
- Open DB2 Command Window
- Run "C:\Program Files\IBM\cmgmt\cmbdbcat81" AIX CAT DBP001 KL101234 INSTP001 KL101234.FQDN.COM 50000
DBP001 is the actual database name
KL101234 is the alias you are going to use to connect to the database, you may keep it the same.
INSTP0001 is the DB2 instance name
Make sure to enter the fully qualified domain name as the hostname (kl101234.fqdn.com)
50000 is the default DB2 port
This is how to uncatalog a database:
- db2 => list node directory (check node)
- db2 => uncatalog node INSTP001
- db2 => list database directory (check db)
- db2 => uncatalog database KL101234
In your DB2 command line window, run: db2
- db2 => connect to KL101234 user icmadmin using icmadmin
- db2 => list tables
To get the new database to work with the IBM Content Manager Windows client and system administration client:
- Add to file: C:\Program Files\ibm\CMgmt\cmbds.ini:
FEDSERVER=KL101234
FEDSERVERREPTYPE=DB2
FEDSCHEMA=ICMADMIN
FEDSSO=FALSE
FEDDBAUTH=SERVER
FEDREMOTE=TRUE
FEDHOSTNAME=kl101234.fqdn.com
FEDPORT=50000
FEDREMOTEDB=DBP001
FEDNODENAME=kl101234
FEDOSTYPE=AIX
- Add to file: C:\Program Files\ibm\CMgmt\cmbicmsrvs.ini:
ICMSERVER=KL101234
ICMSERVERREPTYPE=DB2
ICMSCHEMA=ICMADMIN
ICMSSO=FALSE
ICMDBAUTH=SERVER
ICMREMOTE=FALSE
ICMHOSTNAME=
ICMPORT=
ICMREMOTEDB=
ICMNODENAME=
ICMOSTYPE=
- Now you can startup the IBM Content Manager Windows client and system administration client and login.
Displaying results: 401 - 410.


