System move and extended upgrade of IBM Content Manager Enterprise Edition from Version 8.4.3 to Version 8.6+
System move and extended upgrade of
IBM Content Manager
Enterprise Edition
from Version 8.4.3 to Version 8.6+
2
Contents
1. Introduction ..................................................................................................... 3
2. Content Manager EE system move overview ..................................................... 5
2.1 Content Manager EE system move stages ........................................................ 6
3. Prepare the software levels for the source and target systems ........................ 7
4. Collecting the configuration information from the source system..................... 8
4.1 Collecting the library server configuration information ....................................... 8
4.2 Collecting the resource manager information .................................................... 9
4.3 Collecting other resource manager configuration information ............................ 10
4.4 Collecting the configuration history from the Installation Data Repository file ..... 10
5. Preparing and setting up the target system.................................................... 11
5.1 System settings .......................................................................................... 11
5.2 Database settings ....................................................................................... 12
5.3 Other applications ....................................................................................... 14
5.4 Content Manager EE preparation ................................................................... 14
6. Moving data from the source system to the target system ............................. 21
6.1 Take the Content Manager EE source system offline ........................................ 21
6.2 Moving the library server database and resource manager database.................. 24
6.3 Move the resource manager objects .............................................................. 29
6.4 DB2 only: DB2 Net Search Extender indexes .................................................. 30
6.5 Oracle only: Recreate the Oracle Text Search indexes ..................................... 33
7. Extended upgrade of Content Manager EE on the target system ..................... 36
7.1 Extended upgrade of Content Manager EE V8.6 on target system ...................... 36
7.2 Match the target system configuration with the new environment ..................... 37
8. Validating the target system .......................................................................... 44
9. Examples ........................................................................................................ 45
9.1 Example 1: Moving and extended upgrade of a DB2 system ............................. 46
9.2 Example 2: Moving and extended upgrade of an Oracle system ........................ 55
3
1. Introduction
This document provides information about how to:
Move IBM Content Manager Enterprise Edition (Content Manager EE) V8.4.3 from one
computer to another.
Perform an extended upgrade to Content Manager EE V8.6 or later after moving it.
It also includes two detailed examples of a system move with extended upgrade for Content
Manager EE V8.4.3.
Background
Some Content Manager EE Version 8.4.3 systems are running on old or outdated computers
and the related software (for example: operating system, database) that is also old or outdated.
The performance of Content Manager EE can be improved by moving it to a new computer.
This document describes how to move Content Manager EE V8.4.3 to a new computer and
how to perform an extended upgrade to V8.6 or later on the new computer.
The system move process that is described in this document is for moving only Content
Manager EE V8.4.3 and its fix packs. To move a system that is at a version earlier than
V8.4.3, you must first upgrade Content Manager EE to V8.4.3.
Extended upgrade process: Overview
The extended upgrade process enables you to install only the prerequisite software which will
be used for Content Manager EE V8.6, and to configure Content Manager EE V8.6 on the
target computer. The target system will not be configured with the same Content Manager EE
version as the source system, and will not contain the interim prerequisite software used for
Content Manager EE V8.4.3 or V8.5. The extended upgrade process uses these steps:
1. On the target computer, create and configure the library server database and resource
manager database.
2. Move the library server and resource manager databases from the source computer to the
target computer, replacing the databases that you created in step 1.
3. Change the cmconfig.xml file to handle the extended upgrade.
4. Upgrade the library server database and resource manager database that you moved in
step 2 to V8.6.
4
System moves not supported by this document
This document does not cover the following topics:
Moving to a different database, for example, from Oracle to DB2.
Moving Content Manager EE configurations which are not supported by IBM.
Moving to or from Content Manager EE on z/OS, iSeries or IBM i.
Moving the storage management system, for example, from Tivoli Storage Manager to
disk.
Moving from Windows to UNIX/Linux or from UNIX/Linux to Windows, if Tivoli
Storage Manager is used to store objects in the Content Manager EE system.
If you need help with these topics, contact the IBM Analytics Services Team.
Disclaimer
Moving Content Manager EE system from one environment to another can be complex, time
consuming, and prone to errors. A successful move requires a thorough understanding of
Content Manager EE, the DBMS, storage, and the operating system technologies that are
involved.
There are a wide variety of possible configurations, so each configuration might be different.
Therefore, use this document only a starting point: it shows how to perform the system move
in a typical configuration. You must customize the steps to make them work in your
particular environment. You must also test and validate the target system by verifying that
your applications still work as expected after you have moved them.
Recommendation: For more help with moving a system, contact the IBM Analytics Services
team.
Special notice
The document is provided to assist with the migration of Content Manager EE V8.4.3. Such
Materials are provided by IBM on an “as-is” basis. IBM makes no representations or
warranties regarding these Materials and does not provide any guarantee or assessment that
the use of such Materials will result in a successful customer Content Manager EE migration.
5
2. Content Manager EE system move overview
This document divides the Content Manager EE components into two types: database
components and other components. The system move procedure moves the database
components from the source computer to the target computer, and then configures the other
components on the target computer.
Database components
The database components are:
the library server database
the resource manager database.
These components are moved from the source to the target using DBMS tools.
Other components
The other components include:
resource manager application
system administration client
system administration web client
connectors
toolkits and samples
web services
document constructor plug-in for DB2 Text Search server.
These components are configured using the Content Manager EE configuration manager.
Since Content Manager EE will be upgraded to Content Manager EE V8.6 after the system
move, all dropped features (for example: II4C, eClient, C++ connector) will not be
configured in the target system. Note: If your library server database, resource manager
database and resource manager application are installed on different computers, you must
upgrade the library server database first.
6
2.1 Content Manager EE system move stages
To perform the Content Manager EE system move with extended upgrade, complete the
following steps:
1. Prepare source and target software levels.
See “Prepare the software levels for the source and target systems” on page 7.
2. Collect the configuration information for the source system.
See “Collecting the configuration information from the source system” on page 8.
3. Prepare and set up the target system. Install Content Manager EE V8.6, and then
configure the database components.
See “Preparing and setting up the target system” on page 11.
4. Backup the cmconfig.xml file, and then change it to handle the extended upgrade.
See “Changing the cmconfig.xml file” on page 16.
5. Move the databases from the source system to the target system.
See “Moving data from the source system to the target system” on page 21.
6. Upgrade the database components with the moved databases to Content Manager EE V8.6
on the target system.
See “Extended upgrade of Content Manager EE on the target system” on page 36.
7. Restore the cmconfig.xml file which you backed up in step 4. Install the other
components for Content Manager EE V8.6 on the target system, and then configure them.
See “Configure the other components” on page 37.
7
3. Prepare the software levels for the source
and target systems
Source system
The “source system” is your existing Content Manager EE system.
Target system
The “target system” is the Content Manager EE system on the new computer.
For system move with extended upgrade, make sure that the computer meets the Content
Manager EE V8.6 prerequisite software levels. See:
https://www.ibm.com/software/reports/compatibility/clarity-reports/report/html/softwareReqs
ForProduct?deliverableId=032F0C901B7811E7A99D5014AD6C3D46
8
4. Collecting the configuration information
from the source system
Before you set up the target system and move the system, you must get information about the
Content Manager EE configuration from the source computer. You need this information so
that you can set up the target computer with the same information. For example:
The system user IDs (for example, icmadmin and rmadmin) and their passwords must be
the same in both systems.
The database settings (for example, the database and schema names, and the user
passwords) must be the same in both systems.
When you collect the information, make sure that spelling and case (uppercase, lowercase)
for user IDs, database names, and so on, are correct.
4.1 Collecting the library server configuration
information
Collect the library server configuration information from the source system. To find out what
information to collect, see these links:
DB2 on Windows
https://www.ibm.com/support/knowledgecenter/SSAHQR_8.4.3/com.ibm.installingcm.doc/d
cmcw319.htm
DB2 on UNIX
https://www.ibm.com/support/knowledgecenter/SSAHQR_8.4.3/com.ibm.installingcm.doc/d
cmca163.htm
Oracle
https://www.ibm.com/support/knowledgecenter/SSAHQR_8.4.3/com.ibm.installingcm.doc/d
cmcw190.htm
https://www.ibm.com/support/knowledgecenter/SSAHQR_8.4.3/com.ibm.installingcm.doc/d
cmcw192.htm
https://www.ibm.com/support/knowledgecenter/SSAHQR_8.4.3/com.ibm.installingcm.doc/d
cmcw193.htm
9
https://www.ibm.com/support/knowledgecenter/SSAHQR_8.4.3/com.ibm.installingcm.doc/d
cmcw195.htm
4.2 Collecting the resource manager information
If your source system contains one or more resource managers, you must collect their
configuration information from the source system. To find out what information to collect,
see these links:
Information required for the resource manager database
DB2 on Windows
https://www.ibm.com/support/knowledgecenter/SSAHQR_8.4.3/com.ibm.installingcm.doc/d
cmcw320.htm
DB2 on UNIX
https://www.ibm.com/support/knowledgecenter/SSAHQR_8.4.3/com.ibm.installingcm.doc/d
cmca175.htm
Oracle
https://www.ibm.com/support/knowledgecenter/SSAHQR_8.4.3/com.ibm.installingcm.doc/d
cmcw196.htm
https://www.ibm.com/support/knowledgecenter/SSAHQR_8.4.3/com.ibm.installingcm.doc/d
cmcw197.htm
https://www.ibm.com/support/knowledgecenter/SSAHQR_8.4.3/com.ibm.installingcm.doc/d
cmcw199.htm
Information required for the resource manager application server
Windows
https://www.ibm.com/support/knowledgecenter/SSAHQR_8.4.3/com.ibm.installingcm.doc/d
cmcw321.htm
UNIX
https://www.ibm.com/support/knowledgecenter/SSAHQR_8.4.3/com.ibm.installingcm.doc/d
cmca179.htm
10
4.3 Collecting other resource manager configuration
information
Physical storage mapping
You can get the resource manager physical storage mapping from each resource manager
database by collecting the contents of the RMVOLUMES table. Volumes will be moved
one-to-one, and will not be merged during the system move.
Physical directory paths and logical volume names might be different on the target system.
After the move, the database entries in the resource manager will be updated to reflect the
target’s physical storage environment. For more information, see “
Note: This SQL command should be run before Extended upgrade Content Manager EE
V8.6 on target system on DB2.
Checking the disk volumes” on page 40.
Tivoli Storage Manager option file
If Tivoli Storage Manager is used as a resource manager storage volume, collect the option
file (usually named dsm.opt on Windows, or dsm.sys and dsm.opt on UNIX/Linux) on the
source system, and then back it up. The option file is used to connect to the Tivoli Storage
Manager server, and it will be copied to the new target system.
4.4 Collecting the configuration history from the
Installation Data Repository file
The Installation Data Repository (IDR) file records the Content Manager EE installation and
configuration history, and contains configuration information for the source system. Its name
is ECMInstallDataV8.xml; its location is given below.
Operating system File location
UNIX/Linux /var/ibm/ecm/ECMInstallDataV8.xml
Windows Server 2003 C:\Documents and Settings\All Users\Application
Data\IBM\ecm\ECMInstallDataV8.xml
Windows Server 2008
Windows Server 2012
C:\ProgramData\IBM\ecm\ECMInstallDataV8.xml
12
5. Preparing and setting up the target
system
All software on the target computer must meet the requirements that are described in
“Prepare the software levels for the source and target systems” on page 7.
To stay compatible with the data coming from the source system, the target system
should match as closely as possible. The closer the target system’s configuration
matches the source system, the easier the system move.
5.1 System settings
IP addresses and hostnames
When the Content Manager EE system moves to the new computer, the IP addresses
and/or hostnames will be different. After the move, the database entries and
configurations will be updated to use the new values.
User IDs and passwords
Create the user IDs on the target computer:
the library server administration ID (for example, icmadmin)
the library server connection ID (for example, icmconct)
the resource manager administration ID (for example, rmadmin).
Use the same user IDs and passwords as in the source system (including case
sensitivity): refer to the information that you collected earlier.
To create the user IDs with the correct rights, see:
https://www.ibm.com/support/knowledgecenter/SSRS7Z_8.6.0/com.ibm.installingcm.
doc/dcmcw127.htm
System date and time
Make sure that the system date and time on the source and the target are the same. (A
time difference of one minute or less is acceptable.) This ensures that the Content
Manager EE functions, which rely on timestamp information, work properly.
For example, to change the time to 14:54:00, use this command:
date -s 14:54:00
13
5.2 Database settings
To move the library server and resource manager databases, use the DBMS’s
migration tool. If the migration tool requires that you create the databases before
migrating the data, make sure that the database names are the same on the source
system and the target system (including case-sensitivity). Changing database names is
beyond the scope of this document.
Use the same tablespace configurations on the target system as those which are on the
source system. When you use the DBMS backup and restore functionality in the move
procedure, the restore operation creates the tables in the same tablespaces by default.
Therefore, the easiest and recommended approach is to use the same tablespace
configurations on the target system as those which are on the source system. Although
it might be possible during database restore to map the source database tablespaces to
the new target database tablespaces, that is beyond the scope of this document.
Oracle
1. Before moving the system, create the databases, the listener.ora file, and the
tnsnames.ora file. For more information, see:
For Content Manager EE V8.6
https://www.ibm.com/support/knowledgecenter/SSRS7Z_8.6.0/com.ibm.installing
cm.doc/dcmoc100.htm
Example listener.ora file
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = ICMLSEXTPROC))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = unixhost.mydomain.com)(PORT = 1521))
)
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = ICMLSExtProc)
(ORACLE_HOME = /u01/oracle/product/12.2.0.1)
(PROGRAM = extproc)
14
(ENVS="EXTPROC_DLLS=ONLY:/opt/IBM/db2cmv8/lib/ICMPORSP:/opt/IBM/db2cmv8/lib/ICMPORSV,
LD_LIBRARY_PATH=/opt/IBM/db2cmv8/icc64/lib64:/u01/oracle/product/12.2.0.1/lib:$LD_LIB
RARY_PATH")
)
)
)
Example tnsnames.ora file
SHAREDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = unixhost.mydomain.com)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = sharedb)
)
)
#The EXTPROC_CONNECTION_DATA entry is for Oracle12cR1 on Content Manager EE V8.6GA.
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = ICMLSEXTPROC))
)
(CONNECT_DATA =
(SID = ICMLSExtProc)
(PRESENTATION = RO)
)
)
#The EXTPROC_CONNECTION_CM8 entry is for Oracle12cR1 on Content Manager EE V8.6 fixpack
1 or later and Oracle12cR2.
EXTPROC_CONNECTION_CM8 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = ICMLSEXTPROC))
)
(CONNECT_DATA =
(SID = ICMLSExtProc)
(PRESENTATION = RO)
)
)
#Recommendation:You can keep both EXTPROC_CONNECTION_CM8 and EXTPROC_CONNECTION_DATA in
tnsnames.ora for Oracle12cR1.
15
5.3 Other applications
WebSphere Application Server settings
Recommendation: Use the same WebSphere Application Server home path, profile
home path, port numbers, and administration user name on the target system as those
that are on the source system.
Tivoli Storage Manager
Configure Tivoli Storage Manager on the target system so that is exactly the same as
on the source system.
DB2 NSE
If DB2 NSE is used in the source system, install and configure it on the target system.
5.4 Content Manager EE preparation
5.4.1 Preparing for a system move with extended upgrade
Initial configuration of the library server and resource manager
databases
On the target computer, install and configure the Content Manager EE V8.6 or later
library server and/or resource manager databases. See:
https://www.ibm.com/support/knowledgecenter/SSRS7Z_8.6.0/com.ibm.installingcm.
doc/dcmco095.htm
If you are using the export/import approach
If you are using the export/import approach to move the data to the target computer,
you must do one of the following before moving it in order to avoid data conflicts:
For DB2: Clean the database, and then recreate it.
For Oracle: Clean the administration users, and then recreate them.
For more information, see below.
DB2: Cleaning the database and recreating it
1. Drop the library server database and resource manager database which you created
in “Initial configuration of the library server and resource manager databases”
above.
16
2. Create an empty library server database and resource manager database. Use the
CODESET and TERRITORY information that you found in “Collecting the
library server configuration information” on page 8.
For example:
db2 "CREATE database icmnlsdb USING CODESET UTF8 TERRITORY US"
Oracle: Dropping and recreating the administrator users
1. Make sure the administrator users for the library server and the resource manager
are not shared with other applications.
2. Drop the library server and resource manager administration users.
For example, login as the Oracle sysdba user, and then use these SQL commands:
drop user icmadmin cascade;
drop user rmadmin cascade;
3. Recreate the users, and then grant the correct privileges for them. To do this,
change to the directory which contains the Content Manager EE
icmlsschemas.sql and icmrmschema.sql files, and then run this command:
sqlplus sys/<sys's password>@<icmnlsdb> as sysdba
@icmlsschemas.sql <icmadmin> <password> <icmconct> <password> ICMLFQ32 TEMP
where:
<icmnlsdb> is the library server database
<icmadmin> <password> are the library server administrator user and
password
<icmconct> <password> are the library server connection database user and
password.
ICMLFQ32 TEMP is the default tablespace for library server database users. This
value is required, but ignored.
4. Run this command:
sqlplus sys/<sys's password>@<rmdb> as sysdba
@icmrmschema.sql <rmadmin> <password> OBJECTS TEMP
where <rmadmin> <password> are the resource manager administration database
user and password.
OBJECTS TEMP is the default tablespace for resource manager database users. This
value is required, but ignored.
17
Changing the cmconfig.xml file
Changing the cmconfig.xml file is an important step for the extended upgrade
process. It tells the Content Manager EE configuration manager that the current
Content Manager EE system needs to be upgraded instead of requiring a fresh
configuration.
Notes
During the extended upgrade process, all of the configuration panels reflect
Content Manager EE V8.6 library server database and resource manager database
fresh configuration panels instead of upgrade panels. If you have two or more
resource manager databases on the same computer, you must upgrade them
individually.
Before changing the cmconfig.xml file, make a backup of the original in the
IBMCMREPO/CM_version/cmcfgmgr directory. You will return this original file for
a normal Content Manager configuration after the extended upgrade is completed.
Before changing the cmconfig.xml file, close the configuration manager.
The only section that you need to change is the <pages> </pages> section.
This is the original cmconfig.xml file, before any changes:
<?xml version="1.0"?>
<cfgmgr>
<global>
<property name="RXA_CONNECT_TIMEOUT" value="-1"></property>
<property name="RXA_RUN_INTERNAL_TIMEOUT_WIN" value="-1"></property>
<property name="RXA_RUN_INTERNAL_TIMEOUT_UNIX"
value="20000"></property>
<property name="CFG_STATUS_CHECK_INTERVAL" value="5000"></property>
</global>
<!--
<pages>
</pages>
-->
</cfgmgr>
The following cmconfig.xml examples are only illustrations of what you might
need to change for extended upgrade. Changing the cmconfig.xml file is complex;
if you need more information, contact IBM Analytics Services.
18
Examples of the cmconfig.xml file
The extended upgrade can be used for only the library server database and/or resource
manager database components. There are three possible scenarios on the target
system:
Scenario 1: Only library server database
Scenario 2: Only resource manager database
Scenario 3: Both library server database and resource manager database on the
target computer.
Notes
Content Manager EE V8.6 or later provides three examples for the scenarios. They
are called cmconfig.xml.sample.extendedupgrade.*, and they are in the
IBMCMREPO/cm_version/cmcfgmgr directory.
In these examples, the resource manager is named rmname.
Scenario 1: Only library server database
<?xml version="1.0"?>
<cfgmgr>
<global>
<property name="RXA_CONNECT_TIMEOUT" value="-1"></property>
<property name="RXA_RUN_INTERNAL_TIMEOUT_WIN" value="-1"></property>
<property name="RXA_RUN_INTERNAL_TIMEOUT_UNIX" value="20000"></property>
<property name="CFG_STATUS_CHECK_INTERVAL" value="5000"></property>
</global>
<pages>
<page pageId="com.ibm.cm.cfg.wizards.StartConfigPage">
<model name="lsrte">
<property name="nextFileOperation.needToDo" value="true"
aspect="before"></property>
<!-- Set configuration type of lsrte to 'upgrade'-->
<property name="nextConfigOperation.type" value="upgrade"
aspect="before"></property>
</model>
<model name="cm">
<!-- Set configuration type of cm model to 'upgrade'-->
<property name="nextFileOperation.type" value="upgrade"
aspect="before"></property>
<!-- Set configuration type of cm model to 'upgrade'-->
<property name="nextConfigOperation.type" value="upgrade"
aspect="before"></property>
<property name="actionType" value="UPGRADE_ADD"
19
aspect="before"></property>
</model>
</page>
</pages>
</cfgmgr>
Scenario 2: Only resource manager database
<?xml version="1.0"?>
<cfgmgr>
<global>
<property name="RXA_CONNECT_TIMEOUT" value="-1"></property>
<property name="RXA_RUN_INTERNAL_TIMEOUT_WIN" value="-1"></property>
<property name="RXA_RUN_INTERNAL_TIMEOUT_UNIX" value="20000"></property>
<property name="CFG_STATUS_CHECK_INTERVAL" value="5000"></property>
</global>
<pages>
<page pageId="com.ibm.cm.cfg.wizards.StartConfigPage">
<model name="rmdb" inst="rmname">
<property name="nextFileOperation.needToDo" value="true"
aspect="before"></property>
<!-- Set configuration type of rmdb to 'upgrade'-->
<property name="nextConfigOperation.type" value="upgrade"
aspect="before"></property>
</model>
<model name="cm">
<!-- Set configuration type of cm model to 'upgrade'-->
<property name="nextFileOperation.type" value="upgrade"
aspect="before"></property>
<!-- Set configuration type of cm model to 'upgrade'-->
<property name="nextConfigOperation.type" value="upgrade"
aspect="before"></property>
<property name="actionType" value="UPGRADE_ADD"
aspect="before"></property>
</model>
</page>
</pages>
</cfgmgr>
Scenario 3: Both library server database and resource manager database on the
target computer
<?xml version="1.0"?>
<cfgmgr>
<global>
<property name="RXA_CONNECT_TIMEOUT" value="-1"></property>
20
<property name="RXA_RUN_INTERNAL_TIMEOUT_WIN" value="-1"></property>
<property name="RXA_RUN_INTERNAL_TIMEOUT_UNIX" value="20000"></property>
<property name="CFG_STATUS_CHECK_INTERVAL" value="5000"></property>
</global>
<pages>
<page pageId="com.ibm.cm.cfg.wizards.StartConfigPage">
<model name="lsrte">
<property name="nextFileOperation.needToDo" value="true"
aspect="before"></property>
<!-- Set configuration type of lsrte to 'upgrade'-->
<property name="nextConfigOperation.type" value="upgrade"
aspect="before"></property>
</model>
<model name="rmdb" inst="rmname">
<property name="nextFileOperation.needToDo" value="true"
aspect="before"></property>
<!-- Set configuration type of rmdb to 'upgrade'-->
<property name="nextConfigOperation.type" value="upgrade"
aspect="before"></property>
</model>
<model name="cm">
<!-- Set configuration type of cm model to 'upgrade'-->
<property name="nextFileOperation.type" value="upgrade"
aspect="before"></property>
<!-- Set configuration type of cm model to 'upgrade'-->
<property name="nextConfigOperation.type" value="upgrade"
aspect="before"></property>
<property name="actionType" value="UPGRADE_ADD"
aspect="before"></property>
</model>
</page>
</pages>
</cfgmgr>
Notes
In <model name="rmdb" inst="rmname">, replace rmname with the name of the
resource manager. It is the only value which might be changed for the three
scenarios. If you use Oracle, the resource manager name might be different from
the resource manager database name. You can get the resource manager name
from the IDR file: look for the dbName parameter in the <feature id="XXXX"
name="rmdb"> (for example: <feature id="1102" name="rmdb">) section. You
cannot change model name="rmdb", because it is a fixed Content Manager EE
feature name for the resource manager database and is not a real database name.
21
If there are multiple resource manager databases, you must upgrade them
individually.
Upgrade the first resource manager database, and then close the configuration
manager. Comment out the model for the library server component that was
already upgraded, and then replace the instance name inst="rmdbname" with the
next resource manager (for example, change it to inst="rmdbname2"). Start the
configuration manager again, and then select only the resource manager database
component to upgrade it.
After the extended upgrade is completed, restore the original cmconfig.xml file.
22
6. Moving data from the source system to
the target system
In this section, you must take the source Content Manager EE system offline, so plan
for this outage accordingly.
To move the Content Manager EE data, you use the DBMS’s data move and
migration tools. Therefore, you must have a thorough understanding of both Content
Manager EE and the DBMS.
Recommendation: Involve the DBMS’s product services team in the data move.
Before the actual data move, validate the steps in a test (non-production) environment.
6.1 Take the Content Manager EE source system
offline
1. Disable all client applications to ensure that no new transactions are requested.
2. Ensure that all transactions have completed. Run the following SQL commands to
make sure that the task counts in the tables shown below is 0.
For the resource manager database
select count(*) from RMMIGRATIONTASKS
select count(*) from RMREPLICATION
select count(*) from RMOBJECTS where OBJ_STATUS='D'
For the library server database
select count(*) from ICMSTITEMSTODELETE
Services Database Table Condition
Migration Resource
manager
RMMIGRATIONTASKS N/A
Replication Resource
manager
RMREPLICATION N/A
Delete Library
server
ICMSTITEMSTODELETE N/A
Resource
manager
RMOBJECTS OBJ_STATUS='D'
23
3. Purge the resource manager staging. To do this, update the RMSTAGING table in
the resource manager database: Set both STA_PERCENTSTART and
STA_PERCENTSTOP to 0.
4. Restart the Purger service by using the Content Manager EE system administration
client.
5. Make sure that the staging directory is now empty. To do this, check that the task
count for these two conditions in the RMOBJECTS table is 0:
select count(*) from rmobjects where OBJ_STATUS='B'
select count(*) from rmobjects where OBJ_STATUS='L'
6.1.1 DB2 only: Handling the Content Manager EE
sequences and identity columns
After the system move, check the values of the sequences in the library server
database on the source and on the target. If the value for a sequence in the target is
less than the value in the source, you must change the value in the target.
The values of the sequences are in the CM_SEQ_UNUM and CM_SEQ_ACL fields.
1. To get the value of CM_SEQ_UNUM sequence, use a command like this:
select NEXTCACHEFIRSTVALUE from syscat.sequences where SEQNAME='CM_SEQ_UNUM'
Use this command on both the source and the target.
2. If the value on the target is less than the value on the source, you must change it.
To change CM_SEQ_UNUM to the next value (that is, the result of the source
library server SQL command + 1) in the target, use an SQL command like this:
alter sequence <icmadmin>.CM_SEQ_UNUM restart with <NextValue>
3. Repeat these steps for CM_SEQ_ACL.
4. Run the following SQL commands to make sure that the record count in the
following tables is 0.
select count(*) from RMAUDIT
select count(*) from ICMSTEVENTQUEUE
select count(*) from RMVALREPORT
If it is not, use the information that is in the “To empty the table” column.
Database Table To empty the table
Library RMEAUDIT Use any SQL tools.
24
server ICMSTEVENTQUEUE In the system administration client,
disable Enable Event Subscriptions.
Keep the Event Monitor running until
the record is 0.
Resource
manager
RMVALREPORT Log into the resource manager
administration console, and then click
Clean Report in the Validation
Report column.
5. Run the following SQL command to check whether the
ICMSTEVENTSUBSCRIPTIONS table in the library server has a count of 0. If
not, contact the IBM service team to handle the table migration.
select count(*) from ICMSTEVENTSUBSCRIPTIONS
6. DB2 only: Ensure all DB2 Net Search Extender indexing has completed.
For more information, see “Method 1: Migrating the NSE index” on page 31.
7. Stop all the resource manager services (purger, migrator, stager, and replicator)
using the Content Manager EE system administration client.
8. Stop all the WebSphere Application Server application servers.
9. DB2 only: Stop the library server monitor service.
10. DB2 only: Stop the Net Search Extender service.
11. Restart the database instance.
12. Restart all databases to stop all of the connections to the IBM Content Manager
servers.
13. Make a full, offline backup of all Content Manager databases.
For more information about how to perform these steps, see:
Windows:
https://www.ibm.com/support/knowledgecenter/SSAHQR_8.4.3/com.ibm.cmgmt843f
preadme.doc/fpinstallprepare_win.htm
UNIX/Linux:
https://www.ibm.com/support/knowledgecenter/SSAHQR_8.4.3/com.ibm.cmgmt843f
preadme.doc/fpinstallprepare_unix.htm
25
6.2 Moving the library server database and
resource manager database
The next stage is to move the library server database and resource manager database
from the source to the target.
If your DBMS has a backup/restore tool and the source system and the target
system meet the backup/restore requirement, you can backup the database on the
source, and then restore the database to the target computer.
Otherwise, you must use the DBMS export/import tools to export all Content
Manager EE data from the source database, and then import the data into the
database on target computer.
6.2.1 Change DB2 SMS or DMS to automatic storage table
spaces
If your Content Manager EE was upgraded from V8.3 on DB2
If your Content Manager EE was upgraded from V8.3 on DB2, the permanent table
spaces were created as system managed spaces (SMS) in Content Manager EE V8.3.
However, SMS is now deprecated for permanent table spaces that are user-defined.
For more information, see:
https://www.ibm.com/support/knowledgecenter/SSEPGG_10.1.0/com.ibm.db2.luw.w
n.doc/doc/i0058748.html
If your tablespaces used by the library server or resource manager are still in SMS
storage, you must change them to automatic storage, and then follow the
import/export approach to move the data, instead of backup/restore.
1. Generate the DDLs statements for your tablespaces in the source library server or
resource manager database. To do this, use the db2look command with the -l
option. For example:
db2look -d icmnlsdb -l
2. Change the DDLs to use automatic storage.
You can then change the create tablespace clauses from step 1 to use automatic
storage. The default scripts to create automatic storage table spaces are shown in
“Default scripts to create automatic storage table spaces” on page 25.
26
If your Content Manager EE was upgraded from V8.4.x on DB2
If your Content Manager EE was upgraded from V8.4.x on DB2, the permanent table
spaces are created as database managed spaces (DMS) in Content Manager EE V8.4.x.
However, DMS is now deprecated for permanent table spaces that are user-defined.
To change the DMS permanent table spaces to automatic storage table spaces during
the system move process, do one of the following:
After you use either the restore or import solution to move Content Manager EE
databases to the target system, run the following SQL commands to convert the
tablespaces from DMS to automatic storage.
ALTER TABLESPACE <tbsp_name> MANAGED BY AUTOMATIC STORAGE [USING STOGROUP
<stogroup-name>];
ALTER TABLESPACE <tbsp_name> REBALANCE;
Replace <tbsp_name> with the table space name. To get all the table spaces
names, run the following SQL command.
db2 "select TBSPACE from syscat.tablespaces where TBSPACETYPE = 'D' and SGNAME is null";
For example:
ALTER TABLESPACE ICMLFQ32 MANAGED BY AUTOMATIC STORAGE;
ALTER TABLESPACE ICMLFQ32 REBALANCE;
Alternatively, change the create tablespace DDLs generated by db2look or other
tools to use automatic storage clause before you run the DDLs to create database
objects in the target system. The default scripts to create automatic storage table
spaces are shown below.
For more information about DMS permanent table spaces, see
https://www.ibm.com/support/knowledgecenter/SSEPGG_10.1.0/com.ibm.db2.luw.w
n.doc/doc/i0060577.html.
Default scripts to create automatic storage table spaces
For the library server database:
CREATE LARGE TABLESPACE ICMLFQ32
PAGESIZE 32 K MANAGED BY AUTOMATIC STORAGE
INITIALSIZE 80 M
AUTORESIZE YES MAXSIZE NONE
EXTENTSIZE 32
BUFFERPOOL ICMLSMAINBP32;
CREATE LARGE TABLESPACE ICMLNF32
PAGESIZE 32 K MANAGED BY AUTOMATIC STORAGE
INITIALSIZE 40 M
27
AUTORESIZE YES MAXSIZE NONE
EXTENTSIZE 32
BUFFERPOOL ICMLSMAINBP32;
CREATE LARGE TABLESPACE ICMVFQ04
PAGESIZE 4 K MANAGED BY AUTOMATIC STORAGE
INITIALSIZE 10 M
AUTORESIZE YES MAXSIZE NONE
EXTENTSIZE 32
BUFFERPOOL ICMLSVOLATILEBP4;
CREATE LARGE TABLESPACE ICMSFQ04
PAGESIZE 4 K MANAGED BY AUTOMATIC STORAGE
INITIALSIZE 60 M
AUTORESIZE YES MAXSIZE NONE
EXTENTSIZE 32
BUFFERPOOL ICMLSFREQBP4;
CREATE LARGE TABLESPACE CMBINV04
PAGESIZE 4 K MANAGED BY AUTOMATIC STORAGE
INITIALSIZE 10 M
AUTORESIZE YES MAXSIZE NONE
EXTENTSIZE 32
BUFFERPOOL CMBMAIN4;
--***********************************************
--*** Create 32/4 K temporary system table spaces
--***********************************************
CREATE SYSTEM TEMPORARY TABLESPACE ICMLSSYSTSPACE32
PAGESIZE 32 K MANAGED BY AUTOMATIC STORAGE
BUFFERPOOL ICMLSMAINBP32;
CREATE SYSTEM TEMPORARY TABLESPACE ICMLSSYSTSPACE4
PAGESIZE 4 K MANAGED BY AUTOMATIC STORAGE
BUFFERPOOL ICMLSVOLATILEBP4;
--***********************************************
--*** Create LOB table spaces
--***********************************************
CREATE LARGE TABLESPACE ICMLOB32
PAGESIZE 32 K MANAGED BY AUTOMATIC STORAGE
INITIALSIZE 10 M
AUTORESIZE YES MAXSIZE NONE
EXTENTSIZE 32
BUFFERPOOL ICMLSMAINBP32;
28
CREATE LARGE TABLESPACE ICMLOBCOL04
PAGESIZE 4 K MANAGED BY AUTOMATIC STORAGE
INITIALSIZE 10 M
AUTORESIZE YES MAXSIZE NONE
EXTENTSIZE 32
BUFFERPOOL ICMLSVOLATILEBP4;
For the resource manager database:
CREATE SYSTEM TEMPORARY TABLESPACE TEMPSMSDATA
PAGESIZE 32K MANAGED BY AUTOMATIC STORAGE
BUFFERPOOL BLOBPOOL;
CREATE LARGE TABLESPACE OBJECTS
PAGESIZE 32 K MANAGED BY AUTOMATIC STORAGE
INITIALSIZE 20 M
AUTORESIZE YES MAXSIZE NONE
EXTENTSIZE 32
BUFFERPOOL OBJECTPOOL;
CREATE LARGE TABLESPACE OBJPARTS
PAGESIZE 32 K MANAGED BY AUTOMATIC STORAGE
INITIALSIZE 10 M
AUTORESIZE YES MAXSIZE NONE
EXTENTSIZE 32
BUFFERPOOL OBJPARTSPOOL;
CREATE LARGE TABLESPACE SMS
PAGESIZE 4 K MANAGED BY AUTOMATIC STORAGE
INITIALSIZE 10 M
AUTORESIZE YES MAXSIZE NONE
EXTENTSIZE 32
BUFFERPOOL SMSPOOL;
CREATE LARGE TABLESPACE BLOBS
PAGESIZE 32 K MANAGED BY AUTOMATIC STORAGE
INITIALSIZE 20 M
AUTORESIZE YES MAXSIZE NONE
EXTENTSIZE 32
BUFFERPOOL BLOBPOOL;
CREATE LARGE TABLESPACE REPLICAS
PAGESIZE 32 K MANAGED BY AUTOMATIC STORAGE
INITIALSIZE 20 M
29
AUTORESIZE YES MAXSIZE NONE
EXTENTSIZE 32
BUFFERPOOL REPLICAPOOL;
CREATE LARGE TABLESPACE TRACKING
PAGESIZE 4 K MANAGED BY AUTOMATIC STORAGE
INITIALSIZE 10 M
AUTORESIZE YES MAXSIZE NONE
EXTENTSIZE 32
BUFFERPOOL TRACKINGPOOL;
CREATE LARGE TABLESPACE VALIDATEITM
PAGESIZE 32 K MANAGED BY AUTOMATIC STORAGE
INITIALSIZE 20 M
AUTORESIZE YES MAXSIZE NONE
EXTENTSIZE 32
BUFFERPOOL VALIDATEPOOL;
CREATE LARGE TABLESPACE SMS32
PAGESIZE 32 K MANAGED BY AUTOMATIC STORAGE
INITIALSIZE 10 M
AUTORESIZE YES MAXSIZE NONE
EXTENTSIZE 32
BUFFERPOOL SMS32POOL;
Notes
The value of INITIALSIZE might be different in the real system; you can keep the
value for your system. You also can change it to a suitable value if needed.
Do not change the PAGESIZE and AUTOMATIC STORAGE clauses.
Make sure that the create database statement does not have an AUTOMATIC
STORAGE NO clause.
6.2.2 Back up or export the databases on the source
The backup/restore process is faster and simpler than the export/import process.
However, there are restrictions on when you can use it.
If you have SMS storage on the source system on DB2, you must convert it to
automatic storage on the target system (see “Change DB2 SMS or DMS to
automatic storage table spaces” on page 24), and then you must use the
export/import process.
30
The backup/restore process can be used only if the source platform and the target
platform have the same endianness format. For example, if the source platform is
Solaris, you can backup/restore to an AIX computer, but not to Linux or
Windows.
For more information, see:
https://www.ibm.com/support/knowledgecenter/SSEPGG_10.5.0/com.ibm.db2.lu
w.admin.ha.doc/doc/c0005960.html
Depending on which data move policy you are using, do one of the following:
Back up the library server database and all resource manager databases.
Export the data from the databases on the source system.
For more information, see the DMBS’s documentation.
6.2.3 Restore or import the databases on the target
1. Move the backed up or exported data to the target system, and then do one of the
following:
If you backed up the data, use the DBMS migration tool to restore the library
server and all resource manager databases
If you used DBMS export/import tool to export the data, import the data into
the databases on the target system.
2. If you used the export/import process for DB2, you must create the following alias
manually. Use a command like this:
db2 "CREATE ALIAS ICMFICTITIOUS FOR SYSIBM.SYSDUMMY1"
6.3 Move the resource manager objects
The object data that is used by the source resource manager system must be made
available to the target resource manager system (for example, the LBOSDATA binary
object storage directory structure). In some cases, this means physically moving the
data from one system to another. In other cases, it means making the existing data
accessible to the target system (for example, by connecting to a Tivoli Storage
Manager server or a SAN connection). Make sure that any file system and storage
migration operation is supported by the operating system and storage product service
team.
Important: The object data must be consistent with the database backups, and must
be performed at the same time while the system is inactive.
31
1. Determine the source and target file locations.
When physically moving data from one system to another, find the object data in
the source system, and then copy it to the new location in the target system.
Recommendation: To make things simpler, keep the relative paths the same.
However, if you want to change the path locations and hard drives for the volume
data on the target system, see “
Note: This SQL command should be run before Extended upgrade Content
Manager EE V8.6 on target system on DB2.
Checking the disk volumes” on page 40.
2. Make the data file accessible.
You can copy or mount the data by using any available method. In some
environments, you must keep the file permissions and file ownership the same.
This is one of the reasons why you must use the same the user IDs on the source
and target systems; changing file ownership could make the objects inaccessible to
the target resource manager application. For more information, see
https://www.ibm.com/support/knowledgecenter/SSRS7Z_8.5.0/com.ibm.administ
eringcm.doc/msr10200.htm.
By copying the data, the original data on the source system remains intact, and it is
available as a fallback, in case the target migration fails.
6.4 DB2 only: DB2 Net Search Extender indexes
If DB2 Net Search Extender (NSE) is installed and configured on the source computer,
perform the procedures in this section. If it is not installed, go to “Oracle only:
Recreate the Oracle Text Search indexes” on page 33.
You can move the Content Manager EE NSE text index by one of two methods;
which method you use depends on whether the NSE data files from the source system
are compatible with the target system.
If the NSE data files are compatible, see “Method 1: Migrating the NSE index”
below.
If they are not compatible, see “Method 2: Recreating the Content Manager EE
index” on page 31.
Recommendation: Engage the IBM DB2 NSE services team to evaluate whether the
source text index files are compatible with the target environment, or if the files
require using the migration utility to make them compatible.
32
The DB2 NSE migration tool has limitations, and not all scenarios are supported (for
example, Solaris to Linux migration). In such cases, you should recreate the NSE text
indexes.
6.4.1 Method 1: Migrating the NSE indexes
1. Make sure that all DB2 NSE indexing has completed on the source computer, and
make sure that all client applications are offline.
2. Get all the LOGTABLENAME values from the db2ext.TTEXTINDEXES table by
using this SQL command.
db2 "select LOGTABLENAME from db2ext.TTEXTINDEXES"
3. To see whether any text index tasks are pending, use this command for each
LOGTABLENAME:
db2 "select count(*) from db2ext.<logtablename>"
For example:
select count(*) from db2ext.TLOGIX003007
If the result is 0, it indicates that no index tasks are pending. Repeat the command
for all the LOGTABLENAMES.
4. Copy the NSE index files directory from the source system to the target system.
To find out which directory the NSE index files are in, use this command:
db2 "select indexdirectory from db2ext.textindexes"
5. Move the library server database to the target computer as described in “Moving
the library server database and resource manager database” on page 24.
6. Migrate NSE, and then copy the text index files to the target.
The easiest method is to use the same index directory as the source system. If you
have to use a different index directory on the target, see “Checking the indexes for
DB2 Net Search Extender” on page 43.
All the NSE migration tools are DB2 product features, which are supported by the
DB2 product team.
Next, go to “Extended upgrade of Content Manager EE on the target system” on page
36.
33
6.4.2 Method 2: Recreating the Content Manager EE
indexes
Recreating the text indexes can take up to several days depending on the size of your
source indexes.
1. Finish the Content Manager EE system move.
Make sure that the entire Content Manager EE system has been successfully
moved to the target computer, and that all component configuration and all data
has been completed and moved to the target computer. Recreating the indexes
should be the last step for the system move.
2. Collect the index information from the library server database on the target.
To this, log into the library server database as the icmadmin user, and then get the
component typeid, index names, UDF name, language code, format, and update
parameters by entering the following command:
db2 "select COMPONENTTYPEID , INDEXNAME ,COLUMNNAME ,UDFNAME, LANGUAGECODE, FORMAT,
UPDATEFEQ, MINCHANGES, COMMITCOUNT from ICMSTTEXTINDEXCONF"
3. Drop the text search indexes on the target individually, by using this command for
each index retrieved that was retrieved in step 2:
db2text "drop index <CMSCHEMA>.<INDNAME> for text connect to <icmnlsdb> user <icmadmin>
using <password>"
4. Recreate the indexes on the target, by using the following commands. The
example syntax uses these variables:
<UTTable> is ICMUT0+<COMPONENTTYPEID> (from step 2) +001
<ATTR0GroupID0AttrID> is COLUMNNAME (from step 2).
If the value retrieved for a parameter in step 2 is null, you can omit that parameter
from the command. For example, if FORMAT is null, you can omit the
<FORMAT> clause.
If the index is to be created for an attribute, use this command:
db2text "create index <CMSCHEMA>.<INDNAME> on <CMSCHEMA>.<UTTable>
(ATTR0GroupID0AttrID) for text format <FORMAT> update frequency <UPDATEFEQ> update
minimum <MINCHANGES> commitcount for update <COMMITCOUNT> connect to <icmnlsdb> user
<icmadmin> using <password>"
For example:
34
db2text "create index ICMADMIN.ICMUU01047001001 on ICMADMIN.ICMUT01047001
(ATTR0000001015) for text format TEXT update frequency D(*)H(*)M(0) update minimum
1 commitcount for update 1 connect to icmnlsdb user ICMADMIN using password"
If the index is to be created for a document part, use this command:
db2text "create index <CMSCHEMA>.<INDNAME> on <CMSCHEMA>.<UTTable>
(<CMSCHEMA>.<UDFNAME>(TIEREF)) for text format <FORMAT> update frequency <UPDATEFEQ>
update minimum <MINCHANGES> commitcount for update <COMMITCOUNT> connect to <icmnlsdb>
user <icmadmin> using <password>"
For example:
db2text "create index ICMADMIN.ICMUU01046001TIE on ICMADMIN.ICMUT01046001
(ICMADMIN.ICMfetchFilter(TIEREF)) for text format TEXT update frequency D(*)H(*)M(0)
update minimum 1 commitcount for update 1 connect to icmnlsdb user ICMADMIN using
password"
Notes
Repeat the command for each index that was retrieved in step 2.
The hostname referenced in the TIEREF column must match the target’s value.
To update the hostname, use a command like this:
db2 "update <CMSCHEMA>.<UTTable> set TIEREF =
REPLACE(TIEREF,'mysource','mytarget') "
<UTTable> is ICMUT0+<COMPONENTTYPEID> (from step 2) +001
Update all TIEREF values.
5. Update the indexes on the target: Make sure that the IBM Content Manager Java
samples are installed on the target. Then update all the indexes by using this API
call:
Java STextIndexUpdateICM <icmnlsdb> <icmadmin> <password>
Alternatively, you can update each index individually by using this command:
db2text "update index <CMSCHEMA>.<INDNAME> for text connect to <icmnlsdb> user
<icmadmin> using <password>"
For more information, see:
http://www-01.ibm.com/support/docview.wss?rs=86&uid=swg21284899
(“Appendix B: Migrating or Recreating NSE Text Indexes”)
Next, go to “Extended upgrade of Content Manager EE on the target system” on page
36.
35
6.5 Oracle only: Recreate the Oracle Text Search
indexes
If Oracle Text Search is used on the source computer, follow the instructions that are
in this section. If it is not used, go to “Extended upgrade of Content Manager EE on
the target system” on page 36.
To recreate the Oracle Text Search indexes
Recreating text indexes might take several days to complete, depending on the size of
the source indexes.
1. Finish the Content Manager EE system move.
Make sure the entire Content Manager EE system has already been successfully
moved to the target, and that all component configurations and all data has already
been completed and moved to the target environment. Recreating the indexes
should be the last step for the system move.
2. Collect the index information from library server database. To do this, get the
index id, component type id, index name, and column name from
ICMSTTEXTINDEXES by using this SQL command:
select INDEXID, COMPONENTTYPEID, INDEXNAME, COLUMNNAME from
<icmadmin>.ICMSTTEXTINDEXES;
The records will be used when recreating the indexes.
3. Drop the text search indexes from the library server database. For each index that
was retrieved by using the query in the previous step, use the following command:
DROP INDEX <indexname> FORCE;
4. Configure Oracle Text Search on the target by following the instructions here:
https://www.ibm.com/support/knowledgecenter/SSRS7Z_8.5.0/com.ibm.installing
cm.doc/dcmcw243.htm
5. Recreate the Oracle indexes on the target by using the following commands. In the
example syntax:
<UTTable> is ICMUT0+<COMPONENTTYPEID> (from step 2) +001
<ATTR0GroupID0AttrID> is the COLUMNNAME (step 2).
If the text search index was created for an attribute, use this command:
CREATE INDEX ICMADMIN.INDEXNAME ON <UTTable> (ATTR0GroupID0AttrID) INDEXTYPE IS
CTXSYS.CONTEXT PARAMETERS('NOPOPULATE ');
36
BEGIN UPDATE ICMADMIN. <UTTable> SET <ATTR0GroupID0AttrID> = <ATTR0GroupID0AttrID>;
COMMIT; END;
/
If the text search index was created for a document part, use this command:
CREATE INDEX ICMADMIN. INDEXNAME ON <UTTable>##?## (TIEREF) INDEXTYPE IS CTXSYS.CONTEXT
PARAMETERS('DATASTORE ICMADMIN.ICMFETCHCONTENT NOPOPULATE ');
BEGIN UPDATE ICMADMIN. <UTTable> SET TIEREF=TIEREF ; COMMIT; END;
/
where <UTTable> is ICMUT0+<COMPONENTTYPEID> (from step 2) +001
6. Update the index in ICM Java sample API: Make sure that the IBM Content
Manager Java samples are installed on the target. Then update the index by using
this API call:
Java STextIndexUpdateICM <icmnlsdb> <icmadmin> <password>
37
7. Extended upgrade of Content Manager EE
on the target system
You have now moved the data to the new system. However, it still uses the source
configuration, so to make it usable, you must change properties such as the hostnames
and disk volumes.
7.1 Extended upgrade of Content Manager EE V8.6
on target system
Upgrading the database components
To upgrade the Content Manager EE V8.4.3.x library server database and resource
manager to V8.6.x, follow these steps:
1. Run the Content Manager EE V8.6.x configuration manager.
2. Add the target computer where library server and/or resource manager database
are located.
3. If the library server database is on the target computer, select the library server
component. If the resource manager databases are on the target computer, select
the resource manager database component.
4. Enter suitable values in the corresponding fields.
5. For DB2, select use existing database for the library server and/or resource
manager database.
6. When the Confirm Features Reinstall dialog box appears, click No.
38
7. Verify that the “Complete” panel show configuration success, and there are no
ERROR/EXCEPTION messages in the cmconfig.log file.
8. If the library server and resource manager database are on different computers, or
you have multiple resource manager database servers, repeat these steps on each
server.
Configure the other components
When the library server and resource manager database are upgraded successfully,
you can configure the other Content Manager V8.6 components.
1. Restore the cmconfig.xml file.
2. Run the Content Manager EE V8.6.x configuration manager, and then configure
the other components that were configured on Content Manager EE V8.4.3.x.
3. When you have done this, go to “Match the target system configuration with the
new environment” below.
7.2 Match the target system configuration with
the new environment
Perform the following steps to confirm that the target system has been configured
properly and that the data matches the new environment.
7.2.1 Checking the hostnames
1. Check the hostname for each resource manager server in the library server
database, by using this SQL command:
select RMCODE, RMNAME, INETADDR from ICMSTRESOURCEMGR where RMCODE != 0
2. If the new hostname does not match the existing resource manager name in the
ICMSTRESOURCEMGR table, change the hostname in
ICMSTRESOURCEMGR. To do this, use an SQL command like this:
update ICMSTRESOURCEMGR set INETADDR='<targethostname>' where RMCODE=1
3. Check the hostname for each library server in each resource manager database by
using an SQL command like this:
select SVR_SERVERTYPE, SVR_HOSTNAME from RMSERVER
39
4. If your Content Manager EE system contains multiple resource managers, make
sure that:
every resource manager’s hostname matches the new environment’s value in
the RMSERVER table in each resource manager database
the communication between each resource manager works.
The sample SQL command to update the hostname is as follows.
update RMSERVER set SVR_HOSTNAME='<targetlshostname>' where SVR_SERVERTYPE = 'LS' and
SVR_SERVERNAME = 'icmnlsdb'
update RMSERVER set SVR_HOSTNAME='<targetrmhostname>' where SVR_SERVERTYPE = 'RM' and
SVR_SERVERNAME = 'rmdb'
7.2.2 Checking the resource manager port
1. To check the resource manager’s port numbers in the library server, use a
command like this:
select RMCODE, RMACCESSTYPE, PORT, ACCESSDATA from ICMSTRMACCESSTYPES where
RMACCESSTYPE in (1, 6) and RMCODE != 0
2. If the target port does not match the resource manager in the
ICMSTRMACCESSTYPES table, update the table by using this SQL command:
select RMCODE, RMACCESSTYPE, PORT, ACCESSDATA from ICMSTRMACCESSTYPES where
RMACCESSTYPE in (1, 6) and RMCODE != 0
This table shows the corresponding value of RMACCESSTYPE and PORT.
RMACCESSTYPE PORT
1 <https(9080)>
6 <http(9443)>
Refer to the ICMSTRESOURCEMGR table to correlate the correct RMCODE
with the corresponding RMNAME.
For example, to update http/https port for RMCODE=1, use an SQL command
like this:
update ICMSTRMACCESSTYPES set PORT=9081 where RMCODE=1 and RMACCESSTYPE=1
update ICMSTRMACCESSTYPES set PORT=9444 where RMCODE=1 and RMACCESSTYPE=6
40
3. Check the resource manager’s port numbers in the RMSERVER table from each
resource manager database. To do this, use this SQL command:
select SVR_SERVERNAME, SVR_PORT from RMSERVER where SVR_SERVERTYPE='RM'
4. If the listed SVR_PORT does not match the target’s port, change the table to use
the new value. For example, to change the http port for a server called rmdb, use
an SQL command like this:
update RMSERVER set SVR_PORT=9081 where SVR_SERVERNAME='rmdb'
7.2.3 Checking IBMCMROOT and the working directory
path
If the target system’s IBMCMROOT and working DIR path are different than the
source system, you must update them to the new values. All these values are in the
library server database, in the ICMSTSYSCONTROL table.
Default values on Windows
Parameter Default value
TRACEFILENAME C:\Program files (x86)\IBM\db2cmv8\log\ls\i
cmnlsdb\ICMSERVER.log
PATHICMROOT C:\Program files (x86)\IBM\db2cmv8
PATHICMDLL C:\Program files (x86)\IBM\db2cmv8\cmgmt\ls
UDFTRACEFILENAME C:\Program files (x86)\IBM\db2cmv8\
log\ls\icmnlsdb\UDFTRACE
Default values on UNIX/Linux
Parameter Default value
TRACEFILENAME ~ibmcmadm/log/ls/icmnlsdb/ICMSERVER.log
PATHICMROOT /opt/IBM/db2cmv8
PATHICMDLL ~ibmcmadm/cmgmt/ls
UDFTRACEFILENAME ~ibmcmadm/log/ls/icmnlsdb/UDFTRACE
41
Note: ~ibmcmadm is the home directory of the ibmcmadm user. For example,
/home/ibmcmadm on AIX and Linux, or /export/home/ibmcmadm for Solaris.
To check the values
1. To get the current values, use this SQL command:
select TRACEFILENAME, PATHICMROOT, PATHICMDLL, UDFTRACEFILENAME from ICMSTSYSCONTROL
2. To change the values, use an SQL command like this:
update icmstsyscontrol set pathicmroot='/opt/IBM/db2cmv8',
tracefilename='/home/ibmcmadm/log/ls/icmnlsdb/ICMSERVER.log',
pathicmdll='/home/ibmcmadm/cmgmt/ls',
udftracefilename='/home/ibmcmadm/log/ls/icmnlsdb/UDFTRACE'
Note: This SQL command should be run before Extended upgrade Content
Manager EE V8.6 on target system on DB2.
7.2.4 Checking the disk volumes
If you moved the volume data to a new location, you must also change the volume
definitions. Make sure that the disk volume records in each resource manager
database are correct for the new environment. For volume information, see table 8-7.
Disk volume values
These values are in the resource manager database, in the RMVOLUMES table.
Field Description
VOL_VOLUMEID Volume id
VOL_SIZE Total size
VOL_FREESPACE Amount of space
VOL_LOGICALNAME Logical name
VOL_MOUNTPOINT Mount point
VOL_PATH Staging path
42
To check the values
1. To get the current values, use this SQL command:
select VOL_VOLUMEID, VOL_SIZE, VOL_FREESPACE, VOL_LOGICALNAME, VOL_MOUNTPOINT,
VOL_PATH from RMVOLUMES where VOL_LOGICALNAME != 'BLOBS'
2. To get the logical name:
UNIX/Linux Use the df -h command.
AIX Use the df command.
Windows Use Windows Explorer.
3. If the volume mount point or logical name has changed, the volume sizes will be
different on the new system. This means that the capacity and available space
might have also changed. To inform the resource manager of this, set the
VOL_SIZE and VOL_FREESPACE parameters. This tells the resource manager
to recalculate the actual values, and it updates the table after the resource manager
has been stopped and restarted.
For example, to update the disk volume information for volume with
VOL_VOLUMEID=1, use an SQL command like this:
update RMVOLUMES set VOL_MOUNTPOINT='/home',
VOL_LOGICALNAME='/dev/mapper/VolGroup-lv_root', VOL_SIZE=-1, VOL_FREESPACE=-1 WHERE
VOL_VOLUMEID=1
Staging area
For the staging area, confirm and update the available staging space STA_SIZE, the
purger start and stop maximum percentage sizes STA_PERCENTSTART and
STA_PERCENTSTOP, and the staging path STA_PATH values in the RMSTAGING
table in each resource manager database. See Table 8-8.
1. To get the current values, use this SQL command:
select STA_SIZE, STA_SPACEUSED, STA_PERCENTSTART, STA_PERCENTSTOP, STA_PATH from
RMSTAGING
2. To change the values, use an SQL command like this:
update RMSTAGING set STA_PATH='/home/staging'
43
7.2.5 Checking the WebSphere Application Server
administration user
If the WebSphere Application Server administrator user ID on the target is different
from what is used on the source system, you must change the user name in each
resource manager database’s RMCONFIGURATION table.
1. To find the current value, use this SQL command:
select PROPERTYVALUE from RMCONFIGURATION where PROPERTYNAME = 'ICMRM_USER'
2. If you need to update the user, use an SQL command like this:
update RMCONFIGURATION set PROPERTYVALUE='root' where PROPERTYNAME = 'ICMRM_USER'
3. Make sure that the new administrator user has permission to access the resource
manager objects, such as the local and remote storage systems where the binary
files will be stored.
7.2.6 Checking Tivoli Storage Manager
If the Content Manager EE resource manager uses a Tivoli Storage Manager storage
volume, use the same installation location for the Tivoli Storage Manager client on
the source and the target, and then move the Tivoli Storage Manager option file from
the source to the target.
If you use a different installation location for the Tivoli Storage Manager client, you
must update the option file information in the RMCONFIGURATION table in each
resource manager database.
DSMI_DIR <Tivoli Storage Manager API path>
DSMI_LOG_PATH <Tivoli Storage Manager log path>
To check the Tivoli Storage Manager paths
1. To get the current values, use this SQL command:
select PROPERTYVALUE from RMCONFIGURATION where PROPERTYNAME in ('DSMI_DIR',
'DSMI_LOG_PATH')
2. To change the paths, use an SQL command like this:
update RMCONFIGURATION set PROPERTYVALUE='/opt/tivoli/tsm/client/api/bin64' where
PROPERTYNAME = 'DSMI_DIR'
update RMCONFIGURATION set PROPERTYVALUE='/opt/tivoli/tsm/client/tsmlog' where
PROPERTYNAME = 'DSMI_LOG_PATH'
44
To check the Tivoli Storage Manager option file location and name
If the Tivoli Storage Manager option file location or name are different, you must
update the information that is in the RMSERVER table on the target.
1. To get the current values, use this SQL command:
select SVR_PATH, SVR_DSMI_OPT from RMSERVER where SVR_SERVERTYPE='TSM'
2. To change the values, use an SQL command like this:
update RMSERVER set SVR_PATH ='/opt/tivoli/tsm/client/api/bin64/dsm.opt',
SVR_DSMI_OPT ='/opt/tivoli/tsm/client/api/bin64/dsm.opt' where SVR_SERVERTYPE='TSM'
Tip: After you move the Tivoli Storage Manager option file, validate the Tivoli
Storage Manager server connection by using the Tivoli Storage Manager
Backup-Archive Clients. For more information, see:
https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Tivoli
%20Storage%20Manager/page/PDF%20documentation
7.2.7 Checking the indexes for DB2 Net Search Extender
If you moved the DB2 NSE indexes to a new location, you must confirm and update
the NSE related configuration records in the target library server database.
1. To check the values, use this SQL command in the library database:
select VALUE from DB2EXT.TDBDEFAULTS where NAME in('INDEXDIRECTORY', 'WORKDIRECTORY',
'CACHEDIRECTORY')
2. To update DB2EXT.TDBDEFAULTS to the new default directory information,
use a command like this:
update DB2EXT.TDBDEFAULTS set VALUE='/home/db2inst1/sqllib/db2ext/indexes' where
NAME in('INDEXDIRECTORY', 'WORKDIRECTORY', 'CACHEDIRECTORY')
7.2.8 Connector INI files
If you customized any of the connector INI files on the source system, you must make
the same the changes on the target system. For example, if you set the values for SSL
in the cmbicmsrvs.ini file on the source, you must also set the values in the
cmbicmsrvs.ini file on the target after the move.
45
8. Validating the target system
Validate the target system with a client
Configure client applications to access the new library server database, and run some
acceptance tests to make sure that the system works. Make sure that all business
processes work as before. For example, try these tasks:
1. In the Content Manager EE system administration client, expand all branches and
sub-branches (especially the resource managers).
2. Search for some existing content (with and without text search, as appropriate).
3. Import some new content, and then search for it (with and without text search, as
appropriate).
You have now completed the system move and upgrade to Content Manager EE V8.6.
The following section provides two practical examples.
46
9. Examples
This section describes two examples of moving and performing an extended upgrade
of Content Manager EE. They use these system configurations:
Example 1: DB2 example system configuration
Source system Target system
Content Manager EE V8.4.3 GA V8.6
Hardware x86 Power
Operating system Windows2008 R2 AIX7.2
Database DB2 V9.7 fp11 64-bit DB2 V11.1 64-bit
WebSphere Application
Server
V7.0.0.35 64-bit V9.0.0.0 64-bit with JDK8
Tivoli Storage Manager N/A N/A
Text Search NSE V9.7 fp11 64-bit NSE V11.1 64-bit
For more information about this example, see “Example 1: Moving and extended
upgrade of a DB2 system” on page 46.
Example 2: Oracle example system configuration
Source system Target system
Content Manager EE V8.4.3 fp5 V8.6 fp1
Hardware x86 x86
Operating system RHEL 6.3 RHEL 7.2
Database Oracle 11.2.0.4 64-bit Oracle 12.2.0.1 64-bit
WebSphere Application
Server
V8.0.0.10 64-bit V9.0.0.2 64-bit with JDK8
Tivoli Storage Manager 6.3 64-bit 7.1.6 64-bit
Text Search Oracle Text Oracle Text
47
For more information about this example, see “Example 2: Moving and extended
upgrade of an Oracle system” on page 55.
9.1 Example 1: Moving and extended upgrade of a
DB2 system
This example outlines the process for:
moving a Content Manager EE V8.4.3 system from a Windows2008 R2 64-bit
environment to an AIX7.2 environment, and
extended upgrade to Content Manager EE V8.6.
Start by collecting the configuration information from the source system (see
“Collecting the configuration information from the source system” on page 8), and
then follow the steps below.
9.1.1 Prepare and set up the target system
Prepare the operating system
Synchronize the system time. For more information, see “System date and time” on
page 11.
Install DB2 and DB2 Net Search Extender
Install DB2 and DB2 NSE on the target computer, using the same as configuration
information as on the source. This example uses this configuration information:
Property Value
DB2 version DB2 V11.1 ESE 64-bit
DB2 product home /opt/ibm/db2/V11.1
DB2 instance db2inst1
DB2 instance administrator db2inst1
Database port 50000
DB2 NSE version DB2 V11.1 GA
DB2 NSE home /home/db2inst1/sqllib/db2ext
48
Install WebSphere Application Server
Install WebSphere Application Server on the target computer, using the information
that is shown below.
Recommendation: Use the same HTTP and HTTPS ports as the source.
Property Value
WebSphere Application
Server
V9.0.0.0
WebSphere Application
Server home
/opt/IBM/WebSphere/AppServer
Application server profile
home
/opt/IBM/WebSphere/AppServer/AppSrv01
HTTP port number 9080
Recommendation: Use the same HTTP port as
the source.
HTTPS port number 9443
Recommendation: Use the same HTTPS port as
the source.
Administrative user root
Install the Content Manager EE V8.6 repository files
1. On the target computer, run the installation program.
2. Set the Install Destination to /opt/IBM/cmrepository.
3. In the Pre-Installation Summary step, click Install.
4. In the Installation Complete step, clear the Run the Configuration Manager
option box, and then click Done.
Configure Content Manager EE V8.6 library server and resource
manager database
1. On the target computer, login as root, and then go to
$IBMCMREPO/8.6.00.000/bin.
2. Start the Content Manager configuration manager:
cmcfgmgr_CM
49
3. Click Add/Modify Configuration.
The configuration wizard appears.
For an extended upgrade, you have to configure only the library server and the
resource manager databases at this stage. You configure the other features after
completing the extended upgrade.
4. Respond to the screen prompts as shown below:
Screen Action
Installation Destination Specify /opt/IBM.
Product Components Select these components:
Library server
Resource manager
Server Database Type Select DB2 Universal Database™.
License Type Choose one.
Create or Identify an
administrative user
Select Create new user.
Administrative user name: ibmcmadm
Password: password
Confirm password: password
Administrative user group: ibmcmgrp
Library Server information Select Create new database.
Library server database name: icmnlsdb
Library server schema name: icmadmin
Database port: 50000
Select Create new User.
Library server administration ID: icmadmin
Password: password
Library server connection user: icmconct
Password: password
Check Enable Unicode
Check Enable text search
50
Choose Enable Net Search Extender
Library Server Connection
to Resource Manager
Application
Resource manager application host name:
cm85apiregdb2
Resource manager Web supplication context root:
/icmrm
Resource manager Web application port: 9080
Resource manager secure Web application port:
9443
Resource manager
database
Select Create new database.
Resource manager database name: rmdb
Resource manager schema name: rmadmin
Database port: 50000
Select Create new user.
Resource manager administration ID: rmadmin
Password: password
Start Configuration Click Finish.
Configuration Complete Click Done.
Drop library server and resource manager databases on the target
system
1. To drop library server and resource manager databases, run these commands:
su – db2inst1
db2stop force
db2start
db2 drop db icmnlsdb
db2 drop db rmdb
Prepare cmconfig.xml file for the extended upgrade
1. Backup the cmconfig.xml file which is in the
$IBMCMREPO/8.6.00.000/cmcfgmgr directory.
2. Change the cmconfig.xml file, as shown in “Scenario 3: Both library server
database and resource manager database on the target computer” on page 18.
51
9.1.2 Move data from the source system to the target
system
First, make sure all resource manager migration, replication, and deletion tasks have
already completed so that no tasks are pending. Before proceeding, make sure all
results are 0.
1. To check for pending migration tasks, enter this SQL command:
SELECT COUNT(*) FROM RMADMIN.RMMIGRATIONTASKS
2. To check for pending replication tasks, enter this SQL command:
SELECT COUNT(*) FROM RMADMIN.RMREPLICATION
3. To check for pending deletion tasks, enter this SQL command:
SELECT COUNT(*) FROM ICMADMIN.ICMSTITEMSTODELETE
SELECT COUNT(*) FROM RMADMIN.RMOBJECTS WHERE OBJ_STATUS='D'
4. When the results from all these commands is 0, stop the resource manager services
by executing:
C:\WebSphere\AppServer\profiles\AppSrv01\bin\stopServer server1
5. Stop the library server monitor service ICM LS Monitor icmnlsdb.
6. Stop the DB2 Net Search Extender service using this command:
db2text stop
Export the library server and resource manager databases on the
source server
In this example, you are moving from Windows to AIX, so you have to use the
import/export process.
Before moving the data, make a full, offline backup of the databases.
1. On the source system, enter these commands to back up the library server and
resource manager databases:
db2stop force
db2start
#Backup the library server database
db2 backup db icmnlsdb to C:\db_bak
#Backup the resource manager database
db2 backup db rmdb to C:\db_bak
These commands back up the databases to the C:\db_bak directory.
52
2. Enter these commands to export the database objects and data:
cd C:\db2move\icmnlsdb
#Extract the library server database’s ddl
db2look -d icmnlsdb -e -l -x -f -u ICMADMIN -z ICMADMIN >icmnlsdb.sql
#Export the library server database
db2move icmnlsdb EXPORT -tc ICMADMIN -sn ICMADMIN
cd C:\db2move\rmdb
#Extract the resource manager database’s ddl
db2look -d rmdb -e -l -x -f -u RMADMIN -z RMADMIN >rmdb.sql
#Export the resource manager database
db2move rmdb EXPORT -tc RMADMIN -sn RMADMIN
3. Copy the database data files, from the source C:\db2move directory to the target
/db2move directory.
4. Copy the file system volume from the source C:\lbosdata directory to the
/home/lbosdata directory on the target computer.
5. On the target computer, login as root, and then enter these commands to create
library server database and resource manager database:
su - icmadmin
db2 create db icmnlsdb USING CODESET UTF-8 TERRITORY US
exit
su – rmadmin
db2 create db rmdb USING CODESET UTF-8 TERRITORY US
exit
6. Enter these commands to load the databases:
su - icmadmin
cd /db2move/icmnlsdb
#Create library server database and objects. Check the icmnlsdb_cr.log to make sure
there is no error.
db2 -tvf icmnlsdb.sql -z icmnlsdb_cr.log
#Load library server database data. Check the icmnlsdb_mv.log to make sure there is
no error when importing data.
db2move icmnlsdb LOAD >icmnlsdb_mv.log
db2 connect to icmnlsdb
#set integrity check after load
db2 -x "select 'set integrity for '||trim(tabschema)||'.'||tabname||' immediate
checked;' from syscat.tables where status='C' and type='T'" >setIntegrity.sql
db2 -tvf setIntegrity.sql
#create alias which is not included in db2look
db2 "CREATE ALIAS ICMFICTITIOUS FOR SYSIBM.SYSDUMMY1"
53
#Correct tracefilename, pathicmdll and udftracefilename in ICMSTSYSCONTROL table for
Linux
db2 "update icmstsyscontrol set
tracefilename='/home/ibmcmadm/log/ls/icmnlsdb/ICMSERVER.log',
pathicmdll='/home/ibmcmadm/cmgmt/ls',
udftracefilename='/home/ibmcmadm/log/ls/icmnlsdb/UDFTRACE'"
db2 terminate
exit
su - rmadmin
cd /db2move/rmdb
#Create resource manager database and objects. Check the rmdb_cr.log to make sure there
is no error.
db2 -tvf rmdb.sql -z rmdb_cr.log
#Load resource manager database data. Check the rmdb_mv.log to make sure there is no
error when import data.
db2move rmdb LOAD >rmdb_mv.log
db2 connect to rmdb
#set integrity check after load
db2 -x "select 'set integrity for '||trim(tabschema)||'.'||tabname||' immediate
checked;' from syscat.tables where status='C' and type='T'" >setIntegrity.sql
db2 -tvf setIntegrity.sql
db2 terminate
exit
9.1.3 Extended upgrade to Content Manager EE V8.6
1. Start the configuration manager, cmcfgmgr_CM.
2. Respond to the screen prompts as shown in “Configure Content Manager EE V8.6
library server and resource manager database” on page 43.
When the Confirm Features Reinstall dialog box appears, click No.
3. Make sure that the complete panel shows the configuration success, and there are
no ERROR/EXCEPTION messages in the cmconfig.log file.
4. Check that the library server database and resource manager database have been
upgraded to Content Manager EE V8.6 by using these SQL commands:
su – icmadmin
db2 connect to icmnlsdb
db2 "select lscurrentversion from icmstsyscontrol"
LSCURRENTVERSION
--------------------------------------------------------------------------------
8.6.00.000
54
exit
su - rmadmin
db2 connect to rmdb
db2 "select rmlevel from rmversion order by rmlevel desc"
RMLEVEL
--------------------------------
8.6.00.000
8.4.03.000
exit
Configure the other components
1. Restore the cmconfig.xml file that you backed up in “Prepare cmconfig.xml file
for the extended upgrade” on page 60.
2. Restart the configuration manager, cmcfgmgr_CM.
3. Perform an initial configuration of the components, such as the resource manager
application, system administration client, connectors, and so on.
4. Stop the WebSphere Application Server application server (“server1”), and then
restart it using these commands:
cd /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/bin
./stopServer.sh server1
./startServer.sh server1
9.1.4 Match the configuration on the target system
The host name and other information (for example, http port) on the target are
different from those on the source, so you must check and update the related
information in the library server and resource manager databases.
1. On the target computer, log into the library server database as icmadmin, and then
run these SQL commands.
db2 connect to icmnlsdb
#Check the platform information
# Platform code List: 0 Windows, 1 AIX, 2 Solaris, 4 Linux
db2 "SELECT INETADDR,RMPLATFORM,RMCODE from ICMADMIN.ICMSTRESOURCEMGR where
RMNAME='rmdb'"
#update the platform to 1 (AIX)
db2 "update ICMADMIN.ICMSTRESOURCEMGR set RMPLATFORM = 1 where RMNAME='rmdb'"
#Check the ICMSTRMACCESSTYPES. The rmcode is retrieved from the previous SQL command.
The value is "1" in the case.
db2 "SELECT RMACCESSTYPE,PORT FROM ICMADMIN.ICMSTRMACCESSTYPES where RMCODE=1"
55
#The results of the above SQL commands are correct and does not require updating
anything.
2. Log into the resource manager database as rmadmin, and then run these SQL
commands.
db2 connect to rmdb
db2 "SELECT SVR_HOSTNAME,SVR_SERPLATFORM from RMADMIN.RMSERVER"
#Platform List: AIX Linux zLinux WIN SUN
#Run the following SQL to update platform
db2 "UPDATE RMADMIN.RMSERVER set SVR_SERPLATFORM='AIX'"
#Get the volumeid and volume mount point, and update them for target system.
db2 "SELECT VOL_VOLUMEID, VOL_MOUNTPOINT from RMADMIN.RMVOLUMES where
VOL_VOLUMEID!=2"
#In the sample, the VOL_VOLUMEID=1 and VOL_MOUNTPOINT=/home. Use df -h to get the file
system
df /home
# /home’s filesystem is /dev/hd1
#Update the information in RMVOLUMES
db2 "UPDATE RMADMIN.RMVOLUMES SET VOL_MOUNTPOINT='/home',
VOL_LOGICALNAME='/dev/hd1', VOL_SIZE=-1, VOL_FREESPACE=-1 WHERE VOL_VOLUMEID=1"
#Get the staging path value, and update it for target system
db2 "SELECT STA_PATH from RMADMIN.RMSTAGING"
db2 "UPDATE RMADMIN.RMSTAGING SET STA_PATH='/home/staging'"
3. Log into the library server database as icmadmin, and then run these commands to
drop and recreate the NSE text indexes.
db2 connect to icmnlsdb
cd /db2move/icmnlsdb
#Generate the commands to create text indexes for documents.
db2 -x "select 'db2text \"create index ICMADMIN.'||INDEXNAME||' on
ICMADMIN.ICMUT'||right('00000'||COMPONENTTYPEID, 5)||'001
(ICMADMIN.'||UDFNAME||'(TIEREF)) for text '||COALESCE(' format '||FORMAT,
'')||COALESCE(' update frequency '||UPDATEFEQ, '')||COALESCE(' update minimum
'||COMMITCOUNT, '')||COALESCE(' commitcount for update '||MINCHANGES, '')||' connect
to icmnlsdb user icmadmin using password\"' from ICMSTTEXTINDEXCONF where COLUMNNAME
= 'TIEREF' and TEXTINDEXTYPE=1" > NSE_TIEREF_cr
#Generate the commands to create text indexes for attributes
db2 -x "select 'db2text \"create index ICMADMIN.'||INDEXNAME||' on
ICMADMIN.ICMUT'||right('00000'||COMPONENTTYPEID, 5)||'001 ('||COLUMNNAME||') for
text '||COALESCE(' format '||FORMAT, '')||COALESCE(' update frequency '||UPDATEFEQ,
'')||COALESCE(' update minimum '||COMMITCOUNT, '')||COALESCE(' commitcount for update
'||MINCHANGES, '')||' connect to icmnlsdb user icmadmin using password\"' from
ICMSTTEXTINDEXCONF where COLUMNNAME != 'TIEREF' and TEXTINDEXTYPE=1" >NSE_ATTR_cr
56
#NOTE: Carefully check the three NSE_* files and update the schema, user name, and
password information if needed.
chmod 755 NSE_*
# enable NSE for the target system.
db2text enable database for text autogrant connect to icmnlsdb
#recreate text indexes
./NSE_TIEREF_cr
./NSE_ATTR_cr
--update the TIEREF for ICMUT*** tables which are listed in NSE_TIEREF_cr.
db2 "update ICMUT01226001 set TIEREF=TIEREF"
db2 "update ICMUT01228001 set TIEREF=TIEREF"
#cd $IBMCMROOT/samples/java/icm and compile STextIndexUpdateICM, then run java
STextIndexUpdateICM to update all text indexes.
java STextIndexUpdateICM icmnlsdb icmadmin password
9.1.5 Validate the target system with a client
See “Validate the target system with a client” on page 44.
You have now completed the system move and upgrade to Content Manager EE V8.6.
9.2 Example 2: Moving and extended upgrade of
an Oracle system
This example shows how to move from:
Content Manager EE V8.4.3.5 with Oracle 11.2.0.4 on RedHat Enterprise Linux
6.3
to:
Content Manager EE V8.6.0.1 with Oracle 12cR2 on RedHat Enterprise Linux
7.2.
Start by collecting the configuration information from the source system (see
“Collecting the configuration information from the source system” on page 8), and
then follow the steps below.
9.2.1 Prepare and set up the target system
Prepare the operating system
Synchronize the system time. For more information, see “System date and time” on
page 11.
57
Installing and configuring Oracle
1. On the target computer, install Oracle V12.2.0.1 64-bit.
2. Create the databases sharedb to match the source database.
Oracle properties
Oracle version Oracle 12.2.0.1 64-bit
Oracle home /disk1/app/oracle/product/12.2.0/dbhome_1
Oracle user oracle
Oracle group dba, oinstall
Oracle database: shared
The sharedb was created with Content Manager EE V8 library server DBCA
template ICM_shared_database_12cR2.dbt, which is in the Content Manager
EE V8.6 installation package. All database definitions used the predefined DBCA
template.
Database Character Set AL32UTF8
National Character Set AL16UTF16
Oracle Text Enable
Oracle net service name sharedb
All users’ Password password
Install and configure WebSphere Application Server
On the target computer, install WebSphere Application Server. Use the configuration
information that is shown below.
WebSphere
Application Server
V9.0.0.2 with JDK8
WebSphere
Application Server
home
/opt/IBM/WebSphere9/AppServer
58
Application server
profile home
/opt/IBM/WebSphere9/AppServer/profiles/AppSrv
02
HTTP port number 9086
HTTPS port number 9449
Admin user root
Install Content Manager EE V8.6.0.1 repository on the target
1. Run the V8.6.0.0 installation program.
2. In the installation wizard, set the Install Destination to: /opt/IBM/cmrepository
3. On the Pre-Installation Summary screen, click Install.
4. On the Installation Complete screen, clear the Run the Configuration Manager
option box, and then click Done.
Next, install the Content Manager EE 8.6 Fix Pack 1 repository:
5. Run installUpdate.
6. In the installation wizard, set the Install Destination to: /opt/IBM/cmrepository
7. On the Pre-Installation Summary screen, click Install.
8. On the Installation Complete screen, clear the Run the Configuration Manager
option box, and then click Done.
Configure Content Manager EE V8.6.0.1 library server and resource
manager database
1. On the target computer, login as root, and then go to
$IBMCMREPO/8.6.00.100/bin.
2. Start the Content Manager configuration manager:
cmcfgmgr_CM
3. Click Add/Modify Configuration.
The configuration wizard appears.
For an extended upgrade, you have to configure only the library server and the
resource manager at this stage. You configure the other features after completing
the extended upgrade.
59
4. Respond to the screen prompts as shown below:
Screen Action
Installation Destination Specify /opt/IBM.
Product Components Select Library server and Resource manager.
Server Database Type Select Oracle Database.
License Type Select Same as source.
Create or identify an
administrative user
Select Create new user.
Specify the user name as ibmcmadm, and the
password as password.
Confirm password: password
Administrative user group: ibmcmgrp
Oracle Product Directory /disk1/app/oracle/product/12.2.0/dbhome_1
Library server information Library server name: ICMNLSDB
Oracle listener port for library server instance: 1522
Oracle service name: sharedb
Select Share the database with the resource
manager.
JDBC connection string:
jdbc:oracle:thin:@//rhelora:1522/sharedb
Library server administrative user: icmadmin
Password: password
Library Server information Library server database connection user: icmconct
Password: password
Oracle Table Space
Parameters
Frequently queried large objects: ICMVFQ04
Moderately queried large objects: ICMLFQ32
Rarely queried large objects: ICMLNF32
Frequently queried small objects: ICMSFQ04
Table indexes: ICMLSNDX
60
Library Server Connection
to Resource Manager
Application
Resource manager application host name: rhelora
Resource manager Web supplication context root:
/icmrm
Resource manager Web supplication port: 9086
Resource manager secure Web supplication port:
9449
Resource Manager
Database
Resource manager name: icmrm
Oracle listener port for resource manager instance:
1522
Oracle service name: sharedb
JDBC connection string:
jdbc:oracle:thin:@//rhelora:1522/sharedb
Library server administrative user: rmadmin
Password: password
Resource Manager
Information
Frequently queried large objects: OBJECTS
Collections: SMS
Large objects (BLOBS): BLOBS
Specify DBREPLICAS table space information:
REPLICAS
Tracking system transactions: TRACKING
Item validation: VALIDATEITM
Table Indexes: OBJINDX
Start Configuration Click Finish.
Configuration Complete Click Done.
Drop and recreate icmadmin and rmadmin users on the target
system
2. Make sure that you have copied the icmlsschemas.sql and icmrmschema.sql
files of Content Manager EE V8.6.0.1, which are in the
$ORACLE_HOME/assistant/dbca/templates directory.
3. Connect to the shared database as the Oracle sys user, sysdba.
61
4. To drop and recreate the icmadmin and rmadmin users, run these commands:
SQL> drop user icmadmin cascade;
SQL> drop user rmadmin cascade;
SQL>@/disk1/app/oracle/product/12.2.0/dbhome_1/assistants/dbca/templates/icmlssch
emas.sql icmadmin password icmconct password ICMLFQ32 TEMP
SQL>@/disk1/app/oracle/product/12.2.0/dbhome_1/assistants/dbca/templates/icmrmsch
ema.sql rmadmin password OBJPARTS TEMP
Prepare cmconfig.xml file for the extended upgrade
1. Backup the cmconfig.xml file which is in the
$IBMCMREPO/8.6.00.100/cmcfgmgr directory.
2. Change the cmconfig.xml file, as shown in “Scenario 3: Both library server
database and resource manager database on the target computer” on page 18.
9.2.2 Move data from the source system to the target
system
1. Stop all Content Manager EE system services on the source server: see “Move
data from the source system to the target system” on page 50.
2. Stop Oracle activities, see:
https://www.ibm.com/support/knowledgecenter/SSRS7Z_8.5.0/com.ibm.installing
cm.doc/dcmcw174.htm
3. To export the library server and resource manager objects and data, run this
command:
mkdir /oracle_bak
chmod 777 /oracle_bak
su - oracle
cd /oracle_bak
exp icmadmin/password@sharedb owner=icmadmin rows=y indexes=n compress=n buffer=65536
feedback=100000 file=icmadmin.dmp log=icmadmin.log
exp rmadmin/password@sharedb owner=rmadmin rows=y indexes=n compress=n buffer=65536
feedback=100000 file=rmadmin.dmp log=rmadmin.log
This message appears:
Export terminated successfully without warnings.
Next, transfer the data files from source to target.
4. Copy the icmadmin.dmp and rmadmin.dmp files from the source server’s
/oracle_bak directory to the target server’s /oracle_bak directory.
62
The data transfer type is binary. The /oracle_bak directory owner is oracle, and
its group is dba.
5. Change the file owner for icmadmin.dmp and rmadmin.dmp to oracle; change the
group to dba; and set the file permissions to 755.
6. Transfer the file system volume /home/lbosdata data from the source server to
the target server’s /home/lbosdata directory.
The data transfer type is binary.
7. Copy the following Tivoli Storage Manager option files from the source to the
same location on the target:
/opt/tivoli/tsm/client/api/bin64/dsm.sys
/opt/tivoli/tsm/client/api/bin64/dsm.opt
Import the library server and the resource manager database tables
on the target
To import the library server tables in user mode, enter the following command. The
user name is icmadmin, and the dmp file name is icmadmin.dmp:
su - oracle
cd /oracle_bak
imp icmadmin/password@sharedb fromuser=icmadmin touser=icmadmin rows=y indexes=y
commit=y buffer=65536 feedback=100000 ignore=n file=icmadmin.dmp log=icmadminimp.log
imp rmadmin/password@sharedb fromuser=rmadmin touser=rmadmin rows=y indexes=y commit=y
buffer=65536 feedback=100000 ignore=n file=rmadmin.dmp log=rmadminimp.log
This message appears:
Import terminated successfully without warnings.
9.2.3 Extended upgrade to Content Manager EE V8.6.0.1
Upgrading library server and resource manager database to Content
Manager EE V8.6.0.1
1. Start the configuration manager, cmcfgmgr_CM.
2. Respond to the screen prompts as shown in “Configure Content Manager EE
V8.6.0.1 library server and resource manager database” on page 57.
When the Confirm Features Reinstall dialog box appears, click No.
3. Make sure that the complete panel shows the configuration success and there are
no ERROR/EXCEPTION messages in the cmconfig.log file.
63
4. Check that the library server database and resource manager database have been
upgraded to Content Manager EE V8.6 by using these SQL commands:
SQL> conn icmadmin/password@sharedb
Connected.
SQL> select lscurrentversion from icmstsyscontrol;
LSCURRENTVERSION
--------------------------------------------------------------------------------
8.6.00.100
SQL> conn rmadmin/password@sharedb
Connected.
SQL> select rmlevel from rmversion order by rmlevel desc;
RMLEVEL
--------------------------------
8.6.00.100
8.4.03.500
Configure the other components
1. Restore the cmconfig.xml file that you backed up in “Prepare cmconfig.xml file
for the extended upgrade” on page 60.
2. Restart the configuration manager, cmcfgmgr_CM.
3. Perform an initial configuration of the components, such as the resource manager
application, system administration client, connectors, and so on.
4. Stop the WebSphere Application Server application server (“server1”), and then
restart it using these commands:
cd /opt/IBM/WebSphere/AppServer9/profiles/AppSrv02/bin
./stopServer.sh server1
./startServer.sh server1
9.2.4 Match the source configuration on the target system
Check the hostname in the target databases
1. Check the resource manager hostname in the library server database: Log into the
library server database as the library server administrator, and then enter this SQL
command:
SQL> SELECT INETADDR from ICMADMIN.ICMSTRESOURCEMGR where RMNAME='icmrm';
64
It produces output like this:
INETADDR
--------------------------------------------------------------------------------
rhelora
Make sure that the value shown matches the target hostname.
2. Check the library server and resource manager hostname in the resource manager
database: Log into the resource manager database as the resource manager
administrator, and then enter this SQL command:
SQL> SELECT SVR_SERVERTYPE, SVR_HOSTNAME from RMADMIN.RMSERVER where SVR_SERVERTYPE
in ('LS', 'RM');
It produces this output:
SVR_SERVERTYPE SVR_HOSTNAME
-------------- ----------------------------------------------------------------
RM localhost
LS linux-g8ph
To update the hostname of library server, enter this SQL command.
UPDATE RMADMIN.RMSERVER SET SVR_HOSTNAME='rhelora' WHERE SVR_SERVERTYPE = 'LS';
It produces this output:
1 row updated.
SQL> commit;
Commit complete.
Check the target HTTP/HTTPS ports in the library server database
1. Check the port values in the library server database: Log into the library server
database as the library server administrator, and then enter this SQL command:
SELECT RMACCESSTYPE,PORT FROM ICMADMIN.ICMSTRMACCESSTYPES where RMCODE=1;
It produces this output:
RMACCESSTYPE PORT
------------ ----------
1 9086
6 9449
2. Make sure that the values match and do not need to be updated.
65
3. Check the port values in the resource manager database: Log into the resource
manager database as the resource manager administrator, and then enter this SQL
command:
SELECT SVR_PORT from RMADMIN.RMSERVER where SVR_SERVERTYPE ='RM';
It produces this output:
SVR_PORT
----------
9086
4. Make sure that the value matches and does not need to be updated.
Update the target IBMCMROOT and other directory values in the
library server database
To update the file locations in the ICMSTSYSCONTROL table, log into the library
server database as the library server administrator, and then enter this SQL command:
SQL> update icmstsyscontrol set
tracefilename='/home/ibmcmadm/log/ls/icmnlsdb/ICMSERVER.log',
pathicmdll='/home/ibmcmadm/cmgmt/ls',
udftracefilename='/home/ibmcmadm/log/ls/icmnlsdb/UDFTRACE',
PATHICMROOT='/opt/IBM/db2cmv8';
It produces this output:
1 row updated.
SQL> commit;
Commit complete.
Update the disk volume information
1. To get the mount points from the resource manager database, log into the resource
manager database as the resource manager administrator, and then enter this SQL
command:
SQL> SELECT VOL_MOUNTPOINT from RMADMIN.RMVOLUMES where
VOL_LOGICALNAME='value_not_set';
It produces this output:
VOL_MOUNTPOINT
--------------------------------------------------------------------------------
/home
2. Make sure that the value matches and does not need to be updated.
66
3. To get the logical name of the /home directory structure, enter this command:
df -h
In the example, the logical name is /dev/mapper/VolGroup-lv_root.
4. To update the target mount point’s logical name and update VOL_SIZE,
VOL_FREESPACE to -1, enter this SQL command (-1 indicates that the values
will be re-calculated after the RM application server is restarted):
SQL> UPDATE RMADMIN.RMVOLUMES SET VOL_LOGICALNAME='/dev/mapper/VolGroup-lv_root',
VOL_SIZE = -1, VOL_FREESPACE = -1 where VOL_LOGICALNAME='value_not_set';
It produces this output:
1 row updated.
SQL> commit;
Commit complete.
Update the staging path in the resource manager database
1. Log into the resource manager database as the resource manager administrator,
and then enter this SQL command:
UPDATE RMADMIN.RMSTAGING SET STA_PATH='/home/staging';
It produces this output:
1 row updated.
2. Enter this command:
commit;
It produces this output:
Commit complete.
Verify the WebSphere Application Server administrator user
1. Log into the resource manager database as the resource manager administrator,
and then enter this SQL command:
SQL> SELECT PROPERTYVALUE from RMADMIN.RMCONFIGURATION where
PROPERTYNAME='ICMRM_USER';
It produces this output:
PROPERTYVALUE
-------------------------------------------------------------------------
root
67
2. Make sure that the value matches and does not need to be updated.
3. Update the LBOSDATA folders and files permission to match the new
administrator ID:
Change all folders and files owner and group to root.
Change all the folder permissions to 700, and all the file permissions to 400.
Restart the WebSphere Application Server application server
1. Stop the WebSphere Application Server application server (“server1”), and then
restart it using these commands:
cd /opt/IBM/WebSphere9/AppServer/profiles/AppSrv02/bin
./stopServer.sh server1
./startServer.sh server1
2. Make sure that the volume size and free space have been recalculated: log into the
resource manager as the resource manager administrator, and then enter this SQL
command:
SELECT VOL_SIZE, VOL_FREESPACE from RMADMIN.RMVOLUMES where VOL_MOUNTPOINT='/home';
It produces this output:
VOL_SIZE VOL_FREESPACE
---------- -------------
4.8094E+10 1.8507E+10
Check the Tivoli Storage Manager information
1. Log into the resource manager database as the resource manager administrator,
and then enter this SQL command:
SQL>SELECT PROPERTYVALUE from RMADMIN.RMCONFIGURATION WHERE PROPERTYNAME
in('DSMI_DIR', 'DSMI_LOG_PATH');
It produces this output:
PROPERTYVALUE
--------------------------------------------------------------------------------
/opt/tivoli/tsm/client/api/bin64
/opt/tivoli/tsm/client/tsmlog
SQL>select SVR_PATH from RMADMIN.RMSERVER where SVR_SERVERTYPE='TSM';
SVR_PATH
--------------------------------------------------------------------------------
/opt/tivoli/tsm/client/api/bin64/dsm.opt
68
2. Make sure that the values match and do not require an update.
9.2.5 Recreate the text search indexes
1. To configure the Oracle Text Search option, enter this command:
[root@rhelora ~]# su - oracle -c "cd /opt/IBM/db2cmv8/config;sqlplus /nolog
@icmlsoratxt.sql sharedb icmadmin password"
It produces output like this:
SQL*Plus: Release 12.2.0.1.0 Production on Wed Oct 25 10:41:39 2017
Copyright (c) 1982, 2016, Oracle. All rights reserved.
SP2-0606: Cannot create SPOOL file "icmlsoratxt_10g.sql.log"
Connected.
Dropping old Content Manager EE-system preference if it exists (error is OK)...
BEGIN ctx_ddl.drop_preference('ICMFETCHCONTENT'); END;
*
ERROR at line 1:
ORA-20000: Oracle Text error:
DRG-10700: preference does not exist: ICMFETCHCONTENT
ORA-06512: at "CTXSYS.DRUE", line 160
ORA-06512: at "CTXSYS.CTX_DDL", line 40
ORA-06512: at line 1
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
1 row updated.
Commit complete.
not spooling currently
Disconnected from Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit
Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
2. Get the text search index information from the library server database. To do this,
log into the library server database as the Content Manager EE administrator, and
then use this SQL command:
SQL>SELECT COMPONENTTYPEID, INDEXNAME, COLUMNNAME FROM ICMADMIN.ICMSTTEXTINDEXES;
It produces output like this:
COMPONENTTYPEID INDEXNAME COLUMNNAME
69
--------------- ------------------ ------------------
1187 ICMUU01187001TIE TIEREF
1186 ICMUU01186001001 ATTR0000001015
3. Drop and recreate the text search indexes. To do this, create a generate.sql file
in the /oracle_bak directory. Add these contents:
set heading off
set echo off
set line 200
set pagesize 0
set feed off
select 'set autocommit on' from dual;
select 'drop index '||INDEXNAME||' force;' from ICMADMIN.ICMSTTEXTINDEXES;
select 'CREATE INDEX ICMADMIN.'||INDEXNAME||' ON ICMUT'||LPAD(COMPONENTTYPEID , 5 ,
'0') ||'001('||COLUMNNAME||') INDEXTYPE IS CTXSYS.CONTEXT
PARAMETERS(''NOPOPULATE'');' from ICMADMIN.ICMSTTEXTINDEXES where COLUMNNAME !=
'TIEREF';
select 'CREATE INDEX ICMADMIN.'||INDEXNAME||' ON ICMUT'||LPAD(COMPONENTTYPEID , 5 ,
'0') ||'001(TIEREF) INDEXTYPE IS CTXSYS.CONTEXT PARAMETERS(''DATASTORE
ICMADMIN.ICMFETCHCONTENT NOPOPULATE'');' from ICMADMIN.ICMSTTEXTINDEXES where
COLUMNNAME = 'TIEREF';
select 'update ICMUT'||LPAD(COMPONENTTYPEID , 5 , '0') ||'001 set
'||COLUMNNAME||'='||COLUMNNAME||';' from ICMADMIN.ICMSTTEXTINDEXES where
COLUMNNAME != 'TIEREF';
select 'update ICMUT'||LPAD(COMPONENTTYPEID , 5 , '0') ||'001 set TIEREF=TIEREF;' from
ICMADMIN.ICMSTTEXTINDEXES where COLUMNNAME = 'TIEREF';
select 'quit' from dual;
quit;
4. Run this command to generate the SQL script:
sqlplus -S -L icmadmin/password@sharedb
@/oracle_bak/generate.sql >/oracle_bak/index_cr.sql
5. Do one of the following:
To drop and recreate SQL commands one by one, open the index_cr.sql file.
To drop and recreate them in the same call, use a command like this:
sqlplus -S -L icmadmin/password@sharedb
@/oracle_bak/index_cr.sql >/oracle_bak/index.log
Check the index.log file. (You can ignore any “drop index not exists” messages.)
70
6. Change to the $IBMCMROOT/samples/java/icm directory. Compile
STextIndexUpdateICM, and then run STextIndexUpdateICM to update all the
text indexes.
java STextIndexUpdateICM sharedb icmadmin password
9.2.6 Validate the target system with a client
See “Validate the target system with a client” on page 44.
You have now completed the system move and upgrade to Content Manager EE V8.6.