upgrading to version 9.7 of ibm db2 for linux, unix, and ... · admin_move_table. increased...

70
Upgrade Guide PUBLIC Document Version: 1.1 – 2018-03-01 Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and Windows

Upload: vuongphuc

Post on 25-May-2018

251 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

Upgrade Guide PUBLIC

Document Version: 1.1 – 2018-03-01

Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and Windows

Page 2: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

Content

1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.1 What's New in DB2 9.7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.2 Naming Conventions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.3 Document History. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2 Planning. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.1 Upgrade Restrictions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.2 Upgrade Requirements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.3 Deprecated Functionality. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.4 Upgrading the Database in Special Environments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3 Upgrading the Database (Linux and UNIX). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.1 Installation of the DB2 Software. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14

Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14Installing the Database Software on the Database Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14Updating the Database Client Software. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.2 Upgrading the Instance and Database. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

4 Upgrading the Database (Windows). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314.1 Installation of the DB2 Software. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31

Installing the Database Software on the Database Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31Updating the Database Client Software. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39

4.2 Upgrading the Database. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46

5 Post-Upgrade Activities. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .495.1 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495.2 Running the db6_update_db Script. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495.3 Backing Up the DB2 Server Configuration After the Upgrade (Recommended). . . . . . . . . . . . . . . . . . . 505.4 Installing the DB2 License. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515.5 Checking Configuration Settings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515.6 Removing the Database Administration Server (Optional). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525.7 Updating Data Extractors in SAP Solution Manager (Optional). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

6 Enabling New Database Features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556.2 Larger Record Identifiers (RIDs). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566.3 Row Compression. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586.4 Index Compression. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

2 P U B L I CUpgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and Windows

Content

Page 3: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

6.5 Tablespaces with Reclaimable Storage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606.6 Inline LOBs and LONG VARCHAR Replacement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .616.7 Enabling Multiple Database Features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

7 References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

8 Disclaimer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and WindowsContent P U B L I C 3

Page 4: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

1 Introduction

This documentation explains how you upgrade your database to Version 9.7 of DB2 for Linux, UNIX, and Windows when your database is DB2 UDB for UNIX and Windows Version 8, DB2 Version 9.1, or DB2 Version 9.5 for Linux, UNIX, and Windows. It contains specific information and recommendations for SAP system environments.

For more information about the upgrade to DB2 9.7 for Linux, UNIX, and Windows, see Upgrade to DB2 Version 9.7 in the IBM DB2 Knowledge Center.

Note● Before you start the database upgrade, make sure that you read SAP Note 1332109 . This SAP Note

contains the most recent information about the database upgrade, as well as corrections to this document. Make sure that you always have the most recent version of this SAP Note.

● For a list of known errors and available fixes in DB2 9.7, see also SAP Note 1346902 .

Upgrade Process

To upgrade the database to DB2 9.7, you perform these steps in the following order:

1. Plan the upgrade and check the requirements.2. Install the database software of DB2 9.7.3. Upgrade the DB2 instance.4. Upgrade the DB2 database.5. Perform post-upgrade activities.

These steps are described in detail for Linux/UNIX and for Windows in the appropriate sections.

1.1 What's New in DB2 9.7

NoteTo benefit from some of the features that are mentioned in the following, you must perform additional tasks as described in Post-Upgrade Activities [page 49].

For more information about the support of new features of DB2 9.7 in your SAP system release, see SAP Note 1351160 .

4 P U B L I CUpgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and Windows

Introduction

Page 5: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

Index Compression

In addition to row compression, you can now also compress index objects.

Inline LOBs (Large Objects)

Small LOBs up to a specified size are now stored together with the table data; this is known as “inlining”. Inline LOBs are also subject to row compression. LOBs that are larger than the specified size are transparently stored in the LOB storage object.

Enhancements to the Automatic Storage Mechanism (Autostorage)

You can now convert databases that have not been enabled for DB2’s automatic storage management to automatic storage databases. Furthermore, you can convert existing DMS tablespaces to automatic storage tablespaces. To drop automatic storage paths, you can now use the ALTER DATABASE SQL statement.

Reclaimable Storage for DMS Tablespaces

For newly created DMS tablespaces, you can now reclaim unused storage below the high-water mark without problems. For this purpose, you can use the REDUCE and the LOWER HIGH WATER MARK option of the ALTER TABLESPACE statement.

Online Table Move Procedure

A stored procedure to move tables online has been available as an attachment to SAP Note 1039544 . With DB2 9.7, a version of this stored procedure has now become part of the DB2 core product under the name ADMIN_MOVE_TABLE.

Increased Tablespace Capacity

With DB2 9.7, the maximum size of large and temporary tablespaces has been increased to 64 TB.

Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and WindowsIntroduction P U B L I C 5

Page 6: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

Monitoring Enhancements

DB2 9.7 provides new time-spent monitor elements. In addition, a new event monitor for enhanced lock reporting is available.

Security Enhancements

You can now secure the communication with the database using the Transport Layer Security (TLS) and the Secure Socket Layer (SSL) protocol. Furthermore, you can encrypt user and password information using the AES 256bit algorithm.

System Automation for Multiplatform (SA MP) Now Available for Solaris SPARC

The integrated cluster management software IBM Tivoli SA MP is now available on AIX, Linux, and Solaris SPARC.

1.2 Naming Conventions

Throughout this documentation, we use some naming conventions for IBM DB2 and the SAP application server, and variables.

Database Terminology

Database Version Short Name

IBM DB2 Version 10.1 for Linux, UNIX, and Windows DB2 10.1

IBM DB2 Version 9.7 for Linux, UNIX, and Windows DB2 V9.7

IBM DB2 Version 9.5 for Linux, UNIX, and Windows DB2 V9.5

IBM DB2 Version 9.1 for Linux, UNIX, and Windows DB2 V9.1

IBM DB2 Version 8 Universal Database for UNIX and Windows DB2 UDB Version 8

6 P U B L I CUpgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and Windows

Introduction

Page 7: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

SAP Terminology

● SAP NetWeaver application server ABAP is referred to as AS ABAP.● SAP NetWeaver application server Java is referred to as AS Java.

Variables

Name of Variable Description

<SAPSID> SAP system ID in upper case

<sapsid> SAP system ID in lower case

<DBSID> Database name in upper case

<dbsid> Database name in lower case

NoteThe database name is not necessarily the same as the SAP system ID. For example, the database name is not necessarily the same as the SAP system ID in an MCOD (Multiple Components in One Database) environment.

1.3 Document History

NoteBefore you start the implementation, make sure that you have the latest version of this document. You can find it at https://help.sap.com/viewer/db6_upgrade_9_7 on SAP Help Portal. On the webpage, there's also a button to download the PDF version of this guide.

The following table provides an overview of the most important document changes:

Version Date Description

1.1 2018-03-01 Minor updates only:

● Links to additional SAP and IBM in­formation updated

● Additional references added

1.0 2009-08-18 Initial version

Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and WindowsIntroduction P U B L I C 7

Page 8: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

2 Planning

2.1 Upgrade Restrictions

A few restrictions apply if you want to upgrade to DB2 9.7.

Operating System-Related Restrictions

The upgrade to DB2 9.7 is not supported on any 32-bit operating system.

You cannot upgrade your database to DB2 9.7 on the following 64-bit operating system platforms because they are no longer supported as of DB2 Version 9.5:

● HP-UX on PA-RISC● Linux on IA64● Windows on IA64

For a list of supported operating systems, see Upgrade Requirements [page 9].

The use of raw devices for database logging is not recommended and will be removed in a future DB2 release. You need to change the setting of the database configuration parameter NEWLOGPATH to a disk device instead of a raw device.

Database-Related Restrictions

A direct upgrade to DB2 9.7 is only supported if your database is at least DB2 UDB Version 8, Fix Pack 9. The upgrade from DB2 UDB Version 8, Fix Pack 8 or lower is not supported.

NoteIf you are running DB2 UDB Version 8 with a Fix Pack 8 or lower, you first must apply Fix Pack 9 (DB2 UDB Version 8 with Fix Pack 9 is also referred to as DB2 UDB Version 8.2.2).

SAP System-Related Restrictions

● The SAP DB2 Admin Tools for log file management are not supported with DB2 9.7. If you start the upgrade from DB2 UDB Version 8 and you are still using these tools, you must also upgrade the ADMIN<DBSID> database that was used by these tools.

8 P U B L I CUpgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and Windows

Planning

Page 9: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

CautionThe upgrade of the SAP DB2 Admin Tools is not described in this document but in the Database Administration Guide: SAP on IBM DB2 for Linux, UNIX, and Windows, which is available at https://help.sap.com/viewer/db6_admin.

● DB2 9.7 is not supported for SAP systems with releases lower than 4.6x.

More Information

For more information, see Upgrade Restrictions for DB2 Servers in the IBM DB2 Knowledge Center.

2.2 Upgrade Requirements

When you plan your database upgrade, you have to make sure that the following requirements are met:

● Operating system requirements● SAP system-specific requirements● Space requirements● Other requirements

Operating System Requirements

● The upgrade to DB2 9.7 is supported for the following operating systems:○ Windows on x64○ AIX○ HP-UX on IA64○ Solaris on SPARC○ Solaris on x64○ Linux on x64○ Linux on Power

NoteMake sure that your operating system fulfills all prerequisites for the installation of DB2 9.7. For more information, see Installation Requirements for DB2 Database Products in the IBM DB2 Knowledge Center.

● AIX onlyDB2 9.7 uses asynchronous I/O. On AIX, you must install and configure I/O completion ports (IOCP). For more information, see Configuring IOCP on AIX in the IBM DB2 Knowledge Center.

Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and WindowsPlanning P U B L I C 9

Page 10: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

● You must convert 32-bit instances to 64-bit instances before the database upgrade. To check that your system is running on a 64-bit DB2 instance, proceed as follows:1. Log on to the database server as user db2<dbsid>.2. Enter the following command:

db2levelFor more information about the conversion, see SAP Note 356828 .

● Linux onlyDB2 no longer supports raw character devices on Linux. If you are using raw character devices as containers for tablespaces or log files, you must convert them to raw block devices before the database upgrade.For more information, see Changing raw devices to block devices (Linux) in the IBM DB2 Knowledge Center.

SAP System-Specific Requirements

● Make sure that you have applied the correct SAP kernel patch before you start the database upgrade.For SAP systems with release 4.6x and higher, a specific version of the database shared library (DBSL) dbdb6slib is required.The following table shows the minimal DBSL version that is required for your SAP system release:

SAP Kernel Release DBSL Patch Level

4.6D 2459

6.40 282

7.00 206

7.01 42

7.10 152

7.11 38

NoteFor SAP releases higher than the one listed in this table, you do not need a specific SAP kernel patch.

To check the current patch level of your DBSL, proceed as follows:1. Log on to an application server as user <sapsid>adm.2. Enter the following command:

disp+work –vYou can find the DBSL patch information at the end of the output. For more information about how to download and apply the latest SAP kernel patch, see SAP Note 19466 .

RecommendationWe recommend that you install the latest available SAP kernel patch before you start the DB2 upgrade.

10 P U B L I CUpgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and Windows

Planning

Page 11: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

● The following SAP tools for DB2 require a specific patch level to be able to work with DB2 9.7:

Tool SAP Kernel Release 4.6D — 6.40:

Patch Level

SAP Kernel Release 7.00 and Higher:

Patch Level

db6pmudf 15 15

dmdb6bkp 14 14

dmdb6rdi 23 n/a

dmdb6srp 27 n/a

dmdb6rts 16 n/a

brdb6brt 23 23

For more information about how to download and apply the latest kernel patch for these tools, see SAP Note 19466 .

● If you are upgrading from DB2 UDB Version 8 and you want to use the SAP EXPLAIN function with DB2 9.7, your SAP system requires a specific support package level. For more information, see SAP Note 919763 .

● For certain reasons, the type mapping of some specific ABAP dictionary types to database types has changed in SAP releases starting with 7.00. To ensure that the database object check of the ABAP dictionary can deal with this change, a certain Support Package level is needed for SAP releases 7.00, 7.01, 7.10 and 7.11. Alternatively, you can apply the correction instructions of SAP Note 1354186 . For more information, see Inline LOBs and LONG VARCHAR Replacement [page 61].

