Upgrading to DB2 9.5  for Linux, UNIX, and Windows Mladen Kovacevic [email_address] Continuing Engineering Software Develo...
Agenda <ul><li>Recommended reading </li></ul><ul><li>Overview of the upgrade process </li></ul><ul><li>Upgrading a data se...
Recommended Reading <ul><li>DB2 Migration Portal </li></ul><ul><ul><li>One-stop-shop  for essential information </li></ul>...
Recommended Reading  (continued) <ul><li>DB2 9.5 What’s New </li></ul><ul><ul><li>Outlines new and changed functionality <...
Upgrading to DB2 9.5 <ul><li>DB2 9.5 is the next-generation hybrid data server </li></ul><ul><ul><li>Optimized management ...
DB2 9.5 Simplifies Server and Client Upgrades <ul><li>Coexistence supported on all DB2 Linux, UNIX, and Windows operating ...
Benefits of Coexistence <ul><li>Each installation can be serviced independently </li></ul><ul><li>Enables the creation of ...
Operating System Support Specific OS patches are also in requirements, review and apply these prior to installing new rele...
Let’s Upgrade to DB2 9.5
Data Server Upgrade (in 1 page) <ul><li>Database upgrade  does not alter your data </li></ul><ul><ul><li>Converts system c...
Follow the Path Recommendation Upgrade to latest DB2 9.5 fixpack Pre-v8.1 versions must upgrade to DB2 UDB v8.2.2 first 9....
Upgrade Hiccups <ul><li>DB2 UDB V8 APAR IY85495 – Database configuration reports incorrect rollforward pending state (fixe...
Changes in DB2 9.5 <ul><li>The following pages highlight some changes in: </li></ul><ul><ul><li>Process and memory model <...
Multithreaded Architecture on Linux and UNIX <ul><li>Benefits </li></ul><ul><ul><li>Simplified  and more dynamic configura...
DB2 9.5 Simplified Memory Model Database Manager Memory ( instance_memory ) Agent Private Memory Per Database Memory Datab...
Instance Configuration Changes (DB2 9.5) <ul><li>Changes under new memory model </li></ul><ul><li>New behavior for  instan...
Instance Configuration Changes (DB2 9.5)   (continued) <ul><li>Default for new instance is  AUTOMATIC  for </li></ul><ul><...
Instance Configuration Changes (DB2 9) <ul><li>Fast Communication Manager (FCM)  </li></ul><ul><ul><li>Performs inter-part...
Database Configuration Changes (DB2 9.5) <ul><li>New behavior:  applheapsz </li></ul><ul><ul><li>Max memory that can be co...
Database Configuration Changes (DB2 9.5)  (continued) <ul><li>New parameter:  appl_memory   </li></ul><ul><ul><li>Max memo...
<ul><li>Deprecated </li></ul><ul><ul><li>app_ctl_heap_sz, appgroup_mem_sz,  and  groupheap_ratio   replaced by  appl_memor...
Database Configuration Changes (DB2 9) <ul><li>Parameter values that change during upgrade: </li></ul><ul><ul><li>database...
Database Configuration Changes (DB2 9)  (continued) <ul><li>New Self-Tuning Memory Management feature </li></ul><ul><ul><l...
Registry and Environment Variable Changes Deprecated DB2_ALLOCATION_SIZE IMMEDIATE OFF (DB2 UDB V8) ON (DB2 9) DB2_MDC_ROL...
Registry and Environment Variables  (continued) <ul><li>Instance profile registry variables are upgraded and retain the or...
New Database Defaults <ul><li>Automatic storage enabled </li></ul><ul><ul><li>Introduced in DB2 UDB V8.2.2,  simplifies  s...
New Table Space Defaults <ul><li>DMS table spaces are  LARGE  by default </li></ul><ul><ul><li>Increases the maximum table...
Other Behavior Changes <ul><li>Reverse scans enabled for new indexes, primary keys, and unique keys </li></ul><ul><li>Data...
DB2 Connect 9.5 Considerations
DB2 Connect Upgrade Considerations <ul><li>If upgrading from DB2 Connect pre-v8.2.2 </li></ul><ul><ul><li>Authentication t...
IBM Data Server Client 9.5 Considerations
Simplified DB2 Client Packages DB2 9 Runtime Client DB2 UDB V8 Run-Time Client DB2 UDB V8 Run-Time Client Lite IBM Data Se...
DB2 Client Upgrade Considerations <ul><li>DB2 9.5 clients can connect to 32- and 64-bit servers </li></ul><ul><li>NetBIOS ...
Connectivity Support for Clients to 9.5 servers 9.5 server 9.5 server 9.5 server COMPATIBLE (Full functionality) DB2 v9.5 ...
Connectivity Support for 9.5 clients v9.1 server v9.5 server DB2 v9.5 client Multiple clients can be installed on a single...
Application Considerations
Java and JDBC Changes <ul><li>IBM Data Server Driver for JDBC and SQLJ replaces </li></ul><ul><ul><li>IBM DB2 Universal JD...
Java and JDBC Changes  (continued) <ul><li>DB2 JDBC Type 3 driver was discontinued in DB2 9 </li></ul><ul><ul><li>Use IBM ...
SQL Administrative Views and Routines Changes <ul><li>Some DB2 UDB V8 and DB2 9 administrative routines have been replaced...
Larger Identifiers in DB2 9.5 128 8 Package 2048 254 SQL path (specified by the FUNCPATH BIND option and CURRENT PATH spec...
Using 32-bit Applications and Routines with 64-bit Instances <ul><li>64-bit DB2 9.5 instances support 32-bit applications ...
Using 32-bit Applications and Routines with 64-bit Instances  (continued) <ul><li>Restrictions on 32-bit external stored p...
Best Practices DEPLOY VALIDATE PLAN
Stage 1 – Successful Planning <ul><li>Review Migration Guide and What’s New </li></ul><ul><li>Identify dependencies and re...
Stage 2 – Successful Validation <ul><li>Establish user acceptance criteria and a test plan </li></ul><ul><li>Setup a test ...
Stage 3 – Successful Deployment <ul><li>Define and execute a system “sanity” test </li></ul><ul><li>Upgrade the production...
Summary <ul><li>DB2 9.5 provides a best of breed database solution </li></ul><ul><li>Upgrading to 9.5 is easier than ever ...
Additional DB2 9.5 Resources <ul><li>Information Center http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/index.jsp </l...
Questions?
Enabling new features
Enabling New Features <ul><li>Converting an existing tablespace to large record identifiers (RIDs) </li></ul><ul><li>Enabl...
Converting to Large Record Identifiers (RIDs) <ul><li>Convert DMS table spaces only using </li></ul><ul><ul><li>ALTER TABL...
Converting to Large Record Identifiers (RIDs) (continued) <ul><li>To support large RIDs, indexes on tables in a converted ...
Convert Type-1 Indexes to Type-2 Indexes in Upgraded Databases <ul><li>Convert type-1 indexes to take  advantage of type-2...
Enabling Data Row Compression <ul><li>ALTER TABLE … COMPRESS YES </li></ul><ul><li>Use  INSPECT  command to estimate the  ...
Enabling Data Row Compression  (continued) <ul><li>Time saving alternatives to performing a table reorg on a large table <...
Enabling the Self-Tuning Memory Manager <ul><li>STMM trades memory between different memory areas </li></ul><ul><ul><li>Tw...
From Union All View to Data Partitioned Table <ul><li>Create an empty data partitioned table with one dummy range </li></u...
From Union All View to Data Partitioned Table  (continued) <ul><li>Run  SET INTEGRITY </li></ul><ul><li>Create indexes on ...
DB2 9 Upgrade APARs Hit in the Field SOLUTION TO DETECT PACKED DESCRIPTOR CORRUPTION (CAUSED BY APAR LI70946) AND CORRECT ...
DB2 9 Upgrade Specific APARs ERROR SQL0901 WITH &quot;UNEXPECTED MISSING DATA PARTITION ID&quot; OR OTHER FAILURE WHEN ACC...
Known DB2 9.5 Upgrade Specific APARs MIGRATION FROM A DB2 UDB V8.X UNICODE DATABASE WITH NON-IDENTITYCOLLATION TO DB2 V9.5...
DB2 9 Successful Customer Upgrades <ul><li>Telecommunications </li></ul><ul><li>Retail </li></ul><ul><li>Financial Service...
DB2 9 Successful SAP Customer Upgrade <ul><li>INTER Versicherungen </li></ul><ul><li>INTER upgraded its SAP DB2 environmen...
Upcoming SlideShare
Loading in …5
×

2008 IBM Corporation September 15, 2008 Upgrading to DB2 9.5 for ...

733 views
638 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
733
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • This presentation shows you that with proper knowledge and basic planning, upgrading to DB2 9 or DB2 9.5 does not have to be a frightening activity nor a troublesome one. We take you through the best practices for upgrading to the latest release of DB2 9 (DB2 9.5) on the Linux, UNIX, and Windows operating system platforms, planning your upgrade, and enabling new features in the latest release. You will see that upgrading is a simple and easy task.
  • Here you see a few items which are very useful for you for your planning purposes before, during, and even after your upgrade. These are resources that will help you feel confident in this process and help you succeed. DB2 Migration Portal - This migration portal contains a list of all the available upgrade roadmaps , upgrade guides , and information and resources related to upgrade to a new release of DB2 products and upgrade of software that uses DB2 database products such as IBM InfoSphere Warehouse, DB2 Content Manager, and SAP systems. Think of the Portal as the upgrade &amp;quot;home&amp;quot; page . From the portal, users can find the version specifics roadmaps that they need. As a result, if a a customer bookmarks the Portal, the link is future-proof for this and future upgrades: One-stop-shop for the latest information Provides detailed upgrade roadmaps for different DB2 versions DB2 9.5 Migration Roadmap - This migration roadmap will help you navigate through the available information and resources related to upgrading from DB2 Universal Database (DB2 UDB®) Version 8 or DB2 9.1 to DB2 9.5 DB2 Migration Guide is a comprehensive resource for all upgrade information.
  • This page continues with additional resources to make you successful and prepared for your upgrade. What’s New outlines new features and changes to existing functionality A source which will show you how long the upgrade process will take. The time to upgrade your database is primarily determined by the number of database objects created, not by the size of your database For those who are interested in upgrading to DB2 9 the Information Centre for that release is still available also: http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=/com.ibm.db2.udb.doc/doc/c0024220.htm (for DB2 9) You get information on upgrading from DB2 UDB V8.1 to DB2 UDB V8.2 at this url: http://www-1.ibm.com/support/docview.wss?uid=swg21223978
  • We do not force an upgrade on you via a fixpack … this really is important as you can be confident that when you apply a fixpack you are not going to get surprises: We now provide and support three fixpack streams – DB2 UDB 8, DB2 9 and DB2 9.5. Whichever you choose you can be confident that you will be supported for your specific stream. If you want to move to DB2 9.5 from DB2 9 you cannot do this with a fixpack install. You must install DB2 9.5 separately and go through the simple upgrade procedure we are speaking about in this presentation. Those moving from DB2 UDB v8 will note the difference in how we deploy our fix packs in the new releases. No longer are fix packs only applied to GA levels, but now they are completely standalone allowing for multiple full installs of different fix pack levels of DB2 (more on multiple installs later).
  • Because of the coexistence, it is possible (although not always feasible due to resource restrictions, for instance) to have multiple versions and releases on the same system. Install information changes for you to know: As of DB2 9, the DB2 install images no longer use operating system formats on Linux and UNIX. All install images are compressed tarballs (.tar.gz) On Linux and UNIX, you can use the db2ls command to list information about the DB2 systems and features installed on your system db2ls replaces platform-specific looks like pkgadd, rpm, SMIT, and swinstall db2ls is the only supported method for querying a DB2 product in DB2 9 and later Regarding co-existence: In past versions, DB2 used a fixed installation path and that is why multiple release levels could not coexist DB2 now allows the user to define the installation path. Therefore DB2 installation can adhere to corporate naming standards, etc. The fixed installation path was a big deal with some customers in the past and it should probably be highlighted in this presentation.
  • Instead of upgrading your DB2 UDB V8 instance and database, do a backup and restore: Create a full offline backup of the DB2 UDB V8 database Create a new DB2 9.5 instance Restore the DB2 UDB V8 backup into the DB2 9.5 instance Database upgrade occurs automatically Note: The backup must be a full, offline backup. Rolling forward through the logs from a previous release is NOT possible. Some details on the Endianness: What we are alluding to is that if you are restoring a DB2 Linux/UNIX database from a 32-bit platform to a 64-bit platform they must be on the same chip type (i.e. Intel/AMD, RISC, etc.) so the Endian (high/low byte order) is the same. Further information on this can be found at: http://en.wikipedia.org/wiki/Endianness
  • This is a list of what is and what is not supported. As this changes and in upgraded frequently the best source is the URL listed at the bottom of the slide: http://www.ibm.com/software/data/db2/9/sysreqs.html DB2 instance bit size is now automatically determined by the operating system where DB2 is installed. For example: 64-bit AIX kernel  64-bit DB2 instance 32-bit Linux kernel  32-bit DB2 instance To get information on Support changes for 32-bit and 64-bit DB2 servers refer to the appropriate online Information Centres: for DB2 9: http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=/com.ibm.db2.udb.uprun.doc/doc/c0022266.htm#c0022266 for DB2 9.5: http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/topic/com.ibm.db2.luw.qb.migration.doc/doc/c0022266.html A simple but important step is to remember to apply all necessary OS specific patches prior to installation. Sometimes much grief and time in problem determination can be avoided if this is performed first!
  • We now look in detail at the upgrade steps and procedures.
  • The upgrade process is not difficult and we provide you with a number of different ways to go about it. It is important to note that the upgrade process does not touch your data … it is never compromised! Note: db2imigr calls db2ckmig and fails if there are any outstanding conditions – but will ONLY report errors for the partition you&apos;re running from (in DPF). Other partitions may not be consistent so watch out! Restoring the database backups will perform the database upgrade Database upgrade does not alter user data. The bulk of the upgrade time is spent updating the catalog information to the new format. The amount of time required to perform a database upgrade is dependent on amount of data in the system catalog (not the amount of user data). The more database objects you have the longer the upgrade time Keep in mind that during instance migration, we will save your settings in the database manager configuration file. If you restore databases into newly created instances, your database manager configuration settings will be the defaults specific in the new 9.5 instance.
  • Independent of which release you are upgrading from , we always encourage upgrading to the latest release and fix pack level. Always upgrade to the latest fix pack to ensure you have all of the available upgrade APAR fixes Often difficult (but not impossible) to fix/workaround upgrade specific issues after the fact: Packed descriptors Catalog tables Can upgrade from any DB2 UDB V8 fix pack to DB2 9 or DB2 9.5 One upgrade issue that has affected a few customers – IY85495 Configuration files are out of sync with actual table space information. If affected (db2ckmig reports an error), apply FP14 and upgrade You can upgrade directly from 32 bit to 64 bit Technote # 1223978 highlights the changes between DB2 UDB V8.1 and DB2 UDB V8.2 After upgrade, consider increasing the applheapsz and stmtheap configuration parameters Default values increased for 64-bit instances in v8.2 DB2 9/9.5 does not support any of the following products that could have been optionally installed with DB2 UDB V8 DB2 Data Warehouse Center / DB2 Data Warehouse Manager DB2 Information Catalog Center DB2 Data Links Manager DB2 DataJoiner
  • Just a couple of things to be aware of that others have hit. One upgrade issue that has affected a few customers – IY85495 Configuration files are out of sync with actual table space information. If affected (db2ckmig reports an error), apply FP14 and upgrade Details on the 2 nd issue follow: Question When using DB2® Version 9.1 on AIX® 5L, DB2 commands such as db2icrt, db2start and db2stop appear to hang. Cause DB2 Version 9.1 now supports IPv6. When DB2 calls AIX with getaddrinfo(), it will ask for both an IPv4 and an IPv6 address. The AIX resolver will return an IPv4 and an IPv6 address if the /etc/netsvc.conf file is configured as follows: hosts=bind,local AIX will first get the address locally, then if that fails, it will go to the DNS server. For server that does not have IPv6 configured, it is time consuming for AIX to attempt to get an IPv6 address before it fails. Since DB2 relies on AIX for getting address information, this cause DB2 commands to appear to be hanging. Note that any program which calls one of several AIX name resolution APIs that includes resolving IPv6 protocol will suffer the same long delays. Answer For servers that do not have IPv6 configured, you should configure the /etc/netsvc.conf file as follows: hosts=bind4,local4 AIX will then only return IPv4 address for all name resolution APIs().
  • Upgrading to DB2 9.5 is really straightforward. Let’s focus on the changes you need to be aware about as a result of moving to DB2 9.5.
  • Moving to a threaded architecture on Linux and UNIX was not new. We have had a threaded architecture on the Windows operating platform from day 1. It is something we were very familiar with. As other operating systems moved to support threading, this allowed us to complete the change across the board. Benefits include: Simplification Single address space simplifies our memory model No need to worry about ‘application groups’ More automatic and dynamic configuration parameters – for agent and memory Single memory knob to control memory consumption of an entire instance Problem determination easier due to shared memory usage Fewer DB2 server processes: : db2wdog, db2sysc, db2acd (maybe db2vend, db2fmp) Performance Improvements Context switching between threads is generally faster than between processes Improvements due to threading on the order of 1-3% up to 10-20%, depending on the platform Less system and memory resources Significantly less system file descriptors used – all threads can share file descriptors Operating system threads require less context than processes Savings due to threading on the order of 1 MB per DB2 agent
  • It is often easier to understand how the threading architecture changed the way we do things internally by looking at how the memory model changed Prior to DB2 9.5 you had significantly more memory areas, memory allocation spaces, all causing you, the DBA, more headaches and extra work. In this build slide (work through it in full slide show mode to see the effects) we show how we have simplified the memory areas and how things are cleaner and tighter. In the end much better in all respects! The key thing to stress is that our multithreaded technology is PROVEN. It&apos;s not &amp;quot;new&amp;quot;. We just extended the &amp;quot;goodness&amp;quot; to Linux and UNIX.
  • Lets look briefly and quickly at some of the major changes in configuration parameters you need to be aware of after upgrading to DB2 9.5. Having a successful upgrade is more than just completing the tasks for the upgrade, it is also understanding what changes have happened in the release you are upgrading to. Previously, instance_memory was the amount of memory reserved for instance management (DBMS). This was an area of memory that described the databases on the instance. We are moving more and more into the AUTONOMIC space in DB2 9.5 with configuration parameters being automatic. This means less work for the DBA to monitor and tune the environment. In addition, DBAs can now set hard constraints on application memory usage (via appl_memory ) and total memory usage (via instance_memory ). This is a nice side benefit of the threaded engine.
  • A few additional parameters to note in DB2 9.5. We are moving to AUTOMATIC as the default. This lets DB2 do the tuning for you. As systems become bigger and bigger we need higher maximums. We have increased the maximums for a number of configuration values. Of importance are the deprecated parameters. They are still there but will be removed in a future release Note: Although there are new default and maximum values, the upgrade process does NOT change the user&apos;s configuration
  • Let’s step back a minute and look at changes that occurred also in the DB2 9 timeframe. This is useful to know as they still affect you regardless of moving to DB2 9 or DB2 9.5. First we look at the Fast-Communications Manager (FCM). During upgrade, the value of the fcm_num_channels parameter is calculated as the maximum of the fcm_num_rqb, fcm_num_anchors, and fcm_num_connect parameter values. AUTOMATIC is the default setting for the fcm_num_buffers parameter on newly created DB2 9.5 instances.
  • These are a few more parameters you no longer need to worry about since they become automatic . Many are memory related which is useful for you – this means less for you to watch over! Simplification in the MAXFILOP parameter. Prior to DB2 9.5: applheapsz was the max application memory each agent working for that application could consume maxfilop indicated the maximum number of file handles that could be open for each agent
  • In DB2 9.5 we added a new database parameter to handle all the memory for all agents for an application. This is simplification for you and also allows DB2 to manage the memory for you. A number of previously pesky parameters are now AUTOMATIC by default, making your life easier and allow DB2 to manage the system for you. Values that get set to automatic during upgrade: Coming from 9.1 Save off automatic setting you had PLUS, we explicitly set these ones on appl_memory db_heap applheapsz stat_heap_sz Coming from v8.x Keep the automatic setting that may have been set for database_memory maxappls logindexbuild prefetch_sz
  • In DB2 9.5 you need to make sure you are aware of parameters that are gone or are going away in the near future (deprecated). Here we simply list some of these for your understanding and planning purposes.
  • We now look at what changed in the database configuration parameter space in DB2 9, having already covered DB2 9.5. One of the major areas was memory related again with the database_memory configuration parameter becoming AUTOMATIC by default or COMPUTED in an upgrade. Note that an upgrade process is not going to change existing parameters unless otherwise noted.
  • Self-Tuning Memory Manager was a major addition in the DB2 9 timeframe. Allowing DB2 to manage a number of key memory parameters for you automatically (and which ones are under your control) takes away much work from a DBA team and gives them time for other things. When upgrading, the parameter is not turned on by default.
  • A major release would not be complete without changes/additions/deletions (deprecations) to our DB2 Registry variables. This page gives you a few of the changes made in the DB2 9.5 release.
  • A summary here of what happens to the different types of registry variables. Also please note the lists provided in the information centre for the complete view of changes, deprecations and deletions.
  • These are some of the new defaults that will be used for particular database operations. In DB2 9.5 AUTOMATIC STORAGE is enabled by default CIO and DIO automatically enabled: provides high performance I/O without the administration overhead of using raw devices applicable to AIX, Linux, Solaris and Windows only Also the default for a new database is Unicode for the code page.
  • Table space limits have been enhanced also in DB2 9 … no concerns now about running out of space (at least not in the table space  ): The maximum size of a table in a LARGE DMS table space is 16 TB (32K page size). The maximum size of a table in a REGULAR table space is 512 GB (32K page size). New default table space settings. Updated to reflect current disk technology: OVERHEAD now 7.5 ms TRANSFERRATE now 0.06 ms Other SQL and XQuery limits can be found in the Online Information Centre: http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/topic/com.ibm.db2.luw.sql.ref.doc/doc/r0001029.html As with the database default on the previous page, we extend the CIO and DIO defaults to the table space level also.
  • Enabling reverse scans eliminates the need for two indexes – one forward and one reverse. The two indexes can be replaced by a single index. Managing audits at the database level now lies with the security administrator (who holds SECADM authority). The security administrator can now manage (create, alter, drop, and comment on) trusted context objects, roles, and audit policies as well as Label Based Access Control actions. A small change in the file mode of a backup image. Of course to fully protect from root access you need IBM Database Encryption Expert.( http://www-01.ibm.com/software/data/db2imstools/database-encryption-expert )
  • If you are upgrading from a release prior to DB2 Connect Version 8.2.2 (equivalent to Version 8.1 FixPak 9) to Version 9 or 9.5 ensure that the authentication type at the DB2 Connect Server is compatible with the client and the server. If you did not specify an authentication type in the database directory entry at the gateway, the default authentication type is SERVER .
  • The IBM Data Server Client 9.5 combines the functionality of the DB2 UDB V8.x application development client and administration client. The runtime client is a small footprint client that only supports TCP/IP and Named Pipes protocols and is meant to run an already canned/developed application in the smallest footprint possible.
  • As of DB2 9, the set of supported protocols was trimmed down to reflect what customers were really using in the marketplace. This slide simply gives you some of the basic information of the new DB2 9.5 Data Server clients that you will deploy in your environment.
  • This shows you easily not only what type of client to server support is provided, but more importantly what level of DB2 functionality will be supported for those pairings. Some points to note: Connections to DB2 Version 9.5 servers from a client release prior to Version 8 are not supported The elimination of support for DB2 UDB V7.x clients was announced in DB2 9: When thinking about DB2 UDB V7 clients connecting to a DB2 9 (not DB2 9.5) server: 32-bit DB2 UDB V7 DB2 clients can connect to a 64-bit DB2 9 server by connecting first to a 32-bit DB2 9 or DB2 UDB v8 server 64-bit DB2 UDB V7 DB2 clients can connect to a 32-bit DB2 9 server by connecting first to a 64-bit DB2 9 or DB2 UDB v8 server When going from a DB2 UDB V7 (32/64-bit) client to a DB2 9 (32/64-bit) server, Only SQL statements are supported. DB2 administration tools are not supported
  • This shows you easily not only what type of client to server support is provided, but more importantly what level of DB2 functionality will be supported for those pairings. Some points to note: Connections to DB2 Version 9.5 servers from a client release prior to Version 8 are not supported The elimination of support for DB2 UDB V7.x clients was announced in DB2 9: When thinking about DB2 UDB V7 clients connecting to a DB2 9 (not DB2 9.5) server: 32-bit DB2 UDB V7 DB2 clients can connect to a 64-bit DB2 9 server by connecting first to a 32-bit DB2 9 or DB2 UDB v8 server 64-bit DB2 UDB V7 DB2 clients can connect to a 32-bit DB2 9 server by connecting first to a 64-bit DB2 9 or DB2 UDB v8 server When going from a DB2 UDB V7 (32/64-bit) client to a DB2 9 (32/64-bit) server, Only SQL statements are supported. DB2 administration tools are not supported
  • This next section quickly gives a summary of some of the key changes in the area of your applications and things to be aware of.
  • We start with Java support. The drivers have been updated and some discontinued or deprecated as seen on the next page.
  • Here we list some of the discontinued or deprecated support for Java. This is important to ensure you applications are up-to-date and new applications are using the latest interfaces and driver support. As always, detailed information is available in the online documentation and Information Centre.
  • Updates have been made to the admin views allowing you to get information using SQL rather than having to have a Command Line Processor (CLP) script. If you have used these in the past it is important to note the new changes to ensure you make any modifications to your environment scripts etc that you need to. Bottom line: Views allow for information via SQL, and maintained each release. Table Functions require a call via CLP script, higher maintenance, specific to release.
  • Large identifier support lets you more easily port applications from other DBMS vendors. You will also find it easier to upgrade data definition language (DDL) because you no longer need to shorten identifiers.
  • We continue to provide support for 32-bit applications running in a 64-bit instance. The 32-bit libraries are provided within the instance directories. There is no support for 32-bit Linux on IPF because there is no such thing as 32-bit IPF (Itanium).
  • On this page we provide a few of the restrictions you need to know about with having 32-bit applications running in a 64-bit instance. Unfenced 32-bit external routines not supported in 64-bit Use a 32-bit instance, rebuild with 64-bit libraries, or change to fenced stored procedure or UDF Support for default function entry points in external routine libraries is deprecated (32-bit AIX and Windows) Must specify an explicit function name in the routine library
  • We have spoken about the simple steps to upgrade your environment. We have spoken about the new features you have; and we have spoken about the application considerations. Here we summarize it in a single page of Best Practices. Being aware and prepared will ensure a successful upgrade of your environment.
  • First, let’s look at the activities involved in planning a successful upgrade. The best place to start is to review the Migration Guide and What’s New documentation. As you read through this material, you may discover requirements and dependencies that are specific to your environment. For example, you may need to upgrade your server’s operating system to a new version or maintenance level. Next you will want to create an inventory of impacted applications. You’ll likely need to work with the application owners to determine the impact (if any) of the upgrade. For 3 rd party applications, you’ll want to determine if the product supports DB2 9.5. Often you can easily determine this from the vendor’s website. Using all this information, you can draft a upgrade plan. The DB2 Migration Guide provides step-by-step instructions that you can “copy and paste” directly into your own upgrade plan. Depending on your needs, you’ll may want to prepare a plan for both server and client migration. The plan should include details on any specific hardware, operating system, and application upgrades that you identified. Before putting the plan in action, you’ll like want to review the plan with various stakeholders. Depending on the size of the project and organization, the review may need to involve many people. In large organizations, it’s not uncommon to involve peer DBAs, system, storage, and application administrators, IT architects, project managers, and representatives from impacted lines of business.
  • In the validation stage, one of the first things you need to do is establish acceptance criteria. You need to determine what conditions must be meet before you can deploy your DB2 upgrade in production. Often there are multiple conditions that make up acceptance criteria. For example, your criteria could consist of the following 3 points: Condition #1 – There must be no regression in application functionality. Condition #2 – There must be no degradation in system performance Condition #3 – The system must successfully pass a stress test Obviously, you’ll need to make the criteria specific to your environment and business needs. Once you have established this criteria, the next step is to define a test plan that verifies the criteria. Note that in many cases IT organizations, customers often have well understood acceptance criteria and may have pre-existing test plans and tools in place. Next, you setup a test environment and begin executing the upgrade plan. First, you perform any prerequisite hardware or operating system upgrades. Next, you migrate the DB2 data server and perhaps DB2 clients - depending on your needs. Finally, if necessary, you upgrade your applications or enable them for new DB2 functionality. Once the upgrade complete, it’s time to execute the test plan. The testing may identify gaps in the original plan. In this case, the gaps should be resolved and re-validated. Of course, the upgrade plan should be updated. Before the upgrade can be deployed, you may need to perform another review of the upgrade plan and seek approval.
  • Now we arrive at the final stage – successful deployment Many production deployments are performed in a short time span. For example, overnight or over a weekend. As a result, it is unlikely you’ll be able to re-execute your validation tests after the deployment. In this situation, it is common to define a smaller scale “sanity test”. The sanity test usually consists of a subset of critical user acceptance tests. Follow you validated plan to upgrade your production system. Once the upgrade is complete, execute this sanity test for confirmation. There you have it. Those of the 3 basic stage of a successful DB2 upgrade.
  • In summary, DB2 customers upgrade to version 9.5 because it offers a “best of breed” database solution. Our industry leading data compression technology has allowed customers to save time and money while improving performance. IBM’s continued investment in autonomics and DB2’s simplified memory model mean less system management and tuning. New and improved features like Real-Time Statistics, Self-Tuning Memory Management, and Automatic Storage free DBAs from time-consuming tasks. The integrated workload manger allows you to meet service level agreements by controlling resource usage based on business priorities. Security features like the improved audit facility, trusted context, and roles provide support today’s governance and compliance requirements. It is easier than ever to upgrade to 9.5. Remember, you can upgrade your existing databases directly from any fixpack level of DB2 UDB v8 or v9. You can also upgrade servers and clients separately. Resources like the DB2 Migration Guide and Migration Portal are at your disposal. Customers that have successfully upgraded DB2 usually follow a 3 stage process. They plan for the upgrade. They establish a test environment where they validate the upgrade. Finally, they deploy to a production environment.
  • Before I take a few questions, here are some links to additional DB2 9.5 resources.
  • Upgrading to DB2 9 or DB2 9.5 is much more than just installing the code and ensuring your database is functioning – although that is key. You want to start to take advantage of the new features and functions in the new release you have just moved to. In the following pages we touch on enabling some of the key features and functions in DB2 9 or DB2 9.5.
  • Space is always a concern for databases and tables growing rapidly. By moving to Large RIDs in DB2 9 or DB2 9.5 you give yourself the ability to have much larger data spaces – table space limits for your tables. More rows per table, per page, etc. Larger record identifiers which allow more data pages per table object and more records per page change the required amount of memory and space used by log files and system temporary table spaces Due to the increase in the RID sizes to support a LARGE table space, the growth rate for log files and size of log records will increase An increase in memory usage will result as each additional RID now requires 8 bytes of memory for single-partition environment and 16 bytes of memory for partitioned database environment LARGE RIDs are the default for a new installation but you need to convert upgraded table spaces to the larger format to be able to take advantage of the extended space ability.
  • You need to consider your indexes when moving to Large Identifiers. Here we simply tell you what has to be done. If you want to have more rows per page, you need to reorganize the table(s) to rebuild the table structures.
  • Deep Compression saves disk space and gives better performance … a win win situation.
  • What’s the difference between the two alternatives? In most cases, an REORG on a smaller data set will be faster than using INSPECT . However, finding a small, representative data set may not always be feasible Also, keep in mind that INSPECT ROWCOMPESTIMATE can only INSERT a dictionary if it does not already exist Of course do not forget that with DB2 9.5 we have enabled automatic compression dictionary creation … takes the requirement for a reorg aware.
  • By default when you upgrade, we do not enable the STMM actions. In a new system it is enabled automatically. So here we tell you the simple steps to enable this excellent time saving feature. Note: To self-tune sort memory, all sorts must reside in shared memory. This is the default for newly created DB2 9 instances and databases Set DBM parameter SHEAPTHRES to 0 Set DB parameter SHEAPTHRES_SHR to the desired value
  • In some cases you may wish to move to Partitioned Tables if you are using UNION ALL views … these steps can help you make this change after an upgrade.
  • In some cases you may wish to move to Partitioned Tables if you are using UNION ALL Views … these steps can help you make this change after an upgrade. Tips for SET INTEGRITY following ATTACH Use a single SET INTEGRITY statement Multiple statements = multiple passes of the data Include all refresh immediate MQTs and the base table in the same statement MQTs that are not refreshed in the first pass go off line Make use of exception tables Without them, any violation will fail the entire SET INTEGRITY operation
  • Most frequently hit APAR in the field has simple workaround (update db cfg using DYN_QUERY_MGMT DISABLE ) Evaluate outstanding APARs and determine if they affect your environment DB2_PINNED_BP – workaround, unset DB2_PINNED_BP prior to upgrading Unqualified Routines – if affected, get special build prior to upgrading (interim FP3a if available) If you have routines with unqualified table names get IZ03227 Upgrade issues are tracked internally. Check with your advocate before upgrading to ensure you are aware of any outstanding upgrade issue
  • Highlighted in light-blue are the APARs hit by customers.
  • When things go well, customers rarely contact us. IBM is always contacted when an upgrade does not go well. The quantity of Upgrade related APARs on DB2 9 is still very low. No HIPER upgrade APARs to date. Customers from following industries have successfully upgraded to DB2 9: Telecommunications Retail Financial Services Insurance Health Care
  • An example of a customer success.
  • 2008 IBM Corporation September 15, 2008 Upgrading to DB2 9.5 for ...

    1. 1. Upgrading to DB2 9.5 for Linux, UNIX, and Windows Mladen Kovacevic [email_address] Continuing Engineering Software Development DB2 Linux, UNIX, Windows Reliability, Availability and Serviceability (RAS)
    2. 2. Agenda <ul><li>Recommended reading </li></ul><ul><li>Overview of the upgrade process </li></ul><ul><li>Upgrading a data server </li></ul><ul><ul><li>3 stages of successful upgrades </li></ul></ul><ul><li>Considerations </li></ul><ul><ul><li>DB2 Connect </li></ul></ul><ul><ul><li>Clients </li></ul></ul><ul><ul><li>Applications and routines </li></ul></ul><ul><li>Best practices </li></ul>
    3. 3. Recommended Reading <ul><li>DB2 Migration Portal </li></ul><ul><ul><li>One-stop-shop for essential information </li></ul></ul><ul><ul><li>Links to Information Center articles, white papers, etc. </li></ul></ul><ul><ul><li>http://www.ibm.com/software/data/db2/upgrade </li></ul></ul><ul><li>DB2 9.5 Migration Guide </li></ul><ul><ul><li>Comprehensive, step-by-step documentation </li></ul></ul><ul><ul><li>Available in DB2 Information Center http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/index.jsp?topic=/com.ibm.db2.luw.qb.migration.doc/doc/c0023662.html </li></ul></ul><ul><ul><li>Downloadable PDF http://www-1.ibm.com/support/docview.wss?rs=71&uid=swg27009727 </li></ul></ul>
    4. 4. Recommended Reading (continued) <ul><li>DB2 9.5 What’s New </li></ul><ul><ul><li>Outlines new and changed functionality </li></ul></ul><ul><ul><li>Available in the DB2 Information Center http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/index.jsp?topic=/com.ibm.db2.luw.wn.doc/doc/r0051514.html </li></ul></ul><ul><ul><li>Downloadable PDF http://www-1.ibm.com/support/docview.wss?rs=71&uid=swg27009727 </li></ul></ul><ul><li>Estimating database upgrade time and disk space requirements </li></ul><ul><ul><li>http://www-1.ibm.com/support/docview.wss?rs=71&uid=swg21255249 </li></ul></ul>
    5. 5. Upgrading to DB2 9.5 <ul><li>DB2 9.5 is the next-generation hybrid data server </li></ul><ul><ul><li>Optimized management of XML and relational data </li></ul></ul><ul><li>Upgrading not required when installing fixpacks </li></ul><ul><li>Applications and routines may require changes (rare) </li></ul>Optional Client Yes, instance & database Data Server Upgrade Required? Component
    6. 6. DB2 9.5 Simplifies Server and Client Upgrades <ul><li>Coexistence supported on all DB2 Linux, UNIX, and Windows operating platforms </li></ul><ul><ul><li>Install multiple DB2 server and client versions </li></ul></ul><ul><ul><li>Upgrading is no longer forced onto Windows users </li></ul></ul><ul><li>Install provides migrate option </li></ul><ul><ul><li>Windows only </li></ul></ul><ul><ul><li>Automatically upgrades existing DB2 UDB V8 instances and DAS </li></ul></ul><ul><ul><li>Database upgrade still required </li></ul></ul>
    7. 7. Benefits of Coexistence <ul><li>Each installation can be serviced independently </li></ul><ul><li>Enables the creation of upgrade test environment </li></ul><ul><li>Provides fallback capability </li></ul><ul><ul><li>Instead of upgrading, do a backup and restore </li></ul></ul><ul><ul><li>DB2 UDB V8 instance and database remains intact and unaltered </li></ul></ul><ul><ul><li>Note: You can restore a backup of a 32-bit DB2 UDB V8 database into a 64-bit DB2 9.5 instance </li></ul></ul><ul><ul><ul><ul><li>Endianness (byte order) must match on Linux/UNIX </li></ul></ul></ul></ul>
    8. 8. Operating System Support Specific OS patches are also in requirements, review and apply these prior to installing new release! For detailed requirements see: http://www.ibm.com/software/data/db2/9/sysreqs.html All Intel and AMD processors capable of running the supported Windows operating systems XP Professional Vista Ultimate/Business/Enterprise Server 2003 Standard/Enterprise/Datacenter Server 2008 Standard/Enterprise/Datacenter (32-bit and 64-bit) Windows UltraSPARC Solaris x64 (Intel 64 or AMD64) Solaris 9 Solaris 10 (64-bit kernel required) Solaris x86, 32-bit Intel & AMD processors x64, 64-bit AMD64 & Intel EM64T POWER eServer System z or System z9 Red Hat Enterprise Linux 4 Update 4 Red Hat Enterprise Linux 5 SUSE Linux Enterprise Server 9 SP3 SUSE Linux Enterprise Server 10 SP1 Linux HP-UX 11iv2 (11.23.0505) HP-UX 11iv3 (11.31) AIX Version 5.3 TL6 SP2 AIX Version 6.1 (64-bit kernel required) Software Itanium based HP Integrity Series Systems HP-UX POWER3 processors and higher AIX Hardware OS
    9. 9. Let’s Upgrade to DB2 9.5
    10. 10. Data Server Upgrade (in 1 page) <ul><li>Database upgrade does not alter your data </li></ul><ul><ul><li>Converts system catalog format, modifies select disk structures </li></ul></ul><ul><li>For all the details on upgrading servers: http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/index.jsp?topic=/com.ibm.db2.luw.qb.migration.doc/doc/c0011933.html </li></ul><ul><li>Install DB2 9.5 </li></ul><ul><li>Perform pre-migration tasks </li></ul><ul><li>Verify the databases using the db2ckmig tool </li></ul><ul><ul><li>ie. db2ckmig tool (run on all partitions in data partitioned environments) </li></ul></ul><ul><li>Create 9.5 instance (db2icrt) </li></ul><ul><li>Restore database offline backup (RESTORE DATABASE command) </li></ul><ul><li>Upgrade instance (db2imigr) </li></ul><ul><li>Upgrade databases </li></ul><ul><li>(MIGRATE DATABASE command) </li></ul>Side-by-Side Upgrade In-Place Upgrade
    11. 11. Follow the Path Recommendation Upgrade to latest DB2 9.5 fixpack Pre-v8.1 versions must upgrade to DB2 UDB v8.2.2 first 9.1 UDB v8.x 9.5
    12. 12. Upgrade Hiccups <ul><li>DB2 UDB V8 APAR IY85495 – Database configuration reports incorrect rollforward pending state (fixed in FP14) </li></ul><ul><ul><li>db2ckmig will report an error </li></ul></ul><ul><li>AIX DNS lookup may cause commands to hang </li></ul><ul><ul><li>DB2 supports IPv4 and IPv6 as of DB2 9 </li></ul></ul><ul><ul><li>db2icrt, db2start, db2stop commands appear to hang </li></ul></ul><ul><ul><li>Double-check hosts setting in /etc/netsvc.conf </li></ul></ul><ul><ul><li>Technote # 1258661, APAR # IZ09585 (v9.1 FP5), #IZ26737 (v9.5 FP2) </li></ul></ul><ul><ul><ul><li>http://www-1.ibm.com/support/docview.wss?rs=0&q1=1258661&uid=swg21258661&loc=en_US&cs=utf-8&cc=us&lang=en </li></ul></ul></ul>
    13. 13. Changes in DB2 9.5 <ul><li>The following pages highlight some changes in: </li></ul><ul><ul><li>Process and memory model </li></ul></ul><ul><ul><li>Configuration parameters </li></ul></ul><ul><ul><li>Registry and environment variables </li></ul></ul><ul><ul><li>Behaviour </li></ul></ul><ul><li>More details in Migration Guide http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/index.jsp?topic=/com.ibm.db2.luw.qb.migration.doc/doc/r0022380.html </li></ul><ul><li>Refer to “What’s New” documentation in the online (or local!) Information Centre </li></ul>
    14. 14. Multithreaded Architecture on Linux and UNIX <ul><li>Benefits </li></ul><ul><ul><li>Simplified and more dynamic configuration </li></ul></ul><ul><ul><ul><li>Self-Tuning Memory Manager (STMM) database memory tuning now available on all platforms </li></ul></ul></ul><ul><ul><li>Streamlined problem determination </li></ul></ul><ul><ul><li>Improved performance </li></ul></ul><ul><ul><li>Less system and memory resources </li></ul></ul><ul><li>Fewer DB2 server processes </li></ul><ul><ul><li>Modify scripts to replace ps with db2pd –edus </li></ul></ul><ul><ul><li>More details: http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/index.jsp?topic=/com.ibm.db2.luw.wn.doc/doc/i0052646.html </li></ul></ul><ul><li>Unfenced routines, unfenced wrapper libraries, and security plug-ins must be thread-safe </li></ul>
    15. 15. DB2 9.5 Simplified Memory Model Database Manager Memory ( instance_memory ) Agent Private Memory Per Database Memory Database Global Memory ( database_memory ) Buffer pools, database heap, utility heap, lock list, etc. Application Global Memory ( appl_memory ) Application heap, statement heap, etc. DBMS Shared Memory
    16. 16. Instance Configuration Changes (DB2 9.5) <ul><li>Changes under new memory model </li></ul><ul><li>New behavior for instance_memory </li></ul><ul><ul><li>Max. memory that a single database partition can allocate </li></ul></ul><ul><ul><li>Max. increased to 256 TB (64-bit platforms) </li></ul></ul><ul><ul><li>New value is AUTOMATIC , approx 75-95% of physical RAM </li></ul></ul><ul><li>mon_heap_sz changes to AUTOMATIC </li></ul><ul><li>If max_coordagents was “-1” </li></ul><ul><ul><li>Upgrade changes it to the value of maxagents </li></ul></ul><ul><li>If num_poolagents was “-1” </li></ul><ul><ul><li>Upgrade changes it to the value of maxagents </li></ul></ul>
    17. 17. Instance Configuration Changes (DB2 9.5) (continued) <ul><li>Default for new instance is AUTOMATIC for </li></ul><ul><ul><li>fenced_pool, max_connections, mon_heap_sz, and num_poolagents </li></ul></ul><ul><li>New maximum values </li></ul><ul><ul><li>max_coordagents, num_initagents, and num_initfenced (64K) </li></ul></ul><ul><ul><li>federated_async (32K) </li></ul></ul><ul><li>Deprecated </li></ul><ul><ul><li>agentpri, maxagents, maxcagents, and query_heap_sz </li></ul></ul><ul><li>Discontinued </li></ul><ul><ul><li>priv_mem_thresh </li></ul></ul>
    18. 18. Instance Configuration Changes (DB2 9) <ul><li>Fast Communication Manager (FCM) </li></ul><ul><ul><li>Performs inter-partition communication in DPF </li></ul></ul><ul><ul><li>Re-architected to enhance performance and simplify tuning </li></ul></ul><ul><li>New fcm_num_channels parameter </li></ul><ul><ul><li>Replaces the following deprecated parameters: </li></ul></ul><ul><ul><ul><li>fcm_num_rqb </li></ul></ul></ul><ul><ul><ul><li>fcm_num_anchors </li></ul></ul></ul><ul><ul><ul><li>fcm_num_connect </li></ul></ul></ul><ul><ul><li>Upgrade calculates a new value to approximate the previous configuration </li></ul></ul>
    19. 19. Database Configuration Changes (DB2 9.5) <ul><li>New behavior: applheapsz </li></ul><ul><ul><li>Max memory that can be consumed per application </li></ul></ul><ul><ul><li>Bound by appl_memory (db) or instance_memory (db partition) </li></ul></ul><ul><ul><li>New value is AUTOMATIC </li></ul></ul><ul><li>New behavior: maxfilop </li></ul><ul><ul><li>Max file handles that can be concurrently open for each database </li></ul></ul><ul><ul><li>New value is: AIX, HP, Sun 61,440 Linux 30,720 (32-bit) 61,440 (64-bit) Windows 32,768 (32-bit) 65,335 (64-bit) </li></ul></ul><ul><li>dbheap changes to AUTOMATIC </li></ul><ul><li>stat_heap_sz changes to AUTOMATIC </li></ul>
    20. 20. Database Configuration Changes (DB2 9.5) (continued) <ul><li>New parameter: appl_memory </li></ul><ul><ul><li>Max memory that can be allocated by all agents to service all applications requests </li></ul></ul><ul><ul><li>Bound by instance_memory (db partition) </li></ul></ul><ul><ul><li>Default value is AUTOMATIC </li></ul></ul><ul><li>New database default value is now AUTOMATIC </li></ul><ul><ul><li>applheapsz </li></ul></ul><ul><ul><li>dbheap </li></ul></ul><ul><ul><li>stat_heap_sz </li></ul></ul><ul><ul><li>stmtheap </li></ul></ul>
    21. 21. <ul><li>Deprecated </li></ul><ul><ul><li>app_ctl_heap_sz, appgroup_mem_sz, and groupheap_ratio replaced by appl_memory </li></ul></ul><ul><ul><li>logretain and userexit replaced by logarchmeth1 </li></ul></ul><ul><ul><li>numsegs </li></ul></ul><ul><li>Discontinued </li></ul><ul><ul><li>estore_seg_sz and num_estore_segs </li></ul></ul>Database Configuration Changes (DB2 9.5) (continued)
    22. 22. Database Configuration Changes (DB2 9) <ul><li>Parameter values that change during upgrade: </li></ul><ul><ul><li>database_memory – New name, same DB2 UDB V8 behavior </li></ul></ul><ul><ul><ul><li>DB2 UDB V8’s AUTOMATIC becomes COMPUTED in DB2 9 </li></ul></ul></ul><ul><ul><li>dyn_query_mgmt – Query Patroller </li></ul></ul><ul><ul><ul><li>If ENABLE , upgrade changes to DISABLE </li></ul></ul></ul><ul><ul><ul><li>Re-enable once Query Patroller is installed </li></ul></ul></ul><ul><li>Parameters with new default values: </li></ul><ul><ul><li>auto_maint, auto_tbl_maint, and auto_runstats – ON </li></ul></ul><ul><ul><li>avg_appls, fcm_num_buffers, num_iocleaners, and num_ioservers – AUTOMATIC </li></ul></ul><ul><ul><li>Upgrade retains the original DB2 UDB V8 settings </li></ul></ul>
    23. 23. Database Configuration Changes (DB2 9) (continued) <ul><li>New Self-Tuning Memory Management feature </li></ul><ul><ul><li>Disabled in upgraded database </li></ul></ul><ul><ul><li>Controlled by the self_tuning_mem parameter </li></ul></ul><ul><ul><li>Following parameters support AUTOMATIC setting : </li></ul></ul><ul><ul><ul><li>database_memory </li></ul></ul></ul><ul><ul><ul><li>sheapthres_shr </li></ul></ul></ul><ul><ul><ul><li>sortheap </li></ul></ul></ul><ul><ul><ul><li>pckcachesz </li></ul></ul></ul><ul><ul><ul><li>locklist </li></ul></ul></ul><ul><ul><ul><li>maxlocks </li></ul></ul></ul><ul><ul><li>Upgrade retains the original settings the above parameters </li></ul></ul>
    24. 24. Registry and Environment Variable Changes Deprecated DB2_ALLOCATION_SIZE IMMEDIATE OFF (DB2 UDB V8) ON (DB2 9) DB2_MDC_ROLLOUT ONLINE_BACKUP_IOPRIORITY setting is discontinued DB2_EXTENDED_IO_FEATURES Deprecated DB2MEMMAXFREE IBM Data Server Driver for JDBC and SQLJ Legacy JDBC type 2 driver DB2_USE_DB2JCCT2_JROUTINE Deprecated DB2_FORCE_FCM_BP ON OFF DB2_COLLECT_TS_REC_INFO New Default Old Default Variable Name
    25. 25. Registry and Environment Variables (continued) <ul><li>Instance profile registry variables are upgraded and retain the original settings </li></ul><ul><li>Global profile registry variables set by the user are not automatically upgraded </li></ul><ul><li>Complete lists: </li></ul><ul><ul><li>Changed http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/index.jsp?topic=/com.ibm.db2.luw.wn.doc/doc/i0052034.html </li></ul></ul><ul><ul><li>Deprecated http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/index.jsp?topic=/com.ibm.db2.luw.wn.doc/doc/i0052033.html </li></ul></ul><ul><ul><li>Discontinued http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/index.jsp?topic=/com.ibm.db2.luw.wn.doc/doc/r0051514.html </li></ul></ul>
    26. 26. New Database Defaults <ul><li>Automatic storage enabled </li></ul><ul><ul><li>Introduced in DB2 UDB V8.2.2, simplifies storage management </li></ul></ul><ul><ul><li>To disable, specify AUTOMATIC STORAGE NO in CREATE DATABASE command </li></ul></ul><ul><li>Concurrent I/O and Direct I/O enabled </li></ul><ul><ul><li>Provides I/O performance similar to “raw” devices </li></ul></ul><ul><ul><li>To disable, specify FILE SYSTEM CACHING in CREATE DATABASE command </li></ul></ul><ul><li>Default code page is Unicode </li></ul>
    27. 27. New Table Space Defaults <ul><li>DMS table spaces are LARGE by default </li></ul><ul><ul><li>Increases the maximum table size to 16 TB </li></ul></ul><ul><ul><li>To disable, specify REGULAR in CREATE TABLESPACE statement </li></ul></ul><ul><li>New default table space settings </li></ul><ul><ul><li>Updated to reflect current disk technology </li></ul></ul><ul><ul><li>Use ALTER TABLESPACE statement to update your upgraded databases </li></ul></ul><ul><li>Concurrent I/O and Direct I/O are enabled </li></ul><ul><ul><li>To disable, specify FILE SYSTEM CACHING in CREATE TABLESPACE statement </li></ul></ul>
    28. 28. Other Behavior Changes <ul><li>Reverse scans enabled for new indexes, primary keys, and unique keys </li></ul><ul><li>Database level auditing requires SECADM authority </li></ul><ul><li>Backup image file mode changed to 600 </li></ul><ul><ul><li>Restricts read and write access to instance owner </li></ul></ul><ul><ul><li>Linux and UNIX only </li></ul></ul>
    29. 29. DB2 Connect 9.5 Considerations
    30. 30. DB2 Connect Upgrade Considerations <ul><li>If upgrading from DB2 Connect pre-v8.2.2 </li></ul><ul><ul><li>Authentication type specified in the database directory at the DB2 Connect server overrides the authentication type catalogued at a client </li></ul></ul><ul><ul><li>If there is no authentication type specified at a client, the default authentication is SERVER </li></ul></ul><ul><li>Review all considerations in Quick Beginnings for DB2 Connect Servers </li></ul><ul><ul><li>ftp://ftp.software.ibm.com/ps/products/db2/info/vr95/pdf/en_US/db2c6e950.pdf </li></ul></ul>
    31. 31. IBM Data Server Client 9.5 Considerations
    32. 32. Simplified DB2 Client Packages DB2 9 Runtime Client DB2 UDB V8 Run-Time Client DB2 UDB V8 Run-Time Client Lite IBM Data Server Runtime Client 9.5 DB2 9 Client DB2 UDB V8 Administration Client DB2 UDB V8 App. Development Client IBM Data Server Client 9.5 Equivalent Client Package New Package
    33. 33. DB2 Client Upgrade Considerations <ul><li>DB2 9.5 clients can connect to 32- and 64-bit servers </li></ul><ul><li>NetBIOS and SNA support discontinued in DB2 9 </li></ul><ul><ul><li>Catalog using TCP/IP or named pipes </li></ul></ul><ul><li>Client upgrade is optional </li></ul><ul><ul><li>Preserves the existing client configuration </li></ul></ul><ul><li>Multiple client installations supported </li></ul><ul><ul><li>Install the same or different versions </li></ul></ul>
    34. 34. Connectivity Support for Clients to 9.5 servers 9.5 server 9.5 server 9.5 server COMPATIBLE (Full functionality) DB2 v9.5 client DB2 v9.1 client DB2 UDB v8.x client COMPATIBLE (Limited to v9.1 function) COMPATIBLE (Limited to v8.x function)
    35. 35. Connectivity Support for 9.5 clients v9.1 server v9.5 server DB2 v9.5 client Multiple clients can be installed on a single machine UDB v8.x server
    36. 36. Application Considerations
    37. 37. Java and JDBC Changes <ul><li>IBM Data Server Driver for JDBC and SQLJ replaces </li></ul><ul><ul><li>IBM DB2 Universal JDBC Driver </li></ul></ul><ul><ul><li>IBM DB2 Driver for JDBC and SQLJ </li></ul></ul><ul><li>Support for IBM Software Developer Kit for Java 5.x </li></ul><ul><ul><li>AIX, Windows, Linux (x86, POWER, zSeries, and x86_64) </li></ul></ul><ul><li>Two versions of IBM Data Server Driver for JDBC and SQLJ </li></ul><ul><ul><li>db2jcc.jar : JDBC 3.0 and earlier </li></ul></ul><ul><ul><li>db2jcc4.jar : JDBC 4.0 and earlier </li></ul></ul><ul><li>64-bit JVM is provided with 64-bit database servers </li></ul>
    38. 38. Java and JDBC Changes (continued) <ul><li>DB2 JDBC Type 3 driver was discontinued in DB2 9 </li></ul><ul><ul><li>Use IBM Data Server Driver for JDBC and SQLJ (Type 4) </li></ul></ul><ul><li>DB2 JDBC Type 2 driver is deprecated </li></ul><ul><ul><li>Routines now use IBM Data Server Driver (Type 2) by default </li></ul></ul><ul><ul><li>To override db2set DB2_USE_DB2JCCT2_JROUTINE = OFF </li></ul></ul><ul><li>More details in Migration Guide </li></ul><ul><ul><li>Upgrading Java applications that use IBM Data Server Driver for JDBC and SQLJ http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/index.jsp?topic=/com.ibm.db2.luw.qb.migration.doc/doc/t0023413.html </li></ul></ul><ul><ul><li>Upgrading Java applications that use DB2 JDBC Type 2 driver http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/index.jsp?topic=/com.ibm.db2.luw.qb.migration.doc/doc/t0023413.html </li></ul></ul>
    39. 39. SQL Administrative Views and Routines Changes <ul><li>Some DB2 UDB V8 and DB2 9 administrative routines have been replaced with more comprehensive functions or views . For example: </li></ul><ul><ul><li>Complete list is available in the Information Center http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/index.jsp?topic=/com.ibm.db2.luw.sql.rtn.doc/doc/r0023171.html </li></ul></ul><ul><li>Applications should switch the new functions or views </li></ul><ul><ul><li>Versioned table functions have a _V91 or _V95 suffix </li></ul></ul><ul><ul><li>Administrative views are always based on latest table function version </li></ul></ul>ADMINTABINFO administrative view ADMIN_GET_TAB_INFO table function (DB2 9) DBMCFG administrative view GET_DBM_CONFIG table function (DB2 UDB V8) New View Deprecated Function
    40. 40. Larger Identifiers in DB2 9.5 128 8 Package 2048 254 SQL path (specified by the FUNCPATH BIND option and CURRENT PATH special register) 128 30 Authorization ID (authid) Column Group Schema 128 18 Attribute Constraint Cursor Database partition group Event monitor Specific name Statement Trigger User-defined type New Length Old Length Identifier Name
    41. 41. Using 32-bit Applications and Routines with 64-bit Instances <ul><li>64-bit DB2 9.5 instances support 32-bit applications (except Linux IPF (Itanium)) </li></ul><ul><ul><li>32-bit shared libraries provided </li></ul></ul>$INSTHOME/sqllib/lib $INSTHOME/sqllib/lib64 64-bit 64-bit $INSTHOME/sqllib/lib $INSTHOME/sqllib/lib32 64-bit (except Linux on IPF) 32-bit $INSTHOME/sqllib/lib $INSTHOME/sqllib/lib32 32-bit 32-bit Embedded shared library path Instance Application
    42. 42. Using 32-bit Applications and Routines with 64-bit Instances (continued) <ul><li>Restrictions on 32-bit external stored procedures and UDFs </li></ul><ul><ul><li>Unfenced 32-bit external routines not supported in 64-bit </li></ul></ul><ul><ul><li>Support for default function entry points in external routine libraries is deprecated (32-bit AIX and Windows) </li></ul></ul><ul><li>32-bit SQL procedures created prior to DB2 UDB V8.2 and upgraded to 64-bit, must be dropped and re-created http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/index.jsp?topic=/com.ibm.db2.luw.qb.migration.doc/doc/t0023424.html </li></ul>
    43. 43. Best Practices DEPLOY VALIDATE PLAN
    44. 44. Stage 1 – Successful Planning <ul><li>Review Migration Guide and What’s New </li></ul><ul><li>Identify dependencies and requirements </li></ul><ul><li>Create an inventory of impacted applications </li></ul><ul><li>Draft a step-by-step upgrade plan </li></ul><ul><li>Review with impacted stakeholders </li></ul><ul><li>Receive approval to move forward </li></ul>
    45. 45. Stage 2 – Successful Validation <ul><li>Establish user acceptance criteria and a test plan </li></ul><ul><li>Setup a test environment </li></ul><ul><li>Execute the upgrade plan </li></ul><ul><ul><li>Perform prerequisite upgrades (hardware, OS, etc.) </li></ul></ul><ul><ul><li>Migrate the DB2 server and/or clients </li></ul></ul><ul><ul><li>Upgrade applications </li></ul></ul><ul><li>Perform the validation testing </li></ul><ul><li>Revise the upgrade plan as necessary </li></ul><ul><li>Review and approve the final upgrade plan </li></ul>
    46. 46. Stage 3 – Successful Deployment <ul><li>Define and execute a system “sanity” test </li></ul><ul><li>Upgrade the production system (deploy) </li></ul><ul><li>Execute sanity test </li></ul>
    47. 47. Summary <ul><li>DB2 9.5 provides a best of breed database solution </li></ul><ul><li>Upgrading to 9.5 is easier than ever </li></ul><ul><li>3-stages of a successful upgrade </li></ul>
    48. 48. Additional DB2 9.5 Resources <ul><li>Information Center http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/index.jsp </li></ul><ul><li>Documentation in PDF format http://www-1.ibm.com/support/docview.wss?rs=71&uid=swg27009727 </li></ul><ul><li>Product Support http://www.ibm.com/software/data/db2/udb/support/index.html </li></ul><ul><li>developerWorks Forum http:// www.ibm.com/developerworks/forums/forum.jspa?forumID =842 </li></ul>
    49. 49. Questions?
    50. 50. Enabling new features
    51. 51. Enabling New Features <ul><li>Converting an existing tablespace to large record identifiers (RIDs) </li></ul><ul><li>Enabling data row compression on an existing table </li></ul><ul><li>Enabling the Self-Tuning Memory Manager </li></ul><ul><li>Converting a Union All View to a data partitioned table </li></ul>
    52. 52. Converting to Large Record Identifiers (RIDs) <ul><li>Convert DMS table spaces only using </li></ul><ul><ul><li>ALTER TABLESPACE … CONVERT TO LARGE </li></ul></ul><ul><ul><li>COMMIT </li></ul></ul><ul><li>Increase the table space’s storage capacity </li></ul><ul><ul><li>If auto-resize enabled, increase the MAXSIZE attribute </li></ul></ul><ul><ul><li>Otherwise… </li></ul></ul><ul><ul><ul><li>Enable auto-resize ( ALTER TABLESPACE … AUTORESIZE YES ), or </li></ul></ul></ul><ul><ul><ul><li>Add more storage (add stripe set, extend container, etc.) </li></ul></ul></ul><ul><li>Increase log space, memory, and system temporary table space </li></ul><ul><ul><li>http://publib.boulder.ibm.com/infocenter/db2luw/v9/topic/com.ibm.db2.udb.rn.doc/doc/c0023929.htm </li></ul></ul>
    53. 53. Converting to Large Record Identifiers (RIDs) (continued) <ul><li>To support large RIDs, indexes on tables in a converted table space must be reorganized or rebuilt </li></ul><ul><ul><li>Use REORG INDEXES ALL (without CLEANUP ONLY ) </li></ul></ul><ul><ul><ul><li>Specify ALLOW NO ACCESS option for partitioned tables. </li></ul></ul></ul><ul><li>To support >255 rows per page, tables must be reorganized </li></ul><ul><ul><li>Cannot use INPLACE </li></ul></ul><ul><ul><li>Reorganization will rebuild all indexes </li></ul></ul><ul><ul><ul><li>Automatically converts Type 1 indexes to Type 2 </li></ul></ul></ul><ul><ul><li>Use RUNSTATS after reorganizing the tables </li></ul></ul>
    54. 54. Convert Type-1 Indexes to Type-2 Indexes in Upgraded Databases <ul><li>Convert type-1 indexes to take advantage of type-2 index benefits </li></ul><ul><ul><li>Improved concurrency </li></ul></ul><ul><ul><li>Online table reorganization and online table load commands can be used against the table </li></ul></ul><ul><ul><li>XML columns allowed only on tables with type-2 indexes </li></ul></ul><ul><li>Type-1 indexes are deprecated since DB2 Version 9.1; you should convert them before they are no longer supported </li></ul><ul><li>Further details can be found here: http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/topic/com.ibm.db2.luw.qb.migration.doc/doc/t0050553.html </li></ul>
    55. 55. Enabling Data Row Compression <ul><li>ALTER TABLE … COMPRESS YES </li></ul><ul><li>Use INSPECT command to estimate the compression savings </li></ul><ul><li>Ways to build the compression dictionary </li></ul><ul><ul><li>INSPECT ROWCOMPESTIMATE always builds the dictionary - it is only inserted into the table if compression is enabled </li></ul></ul><ul><ul><li>Offline REORG TABLE builds the dictionary and compresses the existing data </li></ul></ul>
    56. 56. Enabling Data Row Compression (continued) <ul><li>Time saving alternatives to performing a table reorg on a large table </li></ul><ul><li>Do not forget automatic dictionary creation too! </li></ul><ul><li>Unload the existing data </li></ul><ul><li>Load a small representative data set </li></ul><ul><li>Enable compression on the table </li></ul><ul><li>Reorg the table to build the dictionary and compress the small data set </li></ul><ul><li>Load the remaining data </li></ul><ul><li>Enable compression on the table </li></ul><ul><li>Use INSPECT ROWCOMPESTIMATE to build the dictionary </li></ul><ul><li>Unload the existing data </li></ul><ul><li>Reload the data </li></ul>Alternative #2 – Small data set Alternative #1 – Unload & reload
    57. 57. Enabling the Self-Tuning Memory Manager <ul><li>STMM trades memory between different memory areas </li></ul><ul><ul><li>Two or more areas must be “tunable” </li></ul></ul><ul><ul><li>An area is tunable if the configuration parameter is AUTOMATIC </li></ul></ul><ul><ul><ul><li>To tune the buffer pool, its size must be set to AUTOMATIC </li></ul></ul></ul><ul><li>Approaches to enabling STMM </li></ul><ul><ul><li>1. Manual enablement </li></ul></ul><ul><ul><ul><li>Set the self_tuning_mem DB parameter to ON </li></ul></ul></ul><ul><ul><ul><li>Set two (or more) memory area configuration parameters to AUTOMATIC </li></ul></ul></ul><ul><ul><li>2. Use the Configuration Advisor. It will enable STMM </li></ul></ul><ul><ul><ul><li>AUTOCONFIGURE APPLY NONE will generate recommendations </li></ul></ul></ul><ul><ul><ul><li>Review the recommendations and apply as necessary </li></ul></ul></ul><ul><ul><li>Complete details at: http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/index.jsp?topic=/com.ibm.db2.luw.admin.perf.doc/doc/t0021629.html </li></ul></ul>
    58. 58. From Union All View to Data Partitioned Table <ul><li>Create an empty data partitioned table with one dummy range </li></ul><ul><ul><li>Avoid creating any indexes (yet) </li></ul></ul><ul><li>Attach the existing arms of the Union All View one by one </li></ul><ul><ul><li>ALTER TABLE … ATTACH PARTITION … </li></ul></ul><ul><li>Drop the dummy range using… </li></ul><ul><ul><li>ALTER TABLE … DETACH PARTITION </li></ul></ul><ul><ul><li>DROP TABLE … </li></ul></ul><ul><li>Set up any constraints and MQTs </li></ul>
    59. 59. From Union All View to Data Partitioned Table (continued) <ul><li>Run SET INTEGRITY </li></ul><ul><li>Create indexes on the data partitioned table as necessary </li></ul><ul><li>Other approaches to upgrading existing tables and views to partitioned tables: http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/index.jsp?topic=/com.ibm.db2.luw.admin.partition.doc/doc/t0021571.html </li></ul>
    60. 60. DB2 9 Upgrade APARs Hit in the Field SOLUTION TO DETECT PACKED DESCRIPTOR CORRUPTION (CAUSED BY APAR LI70946) AND CORRECT IT 1 FP3 JR25637 ERROR SQL0901 WITH &quot;UNEXPECTED MISSING DATA PARTITION ID&quot; OR OTHER FAILURE WHEN ACCESSING A TABLE AFTER MIGRATION TO DB2 9 3 FP3 LI71383 ABSTRACT REDISCOVERY FIX PACK APAR SQL0204N EXECUTING ROUTINES WITH UNQUALIFIED OBJECTS AFTER MIGRATION TO V9 1 FP4 IZ03227 SQL1084C DURING DATABASE MIGRATION FROM V8 TO V9, OR ON DATABASE ACTIVATION IN V9, WITH DB2 REGISTRY VARIABLE DB2_PINNED_BP=ON 3 FP4 IY99673 INTERNAL TABLE STRUCTURES HAVE ORDERING OF STATISTICAL INFORMATION SWITCHED DURING MIGRATION WHICH MAY LEAD TO TABLE PACKED DESC 2 FP3 IY98320 DB2CKMIG RESULTS IN &quot;SEGMENTATION FAULT&quot; IF DYN_QUERY_MGMT DATABASE CONFIGURATION PARAMETER IS ENABLED. 9 FP3 IY97109
    61. 61. DB2 9 Upgrade Specific APARs ERROR SQL0901 WITH &quot;UNEXPECTED MISSING DATA PARTITION ID&quot; OR OTHER FAILURE WHEN ACCESSING A TABLE AFTER MIGRATION TO DB2 9 LI71383 SOLUTION TO DETECT PACKED DESCRIPTOR CORRUPTION (CAUSED BY APAR LI70946) AND CORRECT IT JR25637 INTERNAL TABLE STRUCTURES HAVE ORDERING OF STATISTICAL INFORMATION SWITCHED DURING MIGRATION WHICH MAY LEAD TO TABLE PACKED DESC IY98320 DB2CKMIG RESULTS IN &quot;SEGMENTATION FAULT&quot; IF DYN_QUERY_MGMT DATABASE CONFIGURATION PARAMETER IS ENABLED. IY97109 SYSCAT.INDEXES CONTAINS INCORRECT DATA IN THE INDEX_OBJECTID COLUMN AFTER MIGRATION FOR PARTITIONED DATABASES. IY97107 FP3 UPDATING SYSSTAT.COLDIST OR SYSCAT.COLDIST VIEWS' DISTCOUNT COLUMN RESULTS IN UNEXPECTED SQL0151N (COLUMN NOT UPDATEABLE) IY95135 SYSPROC.ADMIN_CMD PROCEDURE RETURNING ONLY ONE RESULT SET WHEN EXPECTING TO RETURN TWO. IY93622 SYSIBMADM SCHEMA NOT IN THE SYSIBM.SYSSCHEMATA SYSTEM TABLE (INCLUDING THE SYSCAT.SCHEMATA VIEW). IY91713 FP2 SOURCE FUNCTIONS BASED ON SPECIFIC INTERNAL FUNCTIONS WILL NOT WORK PROPERLY POST MIGRATION TO DB2 9 GA. IY91807 INSTALL: CUSTOMER FORCED TO CHOOSE DOMAIN USER DURING ESE MIGRATION IY89735 FP1
    62. 62. Known DB2 9.5 Upgrade Specific APARs MIGRATION FROM A DB2 UDB V8.X UNICODE DATABASE WITH NON-IDENTITYCOLLATION TO DB2 V9.5 WILL FAIL IZ14827 FP1
    63. 63. DB2 9 Successful Customer Upgrades <ul><li>Telecommunications </li></ul><ul><li>Retail </li></ul><ul><li>Financial Services </li></ul><ul><li>Insurance </li></ul><ul><li>Health Care </li></ul>“ Upgrade to DB2 9 is very very simple, only 35-40 minutes. It’s a ‘no brainer’ folks; do it! ” DB2 LUW customer presentation, Information on Demand 2007 conference
    64. 64. DB2 9 Successful SAP Customer Upgrade <ul><li>INTER Versicherungen </li></ul><ul><li>INTER upgraded its SAP DB2 environment to IBM DB2 9 on its existing IBM System p 650 platform. The company has exploited new features of DB2 9 like self-tuning memory management (STMM) and data compression technologies, which are fully supported by the SAP software </li></ul><ul><li>Public customer case study </li></ul><ul><li>http://www-306.ibm.com/software/success/cssdb.nsf/CS/STRD6Z2KE3?OpenDocument&Site=gicss67sap&cty=en_us </li></ul>

    ×