Skip to main content


developerWorks  >  Information Management  >

Porting to DB2 for Linux, UNIX, and Windows

Technical resources and roadmap

developerWorks
OverviewPorting stepsResources
 Step 1. Assessment
 Step 2. Planning the project
 Step 3. Education and training
 Step 4. Development environment
 Step 5. Users, groups, and permissions
 Step 6. Porting the database structure
 Step 7. Porting the database objects
 Step 8. Additional database components and products
 Step 9. Application modifications
 Step 10. Interface modifications
 Step 11. Data migration
 Step 12. Performance tuning
 Step 13. Maintenance strategy
 Step 14. Acceptance testing
 Step 15. Documentation
 Step 16. Packaging
 Step 17. Support
 

Step 1. Assessing the port

The first phase in performing a port is to assess the magnitude of the work that will be involved. Doing this in an organized and detailed manner can help minimize schedule and budget overruns, and provides a clear roadmap for the full project.

Before starting the assessment phase, IBM customers should contact the Software Migration Project Office (SMPO) for free porting estimates, as well as access to a team of experts that can help with your port. You can contact the SMPO using the link above or by e-mail (db2mig@us.ibm.com).

The assessment begins by collecting information about both the source and target environments. This detailed information about the database and the application is used to determine the scope of the porting process, and is the main input for the port planning process. In addition to the information collected, a series of DB2 porting guides are available that will also help you understand the differences between other database systems and DB2, and the most common conversion issues that you might run into.

In order to perform a detailed assessment, you need to access the source system and query the database for important information (number of tables, indexes, stored procedures, and so on), as well as retrieve design information from someone familiar with the system. Often, you can retrieve information from the source system by using SQL scripts that query the system tables or by using a utility provided by the source DBMS vendor.

Another effective way of accumulating detailed information from the source DBMS is through the use of the extraction capabilities of porting and migration tools. For example, you can use the IBM Migration Toolkit (MTK) to retrieve structural and object information from Oracle, Sybase, and SQL Server DBMSs.

Assessment items

The following is a list of some of the information that you will want to collect before planning your port. Keep in mind that this is just a partial list to get you thinking about the type of information you should collect.

  • Application overview
    • Primary function of the application
    • DBMSs currently supported by the application
    • DBMS that will be used to port from
    • Non-relational or proprietary DBMSs used
    • Application architecture (host, 2-tier Client-Server, n-tier, and more)
    • Application diagrams
    • Web technologies used (EJB, ASP, JSP, COBRA, and more)
    • Identify known performance bottlenecks
  • Deployment platforms
    • Client target operating system
    • Server target hardware platform
    • Server target operating system
    • Configuration Information
  • Additional component details
    • Front-end
    • Middleware
    • Tools/Compilers/Libraries
  • Application architecture details
    • Workload type (OLTP, OLAP/DSS, both)
    • Special OLAP/DSS functionality needed
    • Whether a database access layer is used
    • Programming languages used to write the application
    • Database interfaces used by the application (JDBC, OCI, ODBC, stored procedures, and so on)
    • Use of multi-threading techniques
    • Testing approach (individual modules, whole application, other)
  • Application size
    • Number of source files that interact with the DBMS (application files, batch scripts, and so on)
    • Application modularity (port portions, or whole application at once)
    • Any batch programs that need modifications to work with DB2
  • Application environment characteristics
    • Isolation level being used
    • Number of application users
    • How user management/authentication is handled
    • Availability requirements (24/7, 9-5/5, and so on)
    • High availability (24x7) implementation
    • Backup/recovery management approach
  • Application SQL characteristics
    • Proprietary SQL functions used
    • Extent of temporary table table use
    • Use of the database versioning
  • Database structure characteristics
    • Expected size of the database
    • Number of databases used by the application
    • Number of simultaneous connections expected
    • Number of tables
    • Number of tables with row sizes greater than 32K
    • Number of tables with more than 1012 columns
    • Total number of indexes, including PKs/FKs
    • Number of columns in each index
    • Use of proprietary indexing methods
    • Use of non-standard data types
    • Large Object or XML use
    • Extended data types used
    • Extent that the application performs fast searches on large text fields
    • Number of views
    • Number of materialized views
    • How Referential Integrity is implemented (FK/PK, triggers, application level, and more)
  • User Defined Functions (UDFs)
    • Number of UDFs and lines of code of each
    • Number of UDFs that are written in an external programming language.
    • Number of UDFs that call other UDFs or stored procedures
    • Number of UDFs that modify the database
    • Extent of logic complexity in each UDF
    • Extent of use of dynamic SQL
    • Extent of use of SQL exceptions / condition handling
  • Triggers
    • Number of triggers and lines of code in each
    • Number of triggers that call UDFs or stored procedures that modify the database
    • Extent of logic complexity in each trigger
    • Maximum depth of trigger cascading
    • Extent of use of SQL exceptions / condition handling
    • Extent of use of dynamic SQL
  • Stored procedures
    • Number of stored procedures and lines of code in each
    • Extent of logic complexity in each stored procedure
    • Extent of use of SQL Exceptions / Condition Handling
    • Extent of use of user-defined structured types
    • Extent of use of special variable or record types
    • Maximum depth of stored procedure nesting
    • Number of parameters (IN, OUT, INOUT)
  • Development environment
    • Primary development platform database used
    • Client target operating system
    • Server target hardware and operating system
    • Integrated Development Environment (IDE) used
    • Extent of user documentation available
    • Testing methodologies
    • Version control, source code control
    • Other tests for performance and functionality
  • Development cycle
    • Version of the application to be ported
    • Latest GA version
    • Version in development
    • Release schedule for future versions
    • Number of code streams that are/will be supported
    • Typical length of a point release cycle
    • Major release cycle length
  • Porting resources
    • Number of people and resources available
    • Programming experience level of the project team
    • Relational database experience level of the project team



Back to top


 logo

Document options

Document options requiring JavaScript are not displayed


More resources
Information for IBM customers
Information for IBM business partners
DB2 Migrate Now!
Software Migration Project Office
IBM Migration Toolkit
Porting to DB2 for i5/OS
IBM Information Management Community

Special offers
Optimize database apps and services with pureQuery
Webcast: IBM solidDB
Webcast: Replication and change data

More offers