Space Requirements

● Before the database upgrade, you have to check the size of the SYSCATSPACE tablespace. If SYSCATSPACE is not enabled for the automatic resize function (AUTORESIZE), you must make sure that at least 50 percent of all pages are free. If AUTORESIZE is enabled or if you are using DB2’s automatic storage management (AUTOSTORAGE), you have to check if there is enough free space available in the file systems.

● The upgrade uses the temporary tablespace. In an SAP database, the temporary tablespace is an SMS tablespace with the name PSAPTEMP<pagesize>. The file system in which this tablespace is located must allow the temporary tablespace to grow to twice the size that is required by SYSCATSPACE.

● During the upgrade, logs are written. The size of the required log space is related to the size of SYSCATSPACE. To avoid log full situations, make sure that enough log space is available.

RecommendationAs a rough guideline, make sure that your log space is at least as large as SYSCATSPACE.

If you followed the parameter recommendations for the database parameters LOGFILSIZ, LOGPRIMARY and LOGSECOND described in SAP Note 584952 , the upgrade should run without problems.

Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and WindowsPlanning P U B L I C 11

Page 12: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

In a partitioned database environment, you only need to check the size of the log space on the catalog partition.

To check the available log space, proceed as follows:1. Log on to the database server as user db2<dbsid>.2. Connect to the database using the following command:

db2 connect to <DBSID>3. Check the available log space using the following command:

db2 get snapshot for all databasesThe available log space is displayed in the following row of the output:Log space available to the database (Bytes)For more information, see Increasing Table Space and Log File Sizes Before Upgrade in the IBM DB2 Knowledge Center.

Other Requirements

● You must perform an offline backup before you start the database upgrade.● Before you start the upgrade, you must convert all type-1 indexes to type-2 indexes. As of DB2 UDB Version 8,

type-2 indexes have been available. As of DB2 9.7, the support for type-1 indexes is discontinued.You can check the existence of type-1 indexes using the db2ckupgrade command, which you execute before the instance upgrade. To determine if type-1 indexes exist in a database, DB2 9.7 additionally provides the db2IdentifyType1 command. This command is available after the DB2 9.7 software installation.For more information, see Converting type-1 indexes to type-2 indexes in the IBM DB2 Knowledge Center.

● For the latest additions and corrections to this document, see SAP Note 1332109 .

2.3 Deprecated Functionality

The DB2 Control Center tools and the database administration server (DAS) have been deprecated in DB2 9.7. You can still use them, but they are likely to be removed in a future DB2 release. For more information, see Control Center tools and DB2 administration server (DAS) have been deprecated in the IBM DB2 Knowledge Center.

To perform administration tasks, you can use the DBA Cockpit (SAP transaction DBACOCKPIT). The DBA Cockpit is available in every AS ABAP and you can also use it to administer an AS Java database.

NoteA database administration server (DAS) is automatically created during the installation of the DB2 9.7 software. If you do not plan to use the DB2 Control Center in DB2 9.7, remove the DAS after the database upgrade as described in Removing the Database Administration Server (Optional) [page 52].

12 P U B L I CUpgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and Windows

Planning

Page 13: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

2.4 Upgrading the Database in Special Environments

This section provides information about upgrading the DB2 database in special environments, such as multi-partioning, HADR, or Microsoft Cluster environments.

Upgrading a Multi-Partition Database

Before you can upgrade a multi-partition database, you have to install the DB2 9.7 software on all database partition servers. The DB2 software can also be provided for all servers using a shared directory.

For more information, see Upgrading Partitioned Database Environments in the IBM DB2 Knowledge Center.

Upgrading the Database in an HADR Environment

In an HADR environment, you can only upgrade the primary database. You cannot upgrade the standby database. Before the upgrade, you must execute the STOP HADR command on the primary and the standby database. After the upgrade, you have to re-create your standby database and initialize HADR again on the primary and the standby database.

Upgrading the Database in a Microsoft Cluster (MSCS) Environment

To upgrade your database to DB2 9.7 in a Microsoft Cluster environment, you have to install a new copy of DB2 9.7 on all cluster nodes and upgrade the instance and the database manually. For more information, see Upgrading DB2 Servers in MSCS Environments in the IBM DB2 Knowledge Center.

Upgrading the Database in an IBM Tivoli System Automation for Multiplatforms (SA MP) Environment

To upgrade a DB2 database that is part of an SA MP cluster, you must first take it out of control of the cluster management software. To do so, set the respective resource groups offline and switch SA MP into manual control mode using the command samctrl –MT.

For more information, see Updating the Database Fix Packs in the document IBM DB2 High Availability Solution: IBM Tivoli System Automation for Multiplatforms at https://help.sap.com/viewer/db6_samp.

Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and WindowsPlanning P U B L I C 13

Page 14: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

3 Upgrading the Database (Linux and UNIX)

The database upgrade consists of the following steps that you must perform in the specified order:

1. You install the DB2 software [page 14].2. You upgrade the instance and the database [page 26].3. You perform post-upgrade activities [page 49].

3.1 Installation of the DB2 Software

3.1.1 Overview

The installation of the DB2 9.7 software consists of the following steps that you must perform in the specified order:

1. You install the database software on the database server [page 14].2. You update the database client software [page 19].

3.1.2 Installing the Database Software on the Database Server

Use

The following section describes how you install the database software on the database server for Linux or UNIX operating systems.

CautionIf you are running a partitioned DB2 database system, the DB2 9.7 software must be available in exactly the same directory on all database hosts. Therefore, we recommend that you install the software on a share that is accessible on all database hosts.

Procedure

1. Log on to the database server as user root and make sure that the DISPLAY variable is set correctly.

14 P U B L I CUpgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and Windows

Upgrading the Database (Linux and UNIX)

Page 15: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

2. Insert and mount the database DVD to <DVD_mount> and enter the following command, depending on your operating system and processor architecture:

Operating System Command

HP-UX (Itanium) /<DVD_mount>/HPIA64/ESE/disk1/db2setup

AIX /<DVD_mount>/AIX_64/ESE/disk1/db2setup

Linux (PowerPC) /<DVD_mount>/LINUXPPC64_64/ESE/disk1/db2setup

Linux x86_64 (AMD64) /<DVD_mount>/LINUXX86_64/ESE/disk1/db2setup

Solaris SPARC /<DVD_mount>/SUNOS_64/ESE/disk1/db2setup

Solaris x64 /<DVD_mount>/SOLARIS_X86_64/ESE/disk1/db2setup

It might take a few minutes for the IBM DB2 Setup Launchpad to appear.

3. On the Welcome screen of the IBM DB2 Setup Launchpad, choose Installation Prerequisites and check if all operating system requirements are met.

Installation Prerequisites

Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and WindowsUpgrading the Database (Linux and UNIX) P U B L I C 15

Page 16: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

CautionYou must make sure that the operating system requirements are met. Otherwise, the upgrade can fail.

4. Choose Install a Product.The Install a Product screen appears:

Install a Product5. Choose Install New under DB2 Enterprise Server Edition Version 9.7.

The screen DB2 Setup – DB2 Enterprise Server Edition Version 9.7 appears.

CautionThe exact sequence of the installation steps that follow depends on various factors, for example, your operating system, already installed DB2 components, your installation choices, and the DB2 Fix Pack level.

Therefore, we cannot provide a detailed step-by-step procedure for the DB2 software installation in this document.

The following steps can appear, but not necessarily in the sequence shown below. They outline important points that you have to consider when installing DB2 in an SAP environment:

● On the Introduction part of the screen DB2 Setup – DB2 Enterprise Server Edition Version 9.7, choose Next.● Accept the license agreement and choose Next.● On the screen Select the installation type, choose Typical and then Next.

16 P U B L I CUpgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and Windows

Upgrading the Database (Linux and UNIX)

Page 17: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

● On the screen Select installation, response file creation, or both, choose Install DB2 Enterprise Server Edition Version 9.7 on this computer ... and then Next.

● On the screen Select the installation directory, enter the Installation Directory and choose Next.

Installation Directory

CautionThe default installation paths for Linux and AIX are as follows:

○ Linux: /opt/ibm/db2/V9.7Note that on Linux ’ibm’ is now in lower case.

○ AIX, HP-UX, and Solaris: /opt/IBM/db2/V9.7

Current versions of the SAP installation tool install a local copy of the DB2 software in a subdirectory of the home directory of the instance-owning user, for example, /db2/db2<dbsid>/db2_software. The advantage is that you can maintain the database software of the DB2 copies independently of each other for each SAP system on the same host.

To check the location of the currently installed DB2 version, log on as user db2<dbsid> and enter the db2level command.

Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and WindowsUpgrading the Database (Linux and UNIX) P U B L I C 17

Page 18: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

CautionDo not install DB2 9.7 in the current instance directory of your DB2 instance (/db2/db2<dbsid>/sqllib) and below.

● AIX, Solaris SPARC, and Linux platforms onlyDecide if you want to install the System Automation for Multiplatforms (SA MP) base component and choose Next.SA MP is a cluster management software used in high availability (HA) environments. If you install the SA MP base component, additional prerequisites are checked.

SA MP

NoteTo start the prerequisite check for SA MP before starting the DB2 installation, proceed as follows:

1. Change to the following directory:<DVD_mount>/<platform>/ESE/disk1/db2/<os>/tsamp

2. Run the prerequisite check manually using the following command:./prereqSAM

● On the Instance Setup screen, choose Do not create a DB2 instance and then Next.● On the Summary screen, review the installation summary and start the installation by choosing Finish.● When the installation is completed, choose Finish again.

18 P U B L I CUpgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and Windows

Upgrading the Database (Linux and UNIX)

Page 19: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

3.1.3 Updating the Database Client Software

3.1.3.1 DB2 Client Types

You can install the AS ABAP of an SAP system with two different DB2 clients:

● The DB2 Runtime Client (as of DB2 Version 9.5 also known as IBM Data Server Runtime Client) offers all the functions required to run applications that connect to a DB2 server. Besides the DB2 Command Line Processor (CLP), it contains no administration and configuration tools.

● The DB2 CLI Driver (also known as IBM DB2 Driver for ODBC and CLI or IBM Data Server Driver for ODBC and CLI) provides runtime support for applications using the ODBC or CLI API. The DB2 CLI Driver is a lightweight zero-installation driver that you can install on shared directories (for example, NFS shares).

Which client is used depends on the setup of your SAP system.

NoteThe AS Java always uses the Type-4 DB2 JDBC Driver (also known as IBM DB2 Driver for JDBC and SQLJ or IBM Data Server Driver for JDBC and SQLJ).

SAP Releases Lower than SAP Basis 7.0

All SAP systems that were installed with DB2 UDB Version 8 and all SAP systems that were installed with an SAP basis release lower than 7.0 are deployed with a local DB2 client instance (the DB2 Runtime Client) on each standalone SAP application server. For these application servers, you have to update the DB2 Runtime Client separately.

NoteIf you only have one application server and it is running on the database host, the DB2 Runtime Client of the database instance is used and a separate update is not required.

SAP Releases Based on SAP Basis 7.0

All SAP systems that were installed with DB2 UDB Version 8 run with the DB2 Runtime Client. All SAP systems that are installed with DB2 Version 9.1 can either run with the DB2 Runtime Client or the DB2 CLI driver, which was introduced with DB2 Version 9.1.

The type of DB2 client used in your system depends on whether you want to upgrade the database of a newly installed system, an upgraded system, or whether you have manually switched to the new DB2 client connectivity (according to SAP Note 1091801 ).

Therefore, before the upgrade, you must determine which type of DB2 client [page 20] is used in your system and update it accordingly.

Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and WindowsUpgrading the Database (Linux and UNIX) P U B L I C 19

Page 20: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

SAP Releases Based on SAP Basis 7.10 and Higher

All SAP systems based on SAP Basis 7.10 are always installed with the new DB2 client connectivity. You only have to update the DB2 CLI driver [page 22].

Graphical Overview

The following figure provides a graphical overview of the steps that you have to perform on an AS ABAP:

Upgrading the Client Connectivity in an SAP ABAP System

3.1.3.2 Determining the DB2 Client Type Used by the System

Use

