Tech Blog

These are blog entries written by the UNIX Health Check development team. Our team has extensive technical experience on both AIX and Red Hat systems, and we like to share our knowledge with our visitors.

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 ? SQL0964c
If you wish to know more on error code SQL0964c.

Listing tables in other schema
db2> list tables for schema s1
db2> list tables for all
Describing a table
db2> select tabschema, tabname from syscat.tables
db2> describe table [schema-name].[table-name]
View the database manager configuration
# db2 get dbm config
Content 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.

Topics: IBM Content Manager

Content Manager Upgrade tip

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 Manager
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)
Press Apply and quit the Server Configuration Utility. Start up the System Administration client and login with user icmadmin.

Topics: IBM Content Manager

Icmrmvolval and finding the document

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:
A1001001A04D28A95704H07197
The following query on the Library Server database, determines the library server item ID:
db2 => connect to ICMNLSDB user ICMADMIN
select sourceitemid from icmstri001001 where targetitemid = 'A1001001A04D28A95704H07197'
This will result in something like:
SOURCEITEMID
--------------------------
A1001001A04D28A95704F54278
Now your able to determine the numerical value of the itemType:
select componenttypeid from icmstitems001001 where itemid = 'A1001001A04D28A95704F54278'
This will result in something like:
COMPONENTTYPEID
---------------
1007
Now the attributes of the item can be queried:
select * from icmut01007001
where itemid = 'A2001001A04J03C02629E64804'
(Substitute the numerical itemType value you queried before in the table name of this query).

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 b
where a.itemid = b.sourceitemid and b.targetitemid = 'A1001001A04D28A95704H07197'
This will result in something like:
COMPONENTTYPEID ITEMID
--------------- --------------------------
1007            A1001001A04D28A95704F54278
It 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:
select a.componenttypeid, a.itemid from icmstitems001001 a, icmstri001001 b, tempitems c where a.itemid = b.sourceitemid and b.targetitemid = c.ritemid
This 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.

Topics: DB2, IBM Content Manager, Spectrum Protect

IBM Content Manager introduction

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.
Forrester conducted a research of various Enterprise Content Management suites in June and July 2005. They concluded that IBM Content Manager, together with Documentum, is one of the market leaders in its field: "IBM and EMC are clear ECM suite leaders. IBM and EMC have both been in the ECM market for the longest time and have ECM strategies that align with IT's needs." - The Forrester Wave, Enterprise Content Management Suites, Q3 2005 - October 7, 2005.

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.

Topics: DB2, IBM Content Manager

IBM Content Manager links

A number of external links, related to IBM Content Manager:

Official IBM sites:

Content ManagerRelated links:

Topics: DB2, IBM Content Manager

IBM Content Manager version information

For Websphere Application Server: versionInfo.sh (default in the subdir bin of the WebSphere installation directory:

# /usr/WebSphere/AppServer/bin/versionInfo.sh
For DB2 Universal database (version 5):
# su - db2inst1 -c db2level
For IBM Content Manager (version 8):
# /usr/lpp/icm/bin/cmlevel
Content Manager eClient (version 8):
# /opt/IBM/CMeClient/cmlevel
EIP:
# /usr/lpp/cmb/bin/cmlevel
Java:
# java -version
All other software, on AIX use:
# lslpp -l

Topics: IBM Content Manager

ICM System Administration

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.

Topics: IBM Content Manager

Tests to see if ICM is working correctly

Test access to the IBM HTTP Server by accessing the following URLs:

  • http://server.name.com
  • https://server.name.com
IBM HTTP Administration Server:
  • http://server.name.com:8008
WAS Admin console:
  • http://server.name.com:9090/admin
Snoop servlets:
  • 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
Accessing the Resource Manager:
  • 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
Start the IBM Content Manager V8 Client for Windows and log in.
  • 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.
Now start the eClient:
  • 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)
Start the System Administration Client.
  • 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
Where:
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
Test to see if it works:
In your DB2 command line window, run: db2
  • db2 => connect to KL101234 user icmadmin using icmadmin
  • db2 => list tables
Where: the default icmadmin userid is used with password (using) icmadmin

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.

Number of results found: 470.
Displaying results: 401 - 410.