Upload
kitra-wells
View
38
Download
0
Embed Size (px)
DESCRIPTION
DATABASE MIGRATION The general method. Source technical objects (DDL, programs, jcl,..). Source cartography & modeling. Source base model. Target base re-engineering. Target base structures. Data migration. Target base loaded. Programs adaptation. Application migrated. - PowerPoint PPT Presentation
Citation preview
1
Source cartography & modeling
Source technical objects(DDL, programs, jcl,..)
DATABASE MIGRATIONThe general method
Target base re-engineering
Data migration
Programs adaptation
Source base model
Target base structures
Target base loaded
Application migrated
2
Usage
0
20
40
60
80
100
120
0 20 40 60 80 100 120 140 160 180 200
Procédures
Tabl
esCARTOGRAPHY & MODELING
cartography – Galois connections
3
CARTOGRAPHY & MODELINGmodeling – logical model
4
1-1
0-N
TYPE_1
1-1
0-N
TYPE
1-1
0-N
TP-PERS
1-1
0-N
SUC-TP
1-1
0-N
SUC-ENS
1-1
0-N
SUC-CPR
1-1
0-NSUC-ASU
1-1
0-N
SUC-AS
1-1
0-N
SIE-SUC
1-1
0-N
SIE-RS
1-1
0-N
SIE-ASS
0-N
1-1
SI-IN
1-1
0-N
SI-AD
1-1
0-N
RUE_1
1-1
0-N
RUE-CP
1-1
0-N
RS-PERS
1-1
0-N
RP-NU
1-1
0-N
PER_PAD
1-1
0-1
PERS-POP
1-1
0-1
PERS-HORS-ENTITE
1-1
0-N
PAYS_1
1-1
0-N
PAYS
1-1
0-N
NUM-QUARTIER
1-1
0-N
NU-SIT
1-1
0-NNU-AD
1-1
1-1
INF_INF
1-1
0-N
CUR_RUE
0-N
0-N
CURATEURS-NN
1-1
0-N
CUR-PERS
1-1
0-N
CODE-PROF
1-10-N C
1-1
0-NADR_RUE_1
1-1
0-N
ADR_RUE
P
TYPE-PERSONNETELEPHONEDATE-DEBUT
DEB-AADEB-MMDEB-JJ
DATE-FINFIN-AAFIN-MMFIN-JJ
TI-889DATE-001
DT-001-AADT-001-MMDT-001-JJ
DATE-005DT-005-AADT-005-MMDT-005-JJ
020-CP020-CR020-NUMERO020-APPART
TI-886NO-BREVETLIDHEURE
H-HHH-MMH-SS
CHT-ADRESSEDATE-LISTE
DL-AAAADL-MMDL-JJ
COMMENT
TI-401TYPEDOSSIERCOMMENT
TI-320CODESTADEAUTORITELEVEENUMERO-IDF
IDF-1IDF-JJIDF-MMIDF-AAIDF-2
COMMENT
TI-306CPNUMREGIMECOMMENT
TI-305CPNUMINSCOMMENT
TI-303DECISION
AAMMJJ
COMMENTTI-302CODEPRISEINSCOMMENT
TI-252DATE-DEB
DEB-AADEB-MMDEB-JJ
DATE-FINFIN-AAFIN-MMFIN-JJ
COMMENT
TI-246COMMENT
TI-214ORGCPCODE-RUENUMEROAPPARTCOMMENT
TI-213TYPENATDATE
AAMMJJ
NOMCODE[15-15] array
COMMENT
TI-212CODELIEUCOMMENT
TI-211TYPECOMMENT
TI-210CODEEPCOMMENT
TI-208PNNPNN-R
PNN-1PNN-2PNN-3PNN-4
COMMENT
TI-207INSCODECOMMENT
TI-206K1ORGK2INSLIEUTERDATE
AAMMJJ
REFOC-A
OCCODRECORGORIGCOMMENT
TI-205TYPECOMMENT
TI-202COMMENT
TI-200NUMEROCOMMENT
TI-199NUMERODELIVRTYPEINSORDREPROROGPEREMPTION
AAMMJJ
OLD-NUMEROCOMMENT
TI-198NUMEROECHEANCE
AAMMJJ
COMMENT
TI-197NUMEROECHEANCE
AAMMJJ
COMMENT
TI-194TYPEATTRIBNUMERO-E
NUMEROCATEGORIES
CAT[9-9] arrayINSBOITEMEDICFIN-DECHEANCE
AAMMJJ
COMMENTTI-193
NUM-CARTENUM-SUI
NUM-SUITE1NUM-SUITE2
CATEGORIESCATCAT-R
CAT1CAT2CAT3CAT4
INSDATE
AAMMJJ
COMMENT
TI-192CODEINSCOMMENT
TI-191TYPEINSPAYSNUMEROFIN-DECHEANCE
AAMMJJ
COMMENT
TI-190TITRECOMMENT
TI-161COMMENT
TI-160CLASSESITUATIONINSMATRICULEUNITECOMMENT
TI-153CODEINSDATE
AAMMJJ
T1T2NN-T
NN-E[10-10] arrayNN-N
COMMENT
TI-152CODESIECLENN-N
NNIDENTCOMMENT
TI-151COMMENT
TI-150ACTERSINSCPCOMMENT
TI-140CODE
TI-132CODEINSDIPLTERRITCODADRSIECLENN-N
NNIDENTCOMMENT
TI-131CATINSPAYSDATE-DECH
AAMMJJ
COMMENT
TI-130INSSITUATIONCATEGDATE-DECH
AAMMJJ
COMMENT
TI-123CODEINSDATE-ENREG
DE-AADE-MMDE-JJ
SSNN-N
NNCODES-N
CODE-N[6-6] arrayNOTAIRE
NOT-INSNOT-IDENTITE
COMMENT
TI-122CODEINSCOMMENTAIRE
TI-121INSLIEU
TI-120CODE-ETACTERSINSCPSSNN-N
NNCODES
CODE[6-6] array41-51
INSC-DATEINSC-AAINSC-MMINSC-JJ
TRIB-DATETRIB-AATRIB-MMTRIB-JJ
TRIB-INSTRIB-CODE
COMMENTAIRE
TI-111REPRESJUSTIFCOMMENT
TI-110TYPENBR-NNINSCPSS1NN1SS2NN2ACTERSCOMMENTAIRE
COMMENT0COMMENT1-R
CODES1CODE1[6-6] array
COMMENT1COMMENT2-R
CODES2-1CODE2-1[6-6] array
CODES2-2CODE2-2[6-6] array
COMMENT2
TI-101DATE
AAMMJJ
CODECOMMENT
TI-100REG-SUPPLCPCOMMENT
TI-073CATEGNUMEROCOMMENT
TI-070CDEPRFSTATUTCOMMENT
TI-031NATACQUIINSCPOSPAYSCOMMENT
TI-028CODEDATE
AAMMJJ
COMMENT
TI-027COMMENT
TI-026COMMENT
TI-024COMMENT
TI-023ADRESSECOMMENT
TI-022CPOSTDIPPAYSADRESSECOMMENT
TI-021INSCPCOMMENT
TI-020CPCODE-RUENUMEROAPPARTSORTIE
SO-AASO-MMSO-JJ
RENUMCODE-ANCDATE-ANC
ANC-AAANC-MMANC-JJ
COMMENT
TI-019INSCPCODE-RUENUMEROAPPARTCOMMENT
TI-018PAYSADRESSECOMMENT
TI-013TYPE-MODIFDATE-MODIF
AAMMJJ
COMMENT
TI-012CDENOBLECOMMENT
TI-011COMMENT
TI-010USUELNOM
CODE[15-15] array
TI-008DATE
AAMMJJ
COMMENT
TI-007CODEDATE
AAMMJJ
COMMENT
TI-006PAYSLIEUCOMMENT
TI-005INSCOMMENT
TI-004CODECOMMENT
TI-003CODECOMMENT
TI-002SSNNCOMMENT
TI-001INSFUSIONADRCOMCOMMENTPROPRO-DATE
PRO-AAPRO-MMPRO-JJ
SUCCURSALESSUPERFICIENBR-PERSNUMINSTALLATION
INS-AAINS-MMINS-JJ
SUPPRESSIONSUP-AASUP-MMSUP-JJ
CESSATIONCES-AACES-MMCES-JJ
TERMINEFERMETURE
LUNDIMARDIMERCREDIJEUDIVENDREDISAMEDIDIMANCHE
COMMENTAIRE-1COMMENTAIRE-2COMMENTAIRE-3MAG-PRIVNUITid: SIE-SUC.SIEGE-SOCIAL
NUM
SITUATIONSTYPESALUBRESIT-DEBUT
SID-AASID-MMSID-JJ
SIT-FINSIF-AASIF-MMSIF-JJ
SAL-DEBUTSAD-AASAD-MMSAD-JJ
SAL-FINSAF-AASAF-MMSAF-JJ
COMMENT1COMMENT2id: NU-SIT.NUMEROS
SIT-DEBUT
SIGNALETIQUESSIECLENUMNAT
CONTROLAAMMJJNN
CDMAJDATE-MAJ
MAJ-AAMAJ-MMMAJ-JJ
LID-MAJACTE-NAISSLIEU-NAISSDATE-SANG
SA-AASA-MMSA-JJ
GR-SANGMENAGEPRESENCESSUPPRESSid: NUMNAT
SIEGE-SOCIALRC
RC-1RC-2RC-3
ABREGETVA
TVA-NUMTVA-CD
COMMENTAIRECOMMENTAIRE-1COMMENTAIRE-2COMMENTAIRE-3
DATE-MAJMAJ-AAMAJ-MMMAJ-JJ
LID-MAJRADIATION
RAD-AARAD-MMRAD-JJ
FAILLITEFAI-AAFAI-MMFAI-JJ
CESSATIONCES-AACES-MMCES-JJ
EXTRAITEXTRAIT-NOEXTRAIT-AAAA
id: RC
RUES-POPCPRUEDATE
MMJJ
LIBELLECLE-TRIHISTOCLE
CPRUE
id: RUECP
RUES-HORS-ENTITECPRUEDATE
AAMMJJ
LIBELLECLE-TRIHISTOCLE
CPRUE
id: RUECP
RAISON-SOCIALEDATE-DEBUT
DEB-AADEB-MMDEB-JJ
DATE-FINFIN-AAFIN-MMFIN-JJ
LIBELLEid: SIE-RS.SIEGE-SOCIAL
DATE-DEBUT
QUARTIERRUENUM-DEBNUM-FINTYPE
PERSONNES-HORS-ENTITENN
TESTAAMMJJNUM
CDNOMPRENOMSNUMEROINDEXCOMMENTid: NN
PERSONNES
at-lst-1: PERS-HORS-ENTITE.PERSONNES-HORS-ENTITEPERS-POP.SIGNALETIQUES
PADICOCLECLE-TRIINS-PILOTEFUSION
FU-AAFU-MMFU-JJ
LIBELLENATIONALITEJOLI-PAYSid: CLE
NUMEROSNUMEROAPPARTid: RP-NU.RUES-POP
APPARTNUMERO
LIBELLESRNCLELIBELLEid: CLE
INFORMATIONSCODECREATION
CR-AACR-MMCR-JJ
NUMEROSUPPRESSION
SU-AASU-MMSU-JJ
id: SI-IN.SIGNALETIQUESNUMEROCREATIONCODE
INFO
FEC-PROFESSIONSCODELIBELLEid: CODE
FE-LIBELLESCLELIBELLEid: CLE
ENSEIGNEDATE-DEBUT
DEB-AADEB-MMDEB-JJ
DATE-FINFIN-AAFIN-MMFIN-JJ
LIBELLEid: SUC-ENS.SUCCURSALES
DATE-DEBUT
CURATEURSTELEPHONENUMEROINDEXCOMMENTAIRE
CODES-POSTAUXCLEINSLIBELLECLE-TRIid: CLE
CODE-PROFESSIONDATE-DEBUT
DEB-AADEB-MMDEB-JJ
DATE-FINFIN-AAFIN-MMFIN-JJ
P-Aid: SUC-CPR.SUCCURSALES
DATE-DEBUT
ASSOCIATIONSDATE-DEBUT
DEB-AADEB-MMDEB-JJ
DATE-FINFIN-AAFIN-MMFIN-JJ
RCRC-1RC-2RC-3
COMMENTAIREid: SUC-AS.SUCCURSALES
DATE-DEBUT
ADRESSESENTREE
EN-AAEN-MMEN-JJ
SORTIESO-AASO-MMSO-JJ
id: NU-AD.NUMEROSENTREE
id': SI-AD.SIGNALETIQUESENTREE
ADRESSE-SUCCURSALEDATE-DEBUT
DEB-AADEB-MMDEB-JJ
DATE-FINFIN-AAFIN-MMFIN-JJ
NUMEROINDEXTELEPHONEid: SUC-ASU.SUCCURSALES
DATE-DEBUT
ADRESSE-SIEGE-SOCIALDATE-DEBUT
DEB-AADEB-MMDEB-JJ
DATE-FINFIN-AAFIN-MMFIN-JJ
NUMEROINDEXINDEX-TYPETELEPHONEADRESSEid: SIE-ASS.SIEGE-SOCIAL
DATE-DEBUT
CARTOGRAPHY & MODELINGmodeling – semantic model
5
121015091249# attributes
11012873# relations
105112112# entity types
Semantic model
Logical model
Physical model
MODELINGsynthesis
6
Source cartography & modeling
Source technical objects(DDL, programs, jcl,..)
DATABASE MIGRATIONThe general method
Target base re-engineering
Data migration
Programs adaptation
Source base model
Target base structures
Target base loaded
Application migrated
7
Relational modelDB design Semantic model
adding a primary ky to each table (good practise)
relations foreign keys
relations N-N intermediate table + foreign key
redefines separate tables + foreign keys
composed attributes decomposition
multivaluated attributes separated tables + foreign keys OR attributes list
name treatment : “-” “_”, reserved words
DATA BASE RE-ENGINEERING
8
DATABASE RE-ENGINEERING redefines
9
DATABASE RE-ENGINEERING transformations
10
Standard SQL or
DB2
Oracle
SQL Server
MySQL
PostgreSql
…
DATABASE RE_ENGINEERINGgeneration of target base descriptive objects
11
1841121015091249# attributes
144 (FK)11012873# relations
147105112112# entity type
Relational model
Semantic model
Logical model
Physical model
DATABASE RE-ENGINEERING synthesis
12
Source logical modelSource physical model
RECREC-KEY: char (5)REC-DATA: char (100)id: REC-KEY
RECREC-KEY: char (5)REC-DATA: compound (100)
REC-DATA1: char (20)REC-DATA2: char (30)FILLER: char (10)REC-DATA3: char (40)
id: REC-KEY
Target relational model
TABKEY: char (5)DATA1: char (20)DATA2: char (30)DATA3: char (40)id: KEY
The DB-MAIN transformation functions are maintaining the links between the models evolution steps
DATABASE RE-ENGINEERING mapping
13
Source cartography & modeling
Source technical objects(DDL, programs, jcl,..)
DATABASE MIGRATIONThe general method
Target base re-engineering
Data migration
Programs adaptation
Source base model
Target base structures
Target base loaded
Application migrated
14
Unloading model creation :
physical model
DB-key
“mvs” meta-properties
DATA MIGRATIONunloading
15
Processing components generation :
PSB
PSB compilation Jcl
Unloading Cobol program
programs compilation JCL
file creation and execution JCL
DATA MIGRATIONunloading
16
Data validation and transformations generation :
type of records description (attributes, lenght, format, …)
programs to validate the conformity of the source data to the target model ( null char…)
transcoding programs for EBCDIC to ASCII conversion, add EOL characters, …
execution scripts scheduling the opertions sequence
DATA MIGRATIONdata validation
17
Components generation for loading the target base :
CTL file for the loading utility of DB2, SQL*Loader, …
Shell scripts
DATA MIGRATION data loading
18
DATA MIGRATIONmigration validation – functional
counters
Generation of checksum onto source and target environments
19
DATA MIGRATIONdation de la migration – data validation – content comparison
process
20
DATA MIGRATION migration validation – content
comparison
Common model
21
DATA MIGRATION migration valiation – content comparison
22
DATA MIGRATION migration validation – content
comparison
23
Source cartography & modeling
Source technical objects(DDL, programs, jcl,..)
DATABASE MIGRATIONThe general method
Target base re-engineering
Data migration
Programs adaptation
Source base model
Target base structures
Target base loaded
Application migrated
24
Modification of the data and files “declarations” Generated code insert Replacement of the DML verbs by calls to the acces modules
COBOLProgram
RelationalDB
IMSDB
WRXXX.cob WRYYY.cob WRZZZ.cob
COBOLProgram’
Transformation
FETCHCALL
CALL
DELETECALL
INSERT
UPDATE
CALL “CBLTDLI” USING …
EXEC DLI … USING …
PROGRAMS ADAPTATION access modules generation
25
Access modules generation ( in this case C++) Language dependant on the target environment
(cobol, java, …)
PROGRAMS ADAPTATION access modules generation
26
Some DML verbs are not automatically resolved :
ex: within IMS
SSA not qualified : (GU, GN, GNP without segment name)PROCOPT parameter in the PSB
within IDS2FIND within AREA without record name
PROGRAMS ADAPTATION access modules generation
27
FIND FIRST USING ART-KEYB.
…
FIND NEXT RONTB WITHIN DUMMY-RONTB
EVALUATE DB-STATUS
WHEN "0000000"
GET RONTB
...
**ReVeR: FIND FIRST USING ART-KEYB
MOVE 390000 TO REC-CALL-ID OF WR-LOG
PERFORM WR-FFXU-ART-KEYB
…
**ReVeR: FIND NEXT RONTB WITHIN DUMMY-RONTB
MOVE 37060000 TO REC-CALL-ID OF WR-LOG
PERFORM WR-FNRW-RONTB-DUMMY-RONTB
EVALUATE DB-STATUS
WHEN "0000000"
**ReVeR: GET RONTB
MOVE 37070000 TO REC-CALL-ID OF WR-LOG
PERFORM WR-GR-RONTB
...
PROGRAMS ADAPTATION programs source code transformation