To explicitly determine which DB2 client type (DB2 Runtime Client or DB2 CLI driver) is used, you can use R3trans.

20 P U B L I CUpgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and Windows

Upgrading the Database (Linux and UNIX)

Page 21: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

Procedure

1. Log on to the application server where you want to check the DB2 client type as user <sapsid>adm.2. Enter the following command:

R3trans -xR3trans loads the DB2 library and connects to the database. A log file trans.log is created in the current directory.

3. Open the log file trans.log in an editor and search for the term DB2 library.

ExampleIf the DB2 CLI driver is used, the output looks as follows:

...

4 ETW000 [dev trc ,00000] DB2 library successfully loaded DB2 library

'/usr/sap/<SAPSID>/SYS/global/db6/<platform>/db6_clidriver/lib/libdb2.so' successfully loaded

...

4 ETW000 [dev trc ,00000] Running with CLI driver 40239 0.468024

...

If the DB2 Runtime Client is used, the output looks as follows:

...

4 ETW000 [dev trc ,00000] DB2 library successfully loaded DB2 library '/db2/db2<dbsid>/sqllib/lib/libdb2.so' successfully loaded

...

NoteEven if R3trans loads the DB2 CLI driver libraries, an additional DB2 Runtime Client might be installed. By default, the SAP kernel uses the DB2 CLI driver on all application servers of SAP Release 7.0 and higher that have a local DB2 Runtime Client installed, as well as access to a DB2 CLI driver in directory /usr/sap/<SAPSID>/SYS/global/db6. In this case, the DB2 Runtime Client is not used, and we recommend that you uninstall it to avoid duplicate maintenance.

To check if a DB2 Runtime Client is installed, enter the following command as user <sapsid>adm:

db2ilist

If no DB2 Runtime Client is installed, this command is unknown. If a DB2 Runtime Client exists, the name of the local DB2 instance db2<dbsid> is displayed.

If you want to keep your DB2 Runtime Client, we recommend that you update both DB2 clients (that is, the DB2 Runtime Client and the DB2 CLI driver).

Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and WindowsUpgrading the Database (Linux and UNIX) P U B L I C 21

Page 22: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

Result

You know which type of DB2 client is used in your system landscape. Update it according to the instructions in one of the following sections:

● Updating the DB2 Runtime Client [page 22]● Updating the DB2 CLI Driver Client [page 22]● Updating the JDBC Driver [page 23]

3.1.3.3 Updating the DB2 Runtime Client

Use

For each SAP application server that uses a DB2 Runtime Client and that is not running on the database server, you must update the DB2 Runtime Client. That is, you install the DB2 Runtime Client software first and upgrade the DB2 Runtime Client instance as part of the database and instance upgrade.

This section describes how you install the DB2 9.7 Runtime Client software.

Procedure

1. To install the DB2 Runtime Client, follow the procedure described in Installing the Database Software on the Database Server [page 14]. However, make sure that you choose IBM Data Server Runtime Client Version 9.7 as the product to be installed in step 5.

2. Repeat these steps on each application server that is not running on the database host.

NoteAfter you have installed the new DB2 Runtime Client software, you must still upgrade the DB2 Runtime Client instance as described in Upgrading the Instance and Database [page 26].

3.1.3.4 Updating the DB2 CLI Driver

Use

For SAP systems that use the DB2 CLI driver, you only have to update the DB2 CLI driver once in the shared directory /usr/sap/<SAPSID>/SYS/global/db6.

Each application server can access this directory. Therefore, after the DB2 CLI driver has been updated, it can be used by all application servers.

22 P U B L I CUpgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and Windows

Upgrading the Database (Linux and UNIX)

Page 23: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

Procedure

1. Log on to the database host as user <sapsid>adm.2. Mount the DVD DB2 V9.7 LUW CLI/JDBC–Driver.3. Switch to directory <mount_DVD_Dir>/CLIENT.4. For an ABAP or ABAP+Java system, start the db6_update_client.sh script using the following command:

./db6_update_client.sh -uFor a Java-only system, use the following command to update only the JDBC driver:./db6_update_client.sh -jFor more information, see Updating the JDBC Driver [page 23].

Result

The new version of the DB2 CLI driver is automatically used after the next SAP system restart and no further action is required.

3.1.3.5 Updating the JDBC Driver

Use

The following section describes how you update the JDBC driver.

Prerequisites

Since the location of the JDBC driver can vary – which means that the appropriate steps to update it can also vary – you should first determine the location of the JDBC driver, which depends on your SAP system release level.

Determining the Location of the JDBC Driver for SAP Releases Lower than SAP Basis 7.10

1. Log on to the respective application server as user <sapsid>adm.2. Change to the directory ../cluster/bootstrap of the Java instance using the following command:

cd /usr/sap/<SAPSID>/DVEBMGS<instance-no>/j2ee/cluster/bootstrap3. Determine the location of the JDBC driver using the following command:

grep driver bootstrap.propertiesThe value of this property of the rdbms.driverLocation is returned. It contains the location of the currently used JDBC driver.

Determining the Location of the JDBC Driver for SAP Releases with SAP Basis 7.10 and Higher

1. Log on to the respective application server as user <sapsid>adm.2. Change to the profile directory of the Java instance using the following command:

cd /usr/sap/<SAPSID>/SYS/profile

Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and WindowsUpgrading the Database (Linux and UNIX) P U B L I C 23

Page 24: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

3. Enter the following command:grep dbdriver <instance_profile>The path to the JDBC driver is returned.

Procedure

Updating the JDBC Driver in a Central System

The JDBC Driver is part of every database installation. In a central system where all SAP instances are installed on one host, all application servers can use the JDBC driver that is provided by the database system. On all UNIX and Linux platforms, DB2 uses symbolic links to point from the instance directories to the software installation directory.

In a central system, the JDBC driver files should be taken from the following path: /db2/db2<dbsid>/sqllib/java

ExampleFor example, for DB2 UDB Version 8, this link points to the following directory: /opt/IBM/db2/V8.1/java

During the database upgrade, this link is automatically updated to the new DB2 software installation directory and therefore the JDBC driver of the new DB2 version is used. However, if /db2/db2<dbsid>/sqllib/java is not used to specify the location of the JDBC driver files, the AS Java system still uses the old JDBC driver after a database upgrade. The problem is not immediately obvious because the AS Java system still starts and stops.

However, applications that are using certain new functions that are provided only by the new JDBC driver cause errors during execution.

CautionDue to a problem in the 6.40 version of the SAP installation tool, even if /db2/db2<dbsid>/sqllib/java is specified during the installation, the release-dependent directory (for example, /opt/IBM/db2/V8.1/java for DB2 UDB Version 8) is inserted into the configuration files of the J2EE engine.

If the wrong path (for example, /opt/IBM/db2/V8.1/java for DB2 UDB Version 8) is found in the configuration files of a central AS Java installation, you must manually replace it with the correct path /db2/db2<dbsid>/sqllib/java as described in SAP Note 867976 .

Update the JDBC driver according to one of the following scenarios:

Scenario Required Action

The JDBC driver is taken from a DB2 server installation. In this case, the directory retrieved using the procedure above is /db2/db2<dbsid>/sqllib/java.

No further action required

24 P U B L I CUpgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and Windows

Upgrading the Database (Linux and UNIX)

Page 25: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

Scenario Required Action

The JDBC driver is taken directly from the DB2 software installa­tion directory. In this case, the directory retrieved using the pro­cedure above, for example, for DB2 UDB Version 8 is/opt/IBM/db2/V8.1/java.

You have to manually adapt the configuration files of the AS Java system so that the correct driver is taken using the fol­lowing link:/db2/db2<dbsid>/sqllib/java

To do this, follow the instructions in SAP Note 867976 .

The JDBC driver is taken from …/global/db6 or from a copy of this driver in the local instance exe directory DIR_EXECUTABLE=/usr/sap/<SAPSID>/D[VEBMGS][nr]/exe

or /usr/sap/<SAPSID>/J[C][nr]/exe.

Run the db6_update_client.sh script as described in Updating the DB2 CLI Driver Client [page 22].

Updating the JDBC Driver in a Distributed System

In a distributed SAP system, application servers run on dedicated hosts other than the database host. Therefore, these application servers need their own JDBC driver files.

Depending on the location, you have to update the JDBC driver on these dedicated hosts according to one of the following scenarios:

Scenario Required Action

The JDBC driver is taken from a DB2 Runtime Client instance. In this case, the directory retrieved using the procedure described above is /db2/db2<dbsid>/sqllib/java.

Update the DB2 Runtime Client as described in Updat­ing the DB2 Runtime Client [page 22].

The JDBC driver is taken from …/global/db6 or from a copy of this driver in the local instance exe directory DIR_EXECUTABLE=/usr/sap/<SAPSID>/D[VEBMGS][nr]/exe or /usr/sap/<SAPSID>/J[C][nr]/exe.

Run the script db6_update_client.sh as described in Updating the DB2 CLI Driver [page 22].

The JDBC driver is used from any other location. Update the JDBC driver files (db2jcc.jar and db2jcc_license_cu.jar) manually as follows:

1. Mount the DVDDB2 9.7 LUW CLI/JDBC-Driver to di­rectory <client_dvd_mount>.

