Database Migration
Database Migration
1. Overview
This document reviews Microsoft’s process methodology for migrating IBM Mainframe DB2 databases to
Oracle. Much of our work in this area has been done in conjunction with work projects intended to migrate
mainframe applications to server environments (Unix, Linux, Windows). We have our own migration tools
(MMK – Mainframe Migration Toolkit), as well as expertise in using industry standard tools such as Oracle
Workbench, Micro Focus Revolve, etc.
We are development partners of IBM and Oracle, and as well are partners of: Micro Focus, Migration
Transformation Consortium (MTC) for legacy migrations, and Mainframe Migration Alliance (MMA).
The methodology we use requires minimum interaction with the client’s mainframe production
environment, thereby reducing costs and minimizing interruptions of the production system. This is
achieved through a phased activity, in which most of the analysis, tool-creation, mock-conversion, testing
work is done on a PC (back office). Our global delivery model (offshore, near-shore, and onsite) further
minimizes costs for the client.
2. Process Phases
The migration process generally includes the following steps:
Fitment / Conversion Study – Output of this phase is a study report detailing the changes
required in the data items for the movement.
Formation of Migration Strategy – Output of this phase is the “Migration Strategy Document”
detailing the planned process of migration, tools planned to be used etc.
Finalization of Scope of Migration - In this phase, the scope of migration is defined. Items such
as scope, limitations, performance and maintenance issues etc. need to be well defined.
Finalization of Acceptance Criteria – This phase will define the acceptance / test criteria, test
process and test procedures to ensure that the data movement is fault free.
Planning
Overall Project Plan Document
Overall Migration Plan Document
System Overview document
Plan – Sign Off
Data Migration
Mockup Data Migration Reports (including cleanup details)
Unit Test Reports
Data Migration – Sign Off
User Acceptance Test
Test Reports
UAT – Sign Off
Installation/Live Run
Live Migration Test Reports
Live Cutover – Sign Off
Database A subsystem can have more than one Each instance has one database
database. Databases are used to and one set of system catalog
logically group application data. All tables.
databases share the same system
catalogs, system parameters, and
processes in the subsystem. DBADM
authority is granted on the database
level. SYSADM authority is granted at
the subsystem level.
Tablespace A database is logically divided into A database is logically divided into
tablespaces. There are several tablespaces. A tablespace can point
tablespace types: simple, segmented, to one or more physical database
partitioned and large partitioned (for files on disk. One or more tables
16 TB tables). A non-partitioned can reside in a tablespace
tablespace points to one physical
VSAM file on DASD. A partitioned
tablespace points to one VSAM file
per partition on DASD. A segmented
or simple tablespace can contain one
or more tables.
Blocks Equivalent to pages; 4 K, 8 K, 16 K, The smallest unit of database
32 K. storage. Database files are
formatted into blocks, which can be
from 2 K to 16 K.
Extents The unit by which storage is allocated The unit by which storage is
for a VSAM file. The size of the allocated in a database file. The size
primary and secondary extents is of the primary and secondary
specified in the CREATE extents are specified in the Storage
TABLESPACE statement. A VSAM file clause of the CREATE TABLE or
can grow up to a maximum of 119 CREATE INDEX statements or
secondary extents. Extents are made default to the sizes specified in the
up of contiguous pages. CREATE TABLESPACE statement.
Extents are allocated until there is
no
more free space in the files that
make up the tablespace, or the
maximum number of extents has
been reached. The size of
the file is specified in the CREATE
TABLESPACE statement. Extents
are made up of contiguous blocks of
storage.
Stogroups A series of DASD volumes assigned a No equivalent.
unique name and used to allocate
VSAM datasets for DB2 tablespaces
and indexes.
Stored Stored procedures are written in C, Written in PL*SQL, JAVA etc. Stored
Procedures C++, COBOL, Assembler, PL/1or the procedures are stored in an Oracle
new DB2 SQL Stored Procedure table and executed from within the
language. The compiled host database.
language is stored on the DB2 server
and the compiled SQL is stored on
the database.
Plan A plan is an executable module of No equivalent.
SQL that is composed of one or more
packages and was created from a
DBRM. A DBRM is a module of un-
compiled SQL statements that were
extracted from the source program by
pre-compilation. A DBRM is bound
into a plan or a package.
Clusters No equivalent. Clusters are an optional method of
storing data. This approach creates
an indexed cluster for groups of
tables frequently joined. Each value
for the cluster index is stored only
once. The rows of a table that
contain the clustered key value are
physically stored together on disk.
Clustering An index created on a column of a No equivalent.
Index table where the data values are
stored in the same physical sequence
as the index.
Allows for fast sequential access.
Secondary Secondary Authid or RACF Group. No direct equivalent in Oracle.
Authid Privileges can be granted to a Groups of privileges known as roles
secondary authid. Primary authids are can be granted to a user ID.
assigned to the secondary authid
Group. Primary authids inherit all
privileges granted to the secondary
authid (group) they are in.
Package A package consists of a single No equivalent as known in Oracle. A
program of executable SQL and the “package” in Oracle has another
access paths to that SQL. The meaning. Package is written in
package is stored on the database PL*SQL and allows you to group all
and invoked by the host language related programming such as stored
executable. A package is created by procedures, functions, and variables
doing a BIND. A package may be part in one database object that can be
of a PLAN. shared by applications.
Other PRIQTY INITIAL
examples of SECQTY NEXT
differences Smallint\Decimal NUMBER
FREEPAGE FREELIST
etc. etc.
A. Customer Data
Customer Name:___________________________________ Phone no.:____________________
Contact Person: ____________________________________Fax no.: ______________________
B. Technical Data
Brief description of application, third party tools & Host languages __________________________
__________________________________________________________________
Brief description of application, third party tools & Host languages __________________________
________________________________________________________________________