2. As user <sapsid>adm, copy the JDBC driver to the destination directory using the following command:cp <client_dvd_mount>/CLIENT/jdbc/* <rdbms.driverLocation_dir>

NoteIf the JDBC driver is not taken from the kernel exe directory, which is visible on all servers, you have to repeat this step on all application servers.

Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and WindowsUpgrading the Database (Linux and UNIX) P U B L I C 25

Page 26: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

3.2 Upgrading the Instance and Database

Context

After the software installation, you have to upgrade the instance and database. Make sure that you perform all steps in the sequence given:

1. You back up the DB2 server configuration (recommended).2. You run program db2ckupgrade (optional).3. You upgrade the instance.4. You migrate the DB2 administration server (optional).5. You upgrade the DB2 database.6. You upgrade the DB2 runtime client instance for a central and dialog instance.7. You verify if the database has been successfully upgraded (optional).8. You perform a backup (recommended).

NoteIn the following procedures, replace <DB2_SWDIR> with your software installation directory for DB2 9.7.

Prerequisites

● Before the database upgrade to DB2 9.7, you must have performed a full backup of your database.● Make sure that there is enough free disk space available. Otherwise, the upgrade of your DB2 database fails.

You need to check the following:○ The system catalog tablespace SYSCATSPACE

If SYSCATSPACE is not an AUTOEXTENT or an AUTOSTORAGE tablespace, you must ensure that at least half of the pages is free. To find out the number of used and free pages, use the following command:db2 “LIST TABLESPACES SHOW DETAIL”

○ The temporary tablespaceSAP systems use SMS-based temporary tablespaces. Make sure that the temporary tablespaces can grow to at least twice the size of SYSCATSPACE.

○ The size of log spaceAs a rough guideline, make sure that your log space has at least the size of the SYSCATSPACE. If you followed the parameter recommendations for the database parameters LOGFILESIZ, LOGPRIMARY and LOGSECOND (for more information, see SAP Note 584952 ), the upgrade should run without problems.

NoteIn a partitioned database environment, you only need to check the size of the log space on the catalog partition.

For more information, see Increasing Tablespace and Log File Sizes Before Upgrade in the IBM DB2 Knowledge Center.

26 P U B L I CUpgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and Windows

Upgrading the Database (Linux and UNIX)

Page 27: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

Procedure

Backing Up the DB2 Server Configuration (Recommended)

During the upgrade, DB2 configuration parameters are changed automatically. To keep track of the changes, we recommend that you back up the DB2 server configuration before and after the actual upgrade. By comparing the files that contain the DB2 configuration settings after the upgrade has finished, you can review the changes.

DB2 is configured by setting the following:

● Environment variables● DB2 profile registry variables● DB2 database manager configuration parameter● DB2 database configuration parameter

To back up the database configuration, perform the following steps:

1. Log on to the database server as user db2<dbsid>.2. Create a directory <config_bkp> where you store the configuration using a command such as the following:

mkdir /db2/db2<dbsid>/cfg_backup3. Change to the newly created directory <config_bkp> using the following command:

cd /db2/db2<dbsid>/cfg_backup4. Back up the database server configuration using the following commands:

env > env_before_mig.txtdb2set -all > reg_before_mig.txtdb2 get dbm cfg > dbm_before_mig.txtdb2 get db cfg for <SAPSID> > db_before_mig.txt

After the database upgrade, you back up the database configuration again and compare the files that contain the configuration before and after the upgrade. For more information, see Backing Up the DB2 Server Configuration After the Migration (Recommended) [page 50].

Running Program db2ckupgrade (Optional)

The db2ckupgrade program checks if certain prerequisites for the upgrade are met. This program is automatically called by db2iupgrade (see below). If it encounters problems, the upgrade does not start.

You can start db2ckupgrade manually before the upgrade.

NoteThis is only a check and does not affect your database.

NoteIn a partitioned database environment, you must run db2ckupgrade on all database partitions.

1. Log on to the database server as user <sapsid>adm.2. Stop your SAP system and the DB2 instance using the following commands:

stopsapdb2stop force

3. Log on to the database server as user db2<dbsid>.

Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and WindowsUpgrading the Database (Linux and UNIX) P U B L I C 27

Page 28: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

4. Start the database manager using the following command:db2start

5. Run the db2ckupgrade program using the following command:<DB2_SWDIR>/instance/db2ckupgrade –e –l upgrade.log

6. Check the file upgrade.log for possible errors. If no errors are found, the following message is displayed:Version of DB2CKUPGRADE being run: VERSION 9.7.

Upgrading the Instance

CautionIn a partitioned database environment, upgrade the instance on the database partition server that owns the home directory of the instance owner.

1. Log on to the database server as user <sapsid>adm.2. Stop your SAP system and the DB2 instance using the following commands:

stopsapdb2stop forcedb2 terminate

3. Log on to the database server as user root.4. Upgrade the instance using the following command:

<DB2_SWDIR>/instance/db2iupgrade –u db2<dbsid> db2<dbsid>

NoteTo check if all requirements for an upgrade are met, db2iupgrade calls the program db2ckupgrade in the background. If db2ckupgrade finds problems, the DB2 instance is not upgraded. In this case, correct the problem and start db2iupgrade again.

If the instance was successfully upgraded, the following message is displayed:Program db2iupgrade completed successfully.The upgrade command saves a backup copy of the instance directory ~db2<dbsid>/sqllib to one of the following directories:○ ~db2<dbsid>/sqllib_v81○ ~db2<dbsid>/sqllib_v91○ ~db2<dbsid>/sqllib_v95

The files are then adapted in the ~db2<dbsid>/sqllib directory.During the instance upgrade, the database manager configuration of DB2 9.7 is merged with the settings of the database manager configuration of DB2 UDB Version 8, DB2 Version 9.1, or DB2 Version 9.5.

Upgrading the DB2 Administration Server (Optional)

The DB2 administration server (DAS) is used by the DB2 graphical client tools, for example, the DB2 Control Center. If you are using these tools, you have to upgrade the DAS as follows:

1. Log on to the database server as user root.2. Upgrade the DAS using the following command:

<DB2_SWDIR>/instance/dasmigr

Upgrading the DB2 Database

Since the DB2 system catalog has been changed with DB2 Version 9.1, you have to upgrade the database.

28 P U B L I CUpgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and Windows

Upgrading the Database (Linux and UNIX)

Page 29: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

CautionIn a partitioned database environment, perform the database upgrade on the catalog database partition server.

1. Log on to the database server as user db2<dbsid>.2. Upgrade the database using the following commands:

db2startdb2 upgrade database <SAPSID>

The time it takes to upgrade the database depends on the size of the system catalog. For a standard SAP NetWeaver 7.0 ABAP only, the upgrade approximately takes 10 to 30 minutes. If the upgrade completes successfully, the following message is displayed:

The UPGRADE DATABASE command completed successfully.

NoteIf the database upgrade fails, the error message SQL1704N is displayed describing the cause of the failure. For a list of possible solutions for each reason code, enter db2 “? SQL1704”.

One of the most common causes of upgrade failure is that there is not enough log file space available. In this case, the following error is returned:

SQL1704N Database migration failed. Reason code "3".

NoteIf the database upgrade succeeds but additional actions are required, the new warning SQL1499W is displayed describing the cause of the failure. In this case, see the DB2 administration log /db2/<DBSID>/db2dump/db2<dbsid>.nfy for more information.

CautionIf the database upgrade returns the warning message SQL1243W, you need to drop or rename the table SYSTOOLS.DB2LOOK_INFO. Otherwise, the statements ALTER TABLE and COPY SCHEMA fail to run. To drop the table, enter the following command on the command line:

db2 DROP TABLE SYSTOOLS.DB2LOOK_INFO

Upgrading the DB2 Runtime Client Instance for a Central and Dialog Instance

NoteFor every application server that is not running on the database server and that is using the DB2 Runtime Client, you have to upgrade the DB2 Runtime Client instance.

1. Log on to the application server as user root.2. Upgrade the DB2 Runtime Client using the following command:

<DB2_SWDIR/instance/db2iupgrade db2<sapsid>If the upgrade of the DB2 Runtime Client is successful, the following message is displayed:Program db2iupgrade completed successfully

Verifying the Database Upgrade (Optional)

Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and WindowsUpgrading the Database (Linux and UNIX) P U B L I C 29

Page 30: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

To verify the success of the database upgrade, you can test if a database activation succeeds by performing the following steps:

1. Log on to the database server as user <sapsid>adm.2. Start the database manager using the following command:

db2start3. Activate the database using the following command:

db2 activate database <SAPSID>After you activated the database, check the db2diag.log in /db2/<DBSID>/db2dump for possible problems.

Performing a Backup (Recommended)

We strongly recommend that you perform a full offline backup of the upgraded database.

30 P U B L I CUpgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and Windows

Upgrading the Database (Linux and UNIX)

Page 31: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

4 Upgrading the Database (Windows)

Purpose

The following sections describe the required steps for the database upgrade when your operating system is Windows 2003 or Windows 2008.

RecommendationWe recommend that you perform a full backup of your database before you install the DB2 9.7 software.

Process Flow

The database upgrade consists of the following steps that you must perform in the specified order:

1. You install the DB2 software [page 31].2. You upgrade the instance and the database in one step [page 46].

CautionAfter the database upgrade, you must perform a full backup of your database.

3. You perform post-upgrade activities [page 49].

4.1 Installation of the DB2 Software

The installation of the DB2 9.7 software consists of the following steps that you must perform in the specified order:

● You install the database software on the database server. [page 31]● You update the database client software. [page 39]

4.1.1 Installing the Database Software on the Database Server

Context

The following section describes how you install the database software on the database server for Windows operating systems.

Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and WindowsUpgrading the Database (Windows) P U B L I C 31

Page 32: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

CautionWhen you install DB2 9.7 on your Windows host, all existing instances of DB2 UDB Version 8, DB2 Version 9.1, or DB2 Version 9.5 are automatically upgraded to DB2 9.7. Therefore, you must upgrade all your databases to DB2 9.7 after you have installed the DB2 9.7 software.

CautionIf you are running a partitioned DB2 database system, the DB2 9.7 software must be available in exactly the same directory on all database hosts. Therefore, we recommend that you install the software on a share that is accessible on all database hosts.

Prerequisites

● Make sure that you check all DB2 instances with the db2ckupgrade program before installing the DB2 9.7 software as described in Running Program db2ckupgrade later in this section.

● Check that there is enough free disk space available. If there is not enough free space available, the upgrade of your DB2 database fails.You need to check the following:○ The system catalog tablespace SYSCATSPACE

If SYSCATSPACE is not an AUTOEXTENT or an AUTOSTORAGE tablespace, you must ensure that at least half of the pages is free. To find out the number of used and free pages, use the following command in a DB2 command window:db2 “LIST TABLESPACES SHOW DETAIL”

○ The temporary tablespaceSAP systems use SMS-based temporary tablespaces. Make sure that the temporary tablespaces can grow to at least twice the size of SYSCATSPACE.

○ The size of log spaceAs a rough guideline, make sure that your log space is at least the same size asSYSCATSPACE. In addition, if you followed the parameter recommendations for the database parameters LOGFILSIZ, LOGPRIMARY and LOGSECOND as described in SAP Note 584952 , the database upgrade should run without problems.

NoteIn a partitioned database environment, you only need to check the size of the log space on the catalog partition.

For more information, see Increasing Tablespace and Log File sizes Before Upgrade in the IBM upgrade guide.

Procedure

Backing Up the DB2 Server Configuration (Recommended)

32 P U B L I CUpgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and Windows

Upgrading the Database (Windows)

Page 33: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

During the upgrade, DB2 configuration parameters are changed automatically. To keep track of the changes, we recommend that you back up the DB2 server configuration before and after the upgrade. By comparing the files that contain the DB2 configuration settings after the database upgrade has finished, you can review the changes.

DB2 is usually configured by setting the following:

● Environment variables● DB2 profile registry variables● DB2 database manager configuration● DB2 database configuration

To back up the DB2 server configuration, proceed as follows:

1. Log on to the database server as user db2<dbsid> and open a DB2 command window.2. Create a directory <config_bkp> where you store the configuration using a command such as the following:

mkdir <drive>:\db2\db2<dbsid>\cfg_backup3. Change to the newly created directory <config_bkp> using the following command:

cd <drive>:\db2\db2<dbsid>\cfg_backup4. Back up the database server configuration using the following commands:

set > env_before_mig.txtdb2set -all > reg_before_mig.txtdb2 get dbm cfg > dbm_before_mig.txtdb2 get db cfg for <SAPSID> > db_before_mig.txt

After the database upgrade, you back up the database configuration again and compare the files that contain the configuration before and after the database upgrade. For more information, see Backing Up the DB2 Server Configuration After the Upgrade (Recommended) [page 50].

Running Program db2ckupgrade

Before you install the DB2 9.7 software, run the program db2ckupgrade to make sure that you can upgrade all instances without problems.

NoteThis is only a check and does not affect any of your databases.

1. Stop the SAP system, for example, using the SAP plug-in for the Microsoft Management Console (MMC).2. Log on to the database server as user db2<dbsid> and open a DB2 command window.3. Stop and restart the database manager using the following commands:

db2stop forcedb2start

4. Change to the following directory:cd <CD_drive>\WINDOWS_AMD64\ESE\image\db2\Windows\utilities

5. Run the db2ckupgrade program using the following command:db2ckupgrade -e -l <A_WRITABLE_DIRECTORY>\migration.log<A_WRITABLE_DIRECTORY> can be any directory to which you have write access, for example:db2ckupgrade -e -l c:\temp\migration.log

Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and WindowsUpgrading the Database (Windows) P U B L I C 33

Page 34: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

NoteIf you see the error message The system cannot execute the specified program., you need to install the Microsoft Visual C runtime before starting the program db2ckupgrade. For more information about how to install the runtime, see the relevant IBM Web page at:

http://www.ibm.com/support/docview.wss?rs=71&uid=swg21240661

6. Check the database upgrade log for errors. If no errors are found, you only find the version information in this file:Version of DB2CKUPGRADE being run: VERSION 9.7.In addition, the following message is displayed:db2ckupgrade was successful. Database(s) can be migrated.

NoteRun db2ckupgrade on your database server for all DB2 instances.

Installing the Software

1. Log on the database server as follows:○ Upgrading DB2 V9.5 to DB2 9.7 on Windows 2008 only:

You must log on to the database server and install the DB2 software with the same user who installed the existing DB2 V9.5 software. To find out which user installed the DB2 software, look up the Windows registry key HKEY_LOCAL_MACHINE\SOFTWARE\IBM\DB2\InstalledCopies\<copyname>\Elevated.

○ In all other cases, log on to the database server as user <sapsid>adm.2. Stop all your SAP systems and, if they are running, stop the DB2 services.

Determine the software installation directory of the current DB2 instance by using the following command in a DB2 command window:db2level

ExampleThe output contains the following line that indicates the installation directory of the DB2 software (<INSTDIR>):

Product is installed at “<INSTDIR>”

3. Start the program for installing the DB2 database software using the following command:<DVD_drive>:\WINDOWS_X86_64\ESE\image\setupThe Welcome screen of the DB2 Setup Launchpad appears.

4. In the navigation frame of the DB2 Setup Launchpad, choose Installation Prerequisites and check if your system meets all the prerequisites.

5. In the navigation frame of the DB2 Setup Launchpad, choose Install a Product and Work with Existing for the DB2 Enterprise Server Edition Version 9.7.

34 P U B L I CUpgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and Windows

Upgrading the Database (Windows)

Page 35: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

NoteBy choosing Work with Existing you install the software and automatically upgrade all DB2 instances. The existing DB2 software is updated.

CautionDo not choose Install New.

In this document, we only describe how to upgrade an existing DB2 copy. SAP kernel versions lower than 7.00 only work correctly with the DB2 default copy.

For SAP systems with SAP kernel version 7.00 SR3 and higher, it is technically possible to install a new DB2 copy. However, you have to upgrade the instance to the new copy afterwards. For more information, see Upgrading Instances in the IBM DB2 Knowledge Center.

The screen Select the DB2 copy to work with appears.6. Choose the DB2 copy with the installation path <INSTDIR> (see step 2) and choose Launch DB2 Setup wizard.

Launch DB2 Setup wizard

The wizard DB2 Setup – DB2 Enterprise Server Edition appears.

Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and WindowsUpgrading the Database (Windows) P U B L I C 35

Page 36: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

CautionThe exact sequence of the installation steps that follow depends on various factors, for example, your operating system, already installed DB2 components, your installation choices, and the DB2 Fix Pack level.

Therefore, we cannot provide a detailed step-by-step procedure for the DB2 software installation in this document.

The following steps can appear, but not necessarily in the sequence shown below. They outline important points that you have to consider when installing DB2 in an SAP environment:

● If a warning appears that the upgrade will apply changes to your DB2 copy, confirm it and choose Next.

NoteIf you receive a warning that DB2 is currently running and locked by some processes, choose Yes to shut down these processes.

● Accept the license agreement and choose Next.● On the screen Select the installation type, choose Typical and then Next.● On the screen Select the installation, response file creation or both, choose Install DB2 Enterprise Server Edition

on this computer and then Next.● On the Installation folder screen, confirm the installation directory by choosing Next.● On the screen Set the DB2 copy name, accept the proposed copy name and then choose Next.

36 P U B L I CUpgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and Windows

Upgrading the Database (Windows)

Page 37: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

Set the DB2 Copy Name Screen● On the screen Set user information for the default DB2 instance, enter the password and user name for user

db2<dbsid> and then choose Next.

Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and WindowsUpgrading the Database (Windows) P U B L I C 37

Page 38: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

Set User Information for the Default DB2 Instance Screen

NoteIf db2<dbsid> is a domain user, enter the correct name of the domain. If it is a local user, keep the default setting None – use local user account.

CautionDo not enter the local host name as a domain.

● If the screen Enable operating system security for DB2 objects appears, choose Enable operating system security and then Next.

● On the Start copying files screen, start the installation by choosing Install.● If the installation has successfully finished, the Setup is Complete screen appears. To continue, choose Next.● On the Install additional products screen, complete the installation by choosing Finish. If required, reboot the

system.● If the DB2 First Steps application is started, leave the application by choosing Exit.

Checking the Availability of the DB2 Service

Check that the DB2 service is running under user db2<dbsid>:

1. Choose Start Run .

38 P U B L I CUpgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and Windows

Upgrading the Database (Windows)

Page 39: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

2. Enter the following command:services.msc /s

3. Right-click DB2<DB2COPY>.<DB2INSTANCE>.4. Choose Properties.5. Choose Log on and check that this service is running under user db2<dbsid>.

Checking Availability of the DB2 Service

4.1.2 Updating the Database Client Software

4.1.2.1 DB2 Client Types

You can install the application server ABAP (AS ABAP) of an SAP system with two different DB2 clients:

● The DB2 Runtime Client (as of DB2 Version 9.5 also known as IBM Data Server Runtime Client) offers all the functions required to run applications that connect to a DB2 server. Besides the DB2 Command Line Processor (CLP), it contains no administration and configuration tools.

Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and WindowsUpgrading the Database (Windows) P U B L I C 39

Page 40: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

● The DB2 CLI Driver (also known as IBM DB2 Driver for ODBC and CLI or IBM Data Server Driver for ODBC and CLI) provides runtime support for applications using the ODBC or CLI API. The DB2 CLI Driver is a lightweight zero-installation driver that you can install on shared directories (for example, NFS shares).

The setup of your SAP system determines which client is used most often.

NoteThe application server Java (AS Java) always uses the Type-4 DB2 JDBC Driver (also known as IBM DB2 Driver for JDBC and SQLJ or IBM Data Server Driver for JDBC and SQLJ).

SAP Releases Lower than SAP Basis 7.0

All SAP systems that were installed with DB2 UDB Version 8 and all SAP systems that were installed with an SAP Basis release lower than 7.0 are deployed with a local DB2 client instance (the DB2 Runtime Client) on each standalone SAP application server. For these application servers, you have to update the DB2 Runtime Client separately.

NoteIf you only have one application server and it is running on the database host, the DB2 Runtime Client of the database instance is used and a separate update is not required.

SAP Releases Based on SAP Basis 7.0

All SAP systems that were installed with DB2 UDB Version 8 run with the DB2 Runtime Client. All SAP systems that are installed with DB2 Version 9.1 can run with either the DB2 Runtime Client or the DB2 CLI driver, which was introduced with DB2 Version 9.1.

The type of DB2 client used in your system depends on whether you want to upgrade the database of a newly installed system, an upgraded system, or whether you have manually switched to the new DB2 client connectivity (according to SAP Note 1091801 ).

Therefore, before the upgrade, you must determine which type of DB2 client [page 41] is used in your system and update it accordingly.

SAP Releases Based on SAP Basis 7.10 and Higher

All SAP systems based on SAP Basis 7.10 are always installed with the new DB2 client connectivity. You only have to update the DB2 CLI driver [page 43].

40 P U B L I CUpgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and Windows

Upgrading the Database (Windows)

Page 41: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

Graphical Overview

The following figure provides a graphical overview of the steps that you have to perform, for example, on an AS ABAP:

Upgrading the Client Connectivity in an SAP ABAP System

4.1.2.2 Determining the DB2 Client Type Used by the System

Use

To explicitly determine which DB2 client type (DB2 Runtime Client or DB2 CLI driver) is used, you can use R3trans:

Procedure

1. Log on to the application server where you want to check the DB2 client type as user <sapsid>adm and open a command prompt window.

Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and WindowsUpgrading the Database (Windows) P U B L I C 41

Page 42: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

2. Enter the following command:R3trans -xR3trans loads the DB2 library and connects to the database. A log file trans.log is created in the current directory.

3. Open the log file trans.log in an editor and search for the term DB2 library.

ExampleIf the DB2 CLI driver is used, the output looks as follows:

...

4 ETW000 [dev trc ,00000] DB2 library successfully loaded DB2 library

'\\<host>\sapmnt\<SAPSID>\SYS\global\db6\<platform>\db6_clidriver\bin\db2app64.dll' successfully loaded

...

4 ETW000 [dev trc ,00000] Running with CLI driver 87 3.036995

...

If the DB2 Runtime Client is used, the output looks as follows:

...

4 ETW000 [dev trc ,00000] DB2 library successfully loaded DB2 library 'C:\Program\Files\IBM\SQLLIB\bin\db2app64.dll' successfully loaded

...

NoteEven if R3trans loads the DB2 CLI driver libraries, an additional DB2 Runtime Client might be installed. By default, the SAP kernel uses the DB2 CLI driver on all application servers of SAP Release 7.0 and higher that have a local DB2 Runtime Client installed as well as access to a DB2 CLI driver in directory <drive>:\usr\sap\<SAPSID>\SYS\global\db6.

In this case, the DB2 Runtime Client is not used, and we recommend that you uninstall it to avoid duplicate maintenance.

To check if a DB2 Runtime Client is installed, enter the following command as user <sapsid>adm:

db2ilist

If no DB2 Runtime Client is installed, this command is unknown. If a DB2 Runtime Client exists, the name of the local DB2 instance db2<dbsid> is displayed.

If you want to keep your DB2 Runtime Client, we recommend that you update both DB2 clients (that is, the DB2 Runtime Client and the DB2 CLI driver).

42 P U B L I CUpgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and Windows

Upgrading the Database (Windows)

Page 43: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

Result

You know which type of DB2 client is used in your system landscape. Update it according to the instructions in one of the following sections:

● Updating the DB2 Runtime Client [page 43]● Updating the DB2 CLI Driver Client [page 43]● Updating the JDBC Driver [page 44]

4.1.2.3 Updating the DB2 Runtime Client

Use

For each SAP application server that uses a DB2 Runtime Client and that is not running on the database server, you must update the DB2 Runtime Client.

NoteThis section describes how you install the DB2 9.7 Runtime Client software.

Procedure

1. To install the DB2 Runtime Client, follow the procedure described in Installing the Database Software on the Database Server [page 31], but you must make sure that you choose IBM Data Server Client Version 9.7 as the product to be installed in step 5.

2. Repeat these steps on each application server that is not running on the database host.

4.1.2.4 Updating the DB2 CLI Driver

Use

For SAP systems that use the DB2 CLI driver, you only have to update the DB2 CLI driver once in the shared directory <drive>:\usr\sap\<SAPSID>\SYS\global\db6.

Each application server can access this directory. Therefore, after the DB2 CLI driver has been updated, <drive>:\usr\sap\<SAPSID>\SYS\global\db6 can be used by all application servers.

Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and WindowsUpgrading the Database (Windows) P U B L I C 43

Page 44: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

Procedure

1. Log on to the database server as user <sapsid>adm.2. Mount the DVD DB2 V9.7 LUW CLI/JDBC–Driver.3. Open the DB2 command window and switch to the directory

<drive>:\<mount_DVD_Dir>\CLIENT.4. For an ABAP or an ABAP+Java system, start the db6_update_client.bat script using the following

command:db6_update_client.bat -uFor a Java-only system, use the following command to update only the JDBC driver:./db6_update_client.bat -jFor more information, see Updating the JDBC Driver [page 43].

Result

The new version of the DB2 CLI driver is automatically used after the next SAP system restart and no further action is required.

4.1.2.5 Updating the JDBC Driver

Use

The following section describes how you update the JDBC driver.

CautionThe following section only applies to standalone Java-only application servers (that is, the application server does not reside on the database host).

If you are upgrading an ABAP+Java system or a Java-only central system (that is, the application server and the database reside on the same host), you do not have to perform any of the steps described in this section.

Prerequisites

On application servers that only contain a Java stack, the location of the JDBC driver can vary, which means that the appropriate steps to update it can also vary. Therefore, you should first determine the location of the JDBC driver, which depends on your SAP system release level.

Determining the Location of the JDBC Driver for SAP Releases Lower than SAP Basis 7.10

1. Log on to the relevant application server as user <sapsid>adm.

44 P U B L I CUpgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and Windows

Upgrading the Database (Windows)

Page 45: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

2. Open a command prompt and change to the directory ..\cluster\bootstrap of the Java instance using the following command:cd <drive>:\usr\sap\<DBSID>\>\DVEBMGS<instance-nr>\j2ee\cluster\bootstrap

3. Determine the location of the JDBC driver using the following command:find "driver" bootstrap.propertiesThe value of this property of the rdbms.driverLocation is returned. It contains the location of the JDBC driver files that are currently used.

Determining the Location of the JDBC Driver for SAP Releases with SAP Basis 7.10 and Higher

1. Log on to the respective application server as user <sapsid>adm.2. Change to the profile directory of the Java instance using the following command:

cd <drive>:\usr\sap\<SAPSID>\SYS\profile3. Enter the following command:

find dbdriver <instance_profile>The path to the JDBC driver files is returned.

Procedure

Updating the JDBC Driver (if Necessary)

Depending on the location, you have to update the JDBC driver according to one of the following scenarios:

Scenario Required Action

The JDBC driver is taken from a DB2 Runtime Client instance. In this case, the directory retrieved using the procedure above is <drive>:\db2\db2<dbsid>\sqllib\java.

Update the DB2 Runtime Client as described in Updating the DB2 Runtime Client [page 43].

The JDBC driver is taken from either <drive>:\usr\sap\<SAPSID>\SYS\global\db6 or from a copy of this driver in the local instance exe directory DIR_EXECUTABLE=<drive>:\usr\sap\<SAPSID>\DVEBMGS00\exe.

Run the script db6_update_client.sh as described in Updating the DB2 CLI Driver Client [page 43].

Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and WindowsUpgrading the Database (Windows) P U B L I C 45

Page 46: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

Scenario Required Action

The JDBC driver is used from any other location. Update the JDBC driver files (db2jcc.jar and db2jcc_license_cu.jar) manually as follows:

1. Mount the DVD DB2 9.7 LUW CLI/JDBC-Driver to direc­tory <drive>:\<client_dvd_mount>

2. As user <sapsid>adm, copy the JDBC driver to the destination directory using the following command:copy <client_dvd_drive>:\CLIENT\jdbc\* <rdbms.driverLocation_dir>

CautionIf the JDBC driver is not taken from the kernel exe directory, which is visible on all servers, you have to repeat this step on all application servers.

4.2 Upgrading the Database

Use

Since the DB2 system catalog has been changed, you have to upgrade the DB2 database. Make sure that you perform all steps in the sequence given:

1. You upgrade the DB2 database.2. You upgrade the DB2 Runtime Client instance for a central and dialog instance.3. If required, you upgrade the DB2 Administration Server.4. You verify if the database has been successfully upgraded (optional).5. You perform a backup (recommended).

CautionIn a partitioned database environment, perform the database upgrade on the catalog database partition server.

NoteYou need to upgrade all DB2 databases that are located on your computer.

Procedure

Upgrading the DB2 Database

46 P U B L I CUpgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and Windows

Upgrading the Database (Windows)

Page 47: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

1. Log on to the database server as user db2<dbsid>.2. Open a DB2 command window and enter the following commands:

db2stop forcedb2startdb2 upgrade database <SAPSID>

The time it takes to upgrade the database depends on the size of the system catalog. For a standard SAP NetWeaver ABAP 7.0, the database upgrade takes approximately 10 to 30 minutes. If the database upgrade completed successfully, the following message is displayed:

DB20000I The UPGRADE DATABASE command completed successfully.

NoteIf the database upgrade fails, the error message SQL1704N is displayed describing the cause of the failure. For a list of possible solutions for each reason code, enter db2 “? SQL1704”.

One of the most common causes of upgrade failure is that there is not enough log file space available. In this case, the following error is returned:

SQL1704N Database migration failed. Reason code "3".

NoteIf the database upgrade succeeds but additional actions are required, the new warning SQL1499W is displayed describing the cause of the failure. In this case, see the DB2 administration log messages that are written to the Windows Event Log for more information.

CautionIf the database upgrade returns the warning message SQL1243W, you need to drop or rename the table SYSTOOLS.DB2LOOK_INFO. Otherwise, the statements ALTER TABLE and COPY SCHEMA fail to run. To drop the table, enter the following command on the command line:

db2 DROP TABLE SYSTOOLS.DB2LOOK_INFO

Upgrading the DB2 Runtime Client Instance for a Central and Dialog Instance

All DB2 client instances are automatically upgraded during the installation of the DB2 9.7 software.

Upgrading the DB2 Administration Server (Optional)

The DB2 Administration Server (DAS) is used by the DB2 graphical client tools, for example, the DB2 Control Center. If you are using these tools, you have to upgrade the DAS as follows:

1. Log on as user <sapsid>adm.2. Upgrade the DAS using the following command:

<DB2_SWDIR>\bin\dasmigr

Verifying the Database Upgrade (Optional)

To verify the success of the database upgrade, you can test if a database activation succeeds by performing the following steps:

1. Log on to the database server as user <sapsid>adm and open a DB2 Command Window.

Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and WindowsUpgrading the Database (Windows) P U B L I C 47

Page 48: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

2. Start the database manager using the following command:db2start

3. Activate the database using the following command:db2 activate database <SAPSID>

NoteAfter you activated the database, check the db2diag.log in <drive>:\db2\<DBSID>\db2dump for possible problems.

Performing a Backup (Recommended)

We strongly recommend that you perform a full offline backup of the upgraded database.

48 P U B L I CUpgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and Windows

Upgrading the Database (Windows)

Page 49: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

5 Post-Upgrade Activities

5.1 Overview

After upgrading the instance and database, you perform the following actions:

● You run the db6_update_db script [page 49].● You back up the DB2 server configuration after the upgrade (recommended) [page 50] .● You install the DB2 license [page 51].● You check configuration settings [page 51].● Optionally, you remove the database administration server (DAS) [page 52].● If required, you update the data extractors in SAP Solution Manager [page 53].

5.2 Running the db6_update_db Script

Use

The db6_update_db script checks various settings and enables some features, for example, the automatic resize function for the tablespaces. The script also reorganizes the tables of the DB2 system catalog and updates the statistics for these tables, and rebinds all invalid packages.

The following versions of this script are available:

OS Platform Script

Linux and UNIX db6_update_db.sh

Windows db6_update_db.bat

Procedure

1. Log on to the database server as user db2<dbsid>.2. Copy the file db6_update_db.sh (UNIX and Linux) or db6_update_db.bat (Windows) from the relevant

operating system folder on the database DVD to a temporary directory (<temp_dir>).3. Go to <temp_dir> and run the db6_update_db script using the following command:

○ Windows:db6_update_db –m –d <DBSID>

Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and WindowsPost-Upgrade Activities P U B L I C 49

Page 50: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

○ Linux and UNIX:./db6_update_db.sh -m –d <DBSID>

The script db6_update_db_out is created.4. Review the content of db6_update_db_out and adjust the file if necessary.5. Run the script db6_update_db_out using the following command:

○ Windows:db6_update_db_out.bat

○ Linux and UNIX:./db6_update_db_out.sh

6. To activate the configuration parameter changes made by the script, stop and restart the database manager using the following commands:db2stop forcedb2start

5.3 Backing Up the DB2 Server Configuration After the Upgrade (Recommended)

Use

If you created a backup of the DB2 server configuration before the upgrade, it is useful to create another backup of the configuration after the upgrade.

Procedure

Procedure on Linux and UNIX

1. Log on to the database server as user db2<dbsid>.2. Change to the previously created configuration backup directory <config_bkp> using the following

command:cd /db2/db2<dbsid>/<config_bkp>

3. Back up the database server configuration using the following commands:env > env_after_mig.txtdb2set -all > reg_after_mig.txtdb2 get dbm cfg > dbm_after_mig.txtdb2 get db cfg for <SAPSID> > db_after_mig.txt

Procedure on Windows

1. Log on to the database server as user db2<dbsid> and open a DB2 command window.2. Change to the previously created configuration backup directory <config_bkp>, for example, using the

following the command:cd <drive:>\db2\db2<dbsid>\<config_bkp>

3. Back up the database server configuration using the following commands:set > env_after_mig.txt

50 P U B L I CUpgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and Windows

Post-Upgrade Activities

Page 51: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

db2set -all > reg_after_mig.txtdb2 get dbm cfg > dbm_after_mig.txtdb2 get db cfg for <SAPSID> > db_after_mig.txt

Result

You can now compare the configuration settings before and after the upgrade by comparing the respective *-before_mig and *-after_mig files by using appropriate tools.

5.4 Installing the DB2 License

Use

After the database upgrade, you have to install the DB2 license.

Procedure

● If you are an SAP OEM customer, see SAP Note 816773 to install the license.

NoteMulti partition databases:

Install the license on each database host.

● If you purchased DB2 directly from IBM, contact your IBM sales representative.

5.5 Checking Configuration Settings

Context

With every DB2 release, the database and database manager configuration changes. Some parameters are dropped, some are added, and the meaning of some parameters is changed. The db6_update_db script performs some basic checks after the database upgrade and sets some parameters to recommended values.

NoteA correct configuration is essential for smooth and high-performance operation of the database.

Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and WindowsPost-Upgrade Activities P U B L I C 51

Page 52: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

Procedure

Compare the settings for the database and database manager configuration parameters in your upgraded database with the values suggested in SAP Note 1329179 , which always contains the most up-to-date proposals for these parameters from SAP. In particular, you have to revise the following database configuration parameters:

● LOCKLISTIn DB2 9.7, the lock request block size has increased to twice the size required in previous releases. If this parameter is not set to AUTOMATIC, double the value of this parameter and provide the necessary memory. In addition, note that the maximum size of the LOCKLIST parameter has now also increased to 134,217,728 pages of 4 KB.

● PCKCACHESZPackage cache requirements in DB2 9.7 have increased by 25 to 40 percent. If this parameter is not set to AUTOMATIC, increase it by approximately 40 percent.

NoteWith DB2 Version 9.1, the Self Tuning Memory Manager (STMM) was introduced. Enabling STMM has effects on several other configuration parameters. Therefore, also see SAP Note 1329179 for recommendations for systems with and without STMM activated.

More Information

For more information about the parameter changes in DB2 9.7, see DB2 Server Behavior Changes in the IBM upgrade guide.

5.6 Removing the Database Administration Server (Optional)

Use

The database administration server (DAS) is required by the graphical DB2 administration tools, for example, the DB2 Control Center. As of DB2 9.7, the DAS and the DB2 Control Center have been deprecated. You can still use them, but they are likely to be removed in a future DB2 release.

To perform administration tasks for your database, we recommend that you use the DBA Cockpit (SAP transaction DBACOCKPIT).

RecommendationSince the DAS is automatically installed during the DB2 9.7 software installation, we recommend that you remove the DAS after the database upgrade if you do not plan to use the DB2 Control Center.

52 P U B L I CUpgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and Windows

Post-Upgrade Activities

Page 53: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

Procedure

Linux and UNIX

1. Log on to the database server as user db2<dbsid>.2. Initialize the DAS environment by running one of the following scripts:

○ For Bourne or Korn shell, enter the following command:. <DASHOME>/das/dasprofile

○ For C shell, enter the following command:source <DASHOME>/das/dascshrc

Replace <DASHOME> with the home directory of the DAS user, for example, /home/dasusr1.3. Stop the DAS using the following command:

db2admin stop4. Log off as user db2<dbsid>.5. Log on again as user root.6. Remove the DAS using the following command:

<DBSW>/instance/dasdropReplace <DBSW> with the DB2 9.7 software installation directory.

Windows

1. Log on to the database server user db2<dbsid> and open a DB2 command window.2. Stop the DAS using the following command:

db2admin stop3. Remove the DAS using the following command:

db2admin drop

5.7 Updating Data Extractors in SAP Solution Manager (Optional)

Use

If your database is connected to SAP Solution Manager, you have to update the data extractors for the upgraded database using the setup wizard of SAP Solution Manager.

Procedure

1. Log on to your SAP Solution Manager system and call transaction SOLMAN_SETUP.The screen SAP Solution Manager: Configuration appears in a separate Web browser.

2. In the navigation frame, choose Managed Systems Configuration.3. On the Technical System tab page, choose the upgraded system and the Configure System pushbutton.

The setup wizard of the SAP Solution Manager system appears.

Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and WindowsPost-Upgrade Activities P U B L I C 53

Page 54: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

4. Choose the Manual Configuration step.5. In the Manual Activities area, choose Configure DBA Cockpit.

A new browser window appears.6. Choose the upgraded system and choose the Next pushbutton until the result screen appears displaying that

the Database Performance Warehouse has been successfully installed.

Result

The setup wizard updates the back-end of the DBA Cockpit and reschedules the data extractors for the SAP Solution Manager or the Database Performance Warehouse feature.

54 P U B L I CUpgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and Windows

Post-Upgrade Activities

Page 55: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

6 Enabling New Database Features

6.1 Introduction

With every DB2 release, new features are introduced that are optional. The following figure shows the database version (and the new features, if available) from which you can upgrade your database directly to DB2 9.7:

New Functions in DB2 Releases

The following sections describe these new features in more detail and how you can activate them after the database upgrade:

● Larger Record Identifiers (RIDs) [page 56]● Row Compression [page 58]● Index Compression [page 59]● Tablespaces with Reclaimable Storage [page 60]● Inline LOBs and LONG VARCHAR Replacement [page 61]

Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and WindowsEnabling New Database Features P U B L I C 55

Page 56: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

NoteInstead of activating each feature separately after the database upgrade, you can also enable multiple database features in one step [page 63].

6.2 Larger Record Identifiers (RIDs)

A record identifier (RID) is a pointer in an index that points to a record in a corresponding table. The record is addressed by a page and by a slot in this page. The size of the RID determines how many pages can be addressed. The number of addressable pages determines the maximum table size.

With DB2 Version 9.1, the size of the record identifiers was extended from 6 to 8 bytes. This allows for larger tables and, in some cases, for more data records in one data page.

The following table summarizes the table size limits in different DB2 releases:

Page Size of the Tablespace DB2 UDB Version 8 – Maximum Table Size

DB2 Version 9.1 and Higher – Maximum Ta­ble Size

4 KB 64 GB 2048 GB

8 KB 128 GB 4096 GB

16 KB 256 GB 8192 GB

32 KB 512 GB 16384 GB

Space Considerations

RIDs are used in indexes. If the size of a RID increases, the size of the index also increases. With DB2 Version 9.1, the size of a RID increased by 2 bytes. To estimate the index growth for all indexes of a large table in KB, you can use the following SQL statement:

SELECT SUM(numrids)/512 FROM syscat.indexes WHERE tabschema = '<schema>' and tabname = '<LargeTable>'

In this statement, you replace <schema> with the ABAP database connect user (SAPR3 or SAP<SAPSID>) in upper case.

CautionThe result of this statement must be interpreted as the lower limit of the index growth. Page splits often occur during conversion. This leads to additional growth. Furthermore, the estimation is based on the fact that the table does not need to be reorganized.

56 P U B L I CUpgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and Windows

Enabling New Database Features

Page 57: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

Why All Tables in a Tablespace Should Be Enabled for Larger RIDs

To better understand why tables should be enabled for larger RIDs, consider the following scenario:

A tablespace was enabled for large RIDs. One or several tables in this tablespace actually use large RIDs after an index reorganization. These tables have become very large, so that all pages addressed by tables with the old RID schema are now used by the tables enabled for larger RIDs.

If a table that does not use large RIDs tries to allocate a new page in this tablespace, the request can fail with the following SQL error:

SQL1236N

Table <table-name> cannot allocate a new page because the index with identifier <index-id> does not yet support large RIDs.

Even though the size of the table that uses the old RID schema is below the old table size limit, the error can occur because the free pages that the table with the old RID schema could address are used by the tables that use large RIDs.

To avoid this error situation, we recommend that you enable all tables in a tablespace for larger RIDs.

Enabling Tables for Larger RIDs in the Upgraded Database

After the database upgrade, you can enable tables for larger RIDs. Before you do so, you should check if there are already tablespaces and tables that are enabled for large RIDs.

Checking for Large RIDs

1. To display all tablespaces that have the data type Large and that are therefore enabled for larger RIDs, use the following SQL statement:

SELECT tbspace FROM syscat.tablespaces WHERE datatype = 'L' Note that if you executed the db6_update_db script [page 49] after the database upgrade, all permanent DMS tablespaces in your system (with the exception of the SYSCATSPACE tablespace) are set to LARGE. This way, all newly created tables in your upgraded database are already enabled for large RIDs.

2. To find out how many tables in your upgraded database system are already using large RIDs or large RIDs and large slots, proceed as follows:○ For non-partitioned database systems, use the following SQL statement:

SELECT COUNT(*) AS TABLES, SUM(CASE WHEN large_rids = 'Y' THEN 1 ELSE 0 END) AS LRIDs, SUM(CASE WHEN large_slots = 'Y' THEN 1 ELSE 0 END) AS LRIDs_and_LSLOTs FROM TABLE (ADMIN_GET_TAB_INFO('<schema>', '')) AS X ○ For multi partition database systems, use the following SQL statement:

WITH LRIDTABLE AS (SELECT DISTINCT tabname, (CASE WHEN large_rids = 'Y' THEN 1 ELSE 0 END) AS LRIDs, (CASE WHEN large_slots = 'Y' THEN 1 ELSE 0 END) AS LRIDs_and_LSLOTs FROM TABLE (ADMIN_GET_TAB_INFO('<schema>', '')) AS X) SELECT COUNT(*) AS tables, SUM(LRIDs) AS LRIDs, SUM(LRIDs_and_LSLOTs) AS LRIDs_and_LSLOTs

Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and WindowsEnabling New Database Features P U B L I C 57

Page 58: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

FROM LRIDTABLE In this statement, you replace <schema> with the database connect user (SAPR3 or SAP<SAPSID>) in upper case.

Enabling Tables for Large RIDs Using the Large RID Tool

Enabling tables for larger RIDs after a database upgrade consists of the following steps:

1. You convert an existing tablespace to LARGE, that is, the data type of the tablespace is set to LARGE.2. You enable tables for large RIDs by performing an index reorganization of the respective tables.

NoteIf you want to enable tables for larger RIDs and larger slots, you need to perform a table reorganization instead of an index reorganization.

To perform these steps, you can use the Large RID Tool provided by SAP. The Large RID Tool is ABAP-based and applies only to SAP ABAP and SAP ABAP+Java systems. You can use it for any SAP system starting with SAP Release 4.6 or higher.

You can download the Large RID Tool as well as the documentation describing how to use it from SAP Note 1108956 .

6.3 Row Compression

Use

Row compression (also known as deep compression or data row compression) was introduced with DB2 Version 9.1. This feature uses a zip-like compression algorithm to replace repeating patterns in a data record with short symbols. To match these symbols with their original values, a compression dictionary is used. Row compression is completely transparent to applications. Depending on the table content, row compression can lead to considerable disk space savings.

CautionRow compression might be inappropriate for tables with many INSERT, UPDATE, or DELETE operations.

Enabling Tables for Row Compression

After the database upgrade, you can enable tables for row compression. Before you do so, you should check if there are tables that are already enabled for row compression.

Checking for Tables Using Row Compression

To find out how many tables in your system are already enabled for row compression, you can use the following SQL statement:

SELECT COUNT(tabname) AS COMPRESSED_TABLES FROM syscat.tables WHERE compression = 'R' OR compression = 'B'

58 P U B L I CUpgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and Windows

Enabling New Database Features

Page 59: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

To check if a specific table is enabled for row compression, you can use the following SQL statement:

SELECT compression FROM syscat.tables WHERE tabname = <tabname> AND tabschema = <tabschema>

In this statement, you replace <tabname> with the name of the table and <tabschema> with the table schema.

If the statement returns the value R or B, the table is enabled for row compression.

Activating Row Compression

The following steps are necessary to activate row compression for an existing table:

1. You set the compression flag for tables that are eligible for row compression to YES using the following SQL statement:

ALTER TABLE <tabname> COMPRESS YES 2. A compression dictionary has to be built, either manually or automatically:

○ DB2 Version 9.1This is a manual action that requires a reorganization of the table.

○ DB2 Version 9.5Automatic dictionary creation (ADC) was introduced, that is, a compression dictionary is built automatically by the database manager when performing an INSERT or a LOAD SQL statement if the table exceeds a certain space threshold.

As of SAP NetWeaver 7.0 SP12 and higher, you can use the DBA Cockpit (SAP transaction DBACOCKPIT) to perform these steps.

For SAP system releases lower than SAP NetWeaver 7.0 SP12, the Row Compression Tool provided by SAP helps you identify suitable candidates for row compression. You can also use this tool to activate row compression. The tool is ABAP-based and is suitable for AS ABAP databases and AS ABAP + AS Java databases only. You can use it for any SAP system starting with SAP Release 4.6C or higher.

You can download the Row Compression Tool and the documentation describing how to use it from SAP Note 980067 .

More Information

For more information, see Database Administration Using the DBA Cockpit: IBM DB2 for Linux, UNIX, and Windows at https://help.sap.com/viewer/db6_dbacockpit.

6.4 Index Compression

Use

As of DB2 9.7, indexes can also be compressed. To minimize the size of the index on disk, the DB2 database manager can use various index compression techniques, for example, RID list compression or prefix compression.

Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and WindowsEnabling New Database Features P U B L I C 59

Page 60: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

NoteIndex compression is not supported on catalog indexes and MDC block indexes.

After a database upgrade, index compression is not enabled for indexes of existing tables, regardless if the tables are compressed or not.

Enabling Index Compression

After the database upgrade, you can enable indexes for compression. Before you do so, you should check if there are indexes that are already enabled for index compression.

Checking for Indexes Using Index Compression

Newly created tables that are enabled for row compression automatically use index compression. To find out how many indexes in your database are already compressed, you can use the following SQL statement:

SELECT COUNT (DISTINCT indname) FROM TABLE (SYSPROC.ADMIN_GET_INDEX_INFO('I', '<schema>', '')) AS T WHERE index_compressed = 'Y'

In this statement, you replace <schema> with the database connect user (SAPR3 or SAP<SAPSID>) in upper case.

Activating Index Compression

Activating indexes for index compression is very similar to activating tables for row compression and consists of the following steps:

1. You set the compression flag to YES using the following SQL statement:

ALTER INDEX <index_name> COMPRESS YES 2. You perform an index reorganization.

To perform these steps, you can also use the Row Compression Tool that is enhanced to also assist you in the implementation of index compression. You can download the Row Compression Tool and the documentation describing how to use it from SAP Note 980067 .

More Information

For more information, see Index compression in the IBM DB2 Knowledge Center.

6.5 Tablespaces with Reclaimable Storage

Use

DB2 9.7 addresses the high-water mark (HWM) problem of lower DB2 releases by introducing the new DMS tablespace attribute reclaimable storage. DMS tablespaces that are flagged with this attribute use object-relative addressing to find data pages for an object.

60 P U B L I CUpgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and Windows

Enabling New Database Features

Page 61: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

On request, DB2 can rearrange extents in these tablespaces so that the HWM can be reduced as much as possible and free space can be given back to the file system.

To rearrange the extents of a tablespace, you can use the following SQL statements:

● Tablespaces that are enabled for DB2's automatic storage management:

ALTER TABLESPACE ... REDUCE ● Tablespaces that are not enabled for DB2's automatic storage management:

ALTER TABLESPACE ... LOWER HIGH WATER MARK ALTER TABLESPACE ... REDUCE

Checking for Tablespaces with Reclaimable Storage

To find out which tablespaces in your database are already enabled for reclaimable storage, you can use the following SQL statement as user db2<dbsid>:

SELECT tbsp_name FROM TABLE (MON_GET_TABLESPACE('',-2)) AS T WHERE reclaimable_space_enabled = 1

Enabling Tablespaces for Reclaimable Storage

After a database upgrade to DB2 9.7, none of the existing tablespaces are enabled for reclaimable storage. By default, all newly created tablespaces in DB2 9.7 are already enabled for reclaimable storage. You cannot convert existing tablespaces to use object-relative addressing. Therefore, these tablespaces cannot be enabled for reclaimable storage.

The DB6CONV tool is extended so that you can then move all tables of an existing source tablespace to a newly created target tablespace. DB6CONV uses the online table move procedure. Therefore, you can use DB6CONV while the SAP system is running. DB6CONV is an ABAP-based tool and is available for all SAP releases starting with 4.6.

NoteYou cannot use DB6CONV to move tables or tablespaces of an AS Java system.

More Information

For more information about how to move tables using DB6CONV, see SAP Note 362325 .

6.6 Inline LOBs and LONG VARCHAR Replacement

Use

Depending on the database types that are used in the definition of a table, DB2 stores table data in more than one storage object. Specifically, all data of LONG VARCHAR and LONG VARGRAPHIC columns is stored in a long object.

Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and WindowsEnabling New Database Features P U B L I C 61

Page 62: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

All LOBs (data of types BLOB, CLOB, and DBCLOB) are stored in a LOB object. The data object that is used to hold all other data contains descriptors that point to the long and LOB data.

Inline LOBs

As of DB2 9.7, you can use inline LOBs. That is, small LOBs (up to a specified inline length) can be included in the data object of the normal base table and the respective table columns are treated like VARCHAR. LOB data beyond the specified inline length is still stored in the LOB object apart from base table data.

Inline LOBs offer, for example, the following advantages:

● Fewer I/O accesses● Inline LOBs of compressed tables are also subject to row compression.● Disk space is saved because no LOB descriptor is required.

The default inline length in DB2 9.7 equals the size of the descriptor required to reference data in a LOB object. You can modify this default inline length using the following SQL statement:

ALTER TABLE ... INLINE LENGTH

In an SAP system, we recommend that you do not explicitly set the LOB inline length for table columns to a value that is not the default value. If additional columns are added to the table, for example, during an SAP system upgrade, the data records might not fit into the pages anymore.

To check how many LOBs in a table are stored inline, you can use the following SQL statement:

SELECT SUM(ADMIN_IS_INLINED(<LOB_column>)) AS IS_INLINED FROM <table>

In this statement, <table> is a base table with one or more LOB columns and <LOB_column> is the appropriate column.

LONG VARCHAR Replacement

With inline LOBs, performance improves and disk space can be saved. Therefore, the type mapping for several ABAP Dictionary types of the AS ABAP was changed to use LOBs instead of LONG VARCHARs. This change applies to all SAP releases starting with SAP NetWeaver 7.0 and higher. For more information about type mapping, see SAP Note 29824 .

The new type mapping is automatically used for newly created tables. You do not need to take further action.

To ensure that the database object check in the ABAP Dictionary deals correctly with the changed type mapping, the following SAP_BASIS Support Packages are required:

SAP Release SAP Basis Support Package

7.00 SP19

7.01 SP04

7.10 SP08

7.11 SP02

Alternatively, you can apply the correction instructions from SAP Note 1354186 .

62 P U B L I CUpgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and Windows

Enabling New Database Features

Page 63: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

To perform the check, call transaction SE11 in your SAP system and choose Utilities Database ObjectCheck .

The database of an AS Java does not use LONG data types and is therefore not affected.

Enabling Existing Tables for Inline LOBs

By default, new tables use inline LOBs. Existing tables automatically use inline LOBs for newly inserted records. To store all possible LOBs in line in a table with existing data, you need to perform a table reorganization with the LONGLOBDATA option. Alternatively, you can move the table, for example, using the DB6CONV tool. By doing so, columns of type LONG VARCHAR are also replaced with LOB columns.

For more information, see SAP Note 362325 .

More Information

For more information about inline LOBs, see Storing LOBs inline in table rows in the IBM DB2 Knowledge Center.

6.7 Enabling Multiple Database Features

Depending on the DB2 release level before the database upgrade, some of the features mentioned in the previous sections might already be activated in your database system after the upgrade.

Overview of New Features and Required Operations

To be able to better plan the enablement of the remaining database features, the following table summarizes that you need to perform for each feature:

Feature Required Operation

Large RIDs or large slots ● Once for every tablespace:

ALTER TABLESPACE <tablespace> CONVERT TO LARGE ● To activate large RIDs: index REORG● To activate large RIDs and large slots: table REORG

Row compression ● ALTER TABLE <tabname> COMPRESS YES ● Table REORG

Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and WindowsEnabling New Database Features P U B L I C 63

Page 64: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

Feature Required Operation

Index compression ● Implicitly activated together with row compression for new indexes● To enable index compression explicitly on a specific index:

○ ALTER INDEX <indexname> COMPRESS YES ○ Index REORG

Inline LOBs Table REORG

Tablespaces with reclaimable storage Move all tables of an existing tablespace to a new tablespace, for example, using DB6CONV.

Enabling Multiple Features in One Step

Instead of enabling the features above one by one, you can also enable multiple features by performing one operation. For example, to activate row compression and LOB inlining for a table with a LOB column, it is sufficient to set the compression flag of this table to YES and to reorganize this table afterwards.

Alternatively, you can do the following:

Instead of reorganizing a table or the indexes of a table, you can move the table to another tablespace or within the same tablespace, which has the same effect in terms of activating the features mentioned above. To move a table online or offline, you can use the DB6CONV tool as described in SAP Note 362325 .

NoteThe DB6CONV tool will be extended to support the moving of all tables of a tablespace. For more information, see SAP Note 362325 .

64 P U B L I CUpgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and Windows

Enabling New Database Features

Page 65: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

7 References

Are you looking for more documentation? Here's an overview of information sources that are available for SAP systems on IBM Db2 for Linux, UNIX, and Windows.

Documentation by SAP

The following documentation is available on SAP Help Portal and SAP Support Portal :

RecommendationFor central access to all our documentation, use our SAP on IBM Db2 overview page on SAP Help Portal at https://help.sap.com/viewer/p/DB6.

Documentation Where to Find It

System Provisioning:

Implementation documentation such as guides for installation, sys­tem copy, and SAP system up­grades

https://help.sap.com/viewer/30839dda13b2485889466316ce5b39e9/CURRENT_VERSION/en-US/13e5056ea32d4df38cb5697f9245bf1c.html

For example, installation guides for SAP Application Server systems based on SAP Net­Weaver: https://help.sap.com/viewer/30839dda13b2485889466316ce5b39e9/CURRENT_VERSION/en-US/c8ed609927fa4e45988200b153ac63d1.html

Software Update Manager (SUM) guides: https://support.sap.com/en/tools/software-lo­gistics-tools.html

System copy guides: https://help.sap.com/viewer/30839dda13b2485889466316ce5b39e9/CURRENT_VERSION/en-US/14678bf6e9a04f4f9dc3a1620e96c0b7.html

DBA Cockpit videos and documen­tation

The current version of the docu­ment Database Administration Us­ing the DBA Cockpit: IBM Db2 for Linux, UNIX, and Windows provides you with a detailed description of how to perform administrative tasks using the DBA Cockpit.

https://help.sap.com/viewer/db6_dbacockpit (English)

https://help.sap.com/viewer/db6_dbacockpit_de (German)

Also available in PDF format in English and German.

See also our DBA Cockpit videos .

Current version of the document SAP Business Warehouse on IBM Db2 for Linux, UNIX, and Windows: Administration Tasks

https://help.sap.com/viewer/db6_bw

(PDF here)

Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and WindowsReferences P U B L I C 65

Page 66: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

Documentation Where to Find It

Current version of the guide Ena­bling SAP Business Warehouse Sys­tems to Use IBM Db2 for Linux, UNIX, and Windows as Near-Line Storage (NLS)

https://help.sap.com/viewer/db6_nls (PDF here)

Database upgrade guides Db2 11.1: https://help.sap.com/viewer/db6_upgrade_11_1 (PDF here)

DB2 10.5: https://help.sap.com/viewer/db6_upgrade_10_5 (PDF here)

DB2 10.1: https://help.sap.com/viewer/db6_upgrade_10_1 (PDF here)

DB2 9.7: https://help.sap.com/viewer/db6_upgrade_9_7 (PDF here)

Guides on Running an SAP System on IBM Db2 with the Db2 pureScale Feature

Db2 10.5: https://help.sap.com/viewer/db6_purescale_10_5 (PDF here)

Db2 10.1: https://help.sap.com/viewer/db6_purescale_10_1 (PDF here)

Central access to all SAP Notes https://support.sap.com/notes

Central access to all Db2 for LUW-related guides (including the above mentioned)

https://help.sap.com/viewer/p/DB6

SAP on Db2 for Linux, UNIX, and Windows Community

Check out and participate in our SAP community for IBM Db2 at https://www.sap.com/community/topic/db2-for-linux-unix-and-windows.html . Here you'll find blogs, Q&As, whitepapers, videos, and guides. You can also post blogs and questions and search the community archive for more.

IBM Knowledge Center

You can find product documentation on your Db2 version in the IBM Knowledge Center at https://www.ibm.com/support/knowledgecenter/SSEPGG .

The IBM Knowledge Center also provides links to IBM Redbooks, developerWorks articles, IBM white papers, and so on.

66 P U B L I CUpgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and Windows

References

Page 67: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

8 Disclaimer

By following links to IBM Documentation you are leaving the SAP product documentation and entering a site that is not hosted by SAP. By using the link, YOU AGREE that unless expressly stated otherwise in your agreements with SAP you are about to access an external webpage which is not part of SAP’s offering:

(i) the content of the linked-to site and any further external site is not product documentation and you may not infer any product documentation claims against SAP based on this information;

(ii) the fact that SAP provides links to external sites does not imply that SAP agrees or disagrees with the contents and information provided on such sites. SAP does not guarantee the correctness of the information provided.

(III) SAP DOES NOT GIVE ANY REPRESENTATION REGARDING THE QUALITY, SAFETY, SUITABILITY, ACCURACY OR RELIABILITY OF ANY EXTERNAL WEBPAGE OR ANY OF INFORMATION, CONTENT AND MATERIALS PROVIDED THEREON;

(IV) YOU VISIT THOSE EXTERNAL WEBPAGES ENTIRELY AT YOUR OWN RISK. SAP SHALL NOT BE DIRECTLY OR INDIRECTLY RESPONSIBLE OR LIABLE FOR ANY DAMAGE OR LOSS CAUSED OR ALLEGED TO BE CAUSED BY OR IN CONNECTION WITH YOUR USE OF OR RELIANCE ON ANY CONTENT, GOODS OR SERVICES AVAILABLE ON OR THROUGH ANY SUCH LINKED WEBPAGE.

Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and WindowsDisclaimer P U B L I C 67

Page 68: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

Important Disclaimers and Legal Information

HyperlinksSome links are classified by an icon and/or a mouseover text. These links provide additional information.About the icons:

● Links with the icon : You are entering a Web site that is not hosted by SAP. By using such links, you agree (unless expressly stated otherwise in your agreements with SAP) to this:

● The content of the linked-to site is not SAP documentation. You may not infer any product claims against SAP based on this information.● SAP does not agree or disagree with the content on the linked-to site, nor does SAP warrant the availability and correctness. SAP shall not be liable for any

damages caused by the use of such content unless damages have been caused by SAP's gross negligence or willful misconduct.

● Links with the icon : You are leaving the documentation for that particular SAP product or service and are entering a SAP-hosted Web site. By using such links, you agree that (unless expressly stated otherwise in your agreements with SAP) you may not infer any product claims against SAP based on this information.

Beta and Other Experimental FeaturesExperimental features are not part of the officially delivered scope that SAP guarantees for future releases. This means that experimental features may be changed by SAP at any time for any reason without notice. Experimental features are not for productive use. You may not demonstrate, test, examine, evaluate or otherwise use the experimental features in a live operating environment or with data that has not been sufficiently backed up.The purpose of experimental features is to get feedback early on, allowing customers and partners to influence the future product accordingly. By providing your feedback (e.g. in the SAP Community), you accept that intellectual property rights of the contributions or derivative works shall remain the exclusive property of SAP.

Example CodeAny software coding and/or code snippets are examples. They are not for productive use. The example code is only intended to better explain and visualize the syntax and phrasing rules. SAP does not warrant the correctness and completeness of the example code. SAP shall not be liable for errors or damages caused by the use of example code unless damages have been caused by SAP's gross negligence or willful misconduct.

Gender-Related LanguageWe try not to use gender-specific word forms and formulations. As appropriate for context and readability, SAP may use masculine word forms to refer to all genders.

68 P U B L I CUpgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and Windows

Important Disclaimers and Legal Information

Page 69: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and WindowsImportant Disclaimers and Legal Information P U B L I C 69

Page 70: Upgrading to Version 9.7 of IBM Db2 for Linux, UNIX, and ... · ADMIN_MOVE_TABLE. Increased Tablespace ... Now Available for Solaris ... IBM DB2 Version 9.5 for Linux, UNIX, and Windows

go.sap.com/registration/contact.html

© 2018 SAP SE or an SAP affiliate company. All rights reserved.No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP SE or an SAP affiliate company. The information contained herein may be changed without prior notice.Some software products marketed by SAP SE and its distributors contain proprietary software components of other software vendors. National product specifications may vary.These materials are provided by SAP SE or an SAP affiliate company for informational purposes only, without representation or warranty of any kind, and SAP or its affiliated companies shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP or SAP affiliate company products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty.SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP SE (or an SAP affiliate company) in Germany and other countries. All other product and service names mentioned are the trademarks of their respective companies.Please see https://www.sap.com/about/legal/trademark.html for additional trademark information and notices.