Course Duration Detai*s Unit : !ntrodu"tion Introduction =- Minutes (xercise ,D Introduction " Minutes Unit #: T$e Migration Pro%e"t The Migration Project =- Minutes (xercise 2D The Migration Project " Minutes Unit &: System Co'y Met$ods Syste Co!y Methods '- Minutes (xercise 'D Syste Co!y Methods " Minutes 2-,2 ; 2-,2 S$P $G. $ll rights reserved. Course Overview TADM70
ix
Unit ): SAP Migration Too*s S$P Migration Tools #" Minutes (xercise #D S$P Migration Tools ,- Minutes Unit (: ,&S-TUPSAP!/ST &'S(T)P*S$PI+ST ," Minutes (xercise "D &'S(T)P*S$PI+ST " Minutes Unit +: Te"$ni"a* Ba"1ground 2now*edge ata Classes /T$0$&Ts1 '- Minutes Miscellaneous 0acground In3oration ," Minutes (xercise %D Technical 0acground Eno?ledge ,- Minutes Unit 7: ,&3OAD 4 53OAD 6i*es &'4O$ 5iles =- Minutes 64O$ 5iles ," Minutes (xercise :D &'4O$ 64O$ 5iles /Part I1 2- Minutes (xercise 8D &'4O$ 64O$ 5iles /Part II@ Fands7On (xercise1 2" Minutes Unit : Advan"ed Migration Te"$ni8ues Tie Consuing Ste!s during (x!ort * I!ort ,- Minutes MIGMO+ 7 Migration Monitor 3or &'4O$ ," Minutes MIGTIM( 6MIGTIM( 7 Tie $naly9er ,- Minutes Table S!litting 3or &'4O$ ," Minutes ISTMO+ 7 istribution Monitor 3or &'4O$ " Minutes 6MIGMO+ 7 Migration Monitor 3or 64O$ ,- Minutes Table S!litting 3or 64O$ ,- Minutes (xercise =D $dvanced Migration Techniues ," Minutes Unit : Per9orming t$e Migration Per3oring an $0$P Syste Migration '- Minutes Per3oring a 6$<$ Syste Migration ," Minutes (xercise ,-D Per3oring the Migration ,- Minutes Unit 0: Trou*es$ooting Troubleshooting '- Minutes (xercise ,,D Troubleshooting ,- Minutes Unit : S'e"ia* Pro%e"ts S!ecial Projects ," Minutes (xercise ,2D S!ecial Projects " Minutes
Unit 1 !ntrodu"tion Unit Overview Ahat is a hoogeneous or heterogeneous syste co!y@ ?hich tools are available@ ?hat is the Going 4ive OS*0 Migration Chec Service@ and 3ro ?here to get in3oration about the igration !rocedure.
Course Duration Detai*s Unit : !ntrodu"tion Introduction =- Minutes (xercise ,D Introduction " Minutes Unit #: T$e Migration Pro%e"t The Migration Project =- Minutes (xercise 2D The Migration Project " Minutes Unit &: System Co'y Met$ods Syste Co!y Methods '- Minutes (xercise 'D Syste Co!y Methods " Minutes 2-,2 ; 2-,2 S$P $G. $ll rights reserved. Course Overview TADM70
ix
Unit ): SAP Migration Too*s S$P Migration Tools #" Minutes (xercise #D S$P Migration Tools ,- Minutes Unit (: ,&S-TUPSAP!/ST &'S(T)P*S$PI+ST ," Minutes (xercise "D &'S(T)P*S$PI+ST " Minutes Unit +: Te"$ni"a* Ba"1ground 2now*edge ata Classes /T$0$&Ts1 '- Minutes Miscellaneous 0acground In3oration ," Minutes (xercise %D Technical 0acground Eno?ledge ,- Minutes Unit 7: ,&3OAD 4 53OAD 6i*es &'4O$ 5iles =- Minutes 64O$ 5iles ," Minutes (xercise :D &'4O$ 64O$ 5iles /Part I1 2- Minutes (xercise 8D &'4O$ 64O$ 5iles /Part II@ Fands7On (xercise1 2" Minutes Unit : Advan"ed Migration Te"$ni8ues Tie Consuing Ste!s during (x!ort * I!ort ,- Minutes MIGMO+ 7 Migration Monitor 3or &'4O$ ," Minutes MIGTIM( 6MIGTIM( 7 Tie $naly9er ,- Minutes Table S!litting 3or &'4O$ ," Minutes ISTMO+ 7 istribution Monitor 3or &'4O$ " Minutes 6MIGMO+ 7 Migration Monitor 3or 64O$ ,- Minutes Table S!litting 3or 64O$ ,- Minutes (xercise =D $dvanced Migration Techniues ," Minutes Unit : Per9orming t$e Migration Per3oring an $0$P Syste Migration '- Minutes Per3oring a 6$<$ Syste Migration ," Minutes (xercise ,-D Per3oring the Migration ,- Minutes Unit 0: Trou*es$ooting Troubleshooting '- Minutes (xercise ,,D Troubleshooting ,- Minutes Unit : S'e"ia* Pro%e"ts S!ecial Projects ," Minutes (xercise ,2D S!ecial Projects " Minutes
Unit 1 !ntrodu"tion Unit Overview Ahat is a hoogeneous or heterogeneous syste co!y@ ?hich tools are available@ ?hat is the Going 4ive OS*0 Migration Chec Service@ and 3ro ?here to get in3oration about the igration !rocedure.
3esson Overview 3esson O%e"tives $3ter co!leting co!leting this this lesson@ you you ?ill be able toD > istinguish bet?een an S$P hoogeneous syste co!y and an S$P OS*0 Migration > (stiate the !robles involved ?ith a syste co!y or igration > )nderstand the 3unctions o3 the S$P OS*0 Migration Chec
Business -xam'*e ou ?ant to understand ?hich syste co!y * igration tools are !rovided by S$P and ?hat is the di33erence bet?een a hoogeneous and a heterogeneous syste co!y. 5urtherore you are interested in the sco!e o3 the OS*0 Migration Chec service.
6igure : De9inition o9 Terms
$s the naing naing o3 S$P S$P systes systes is changing changing 3reuently 3reuently@@ the ter HS$P Syste is used throughout throughout the the course aterial as a synony 3or every S$P syste ty!e@ ?hich can be co!ied ?ith &'4O$ or 64O$. (x!lain the di33erence bet?een +etAeaver :.-- and :.-2 /+etAeaver (nhanceent Pacage 21. Please noteD I!roved 3unctionality ?as o3ten introduced ?ith ne? S$P Eernel versions. I3 the ne? S$P Eernel ?as bac?ard co!atible to older S$P releases@ the ne? 3unctionality ?as available 3or the older releases as ?ell. (xa!leD a S$P Aeb $S %.2- running on S$P Eernel %.#- can ae use o3 &'4O$ %.#- 3eatures. Throughout the S$P ocuentation and S$P +otes@ the ter +etAeaver J-#S and +etAeaver :.-- is used in a ixed ?ay@ eaning the sae. The initial S$P service o33ering 3or OS*0 Migrations ?as originally called HS$P OS*0 Migration Service@ but ?as renaed to HS$P OS*0 Migration Chec Service. Today@ the ter HS$P OS*0 Migration Service is used 3or S$P 3ix !rice !rojects@ in ?hich S$P consultants igrate custoer systes to a di33erent database and*or o!erating syste@ ainly 3ro reote.
6igure #: Co'ying a SAP System
The only su!!orted ?ay to !er3or heterogeneous syste co!ies is the &'4O$*64O$ ethod. (xce!tions are S$P0@ and 02 )0@ ?ere OS igrations ?ith database eans are !ossible. (very unsu!!orted syste
co!y can lead to billed S$P su!!ort 3or all !robles ?hich ?ere caused by the non7su!!orted ethod. Mae clear that the 3aous Oracle (KP*IMP is not su!!orted by S$P anyore. (very (KP*IMP igration ?ill be done on o?n risL Migrated S$P Systes are su!!orted ?ithout regard ?hich ethod ?as used. I3 a syste !roble is related to a non7su!!orted igration ethod a3ter?ards@ the custoer can be charged 3or the S$P 3ixing e33orts. $ client trans!ort is not a true S$P Syste co!y or igration. The co!y 3unction cannot trans!ort all o3 the syste settings and data to the target syste@ nor is it intended to do so. This a!!lies !articularly to !roduction systes. Client trans!orts have no eaning to 6$<$7based S$P Systes. 5or 3urther re3erence see S$P +ote =%8%% H0 co!y by client trans!ort not su!!orted. atabases can be du!licated by restoring a bacu!. In ost cases@ this is the 3astest and easiest ?ay to !er3or a hoogeneous syste co!y. Soe databases even allo? a database bacu! to be restored in a di33erent o!erating syste !lat3or /OS igration1. +oteD 'rd !arty database tools and ethods suitable 3or s?itching the o!erating syste /OS igration1 or even the database /0 igration1 are not su!!orted by S$P@ i3 not ex!licitly entioned in S$P docuents or S$P +otes. +evertheless@ the usage o3 unsu!!orted tools or ethods is not 3orbidden in general /the tool and ethod su!!ort ust be !rovided by the 'rd !arty organi9ation in such a case1. S$P cannot be ade res!onsible 3or erroneous results. $3ter the syste co!y@ the igrated S$P syste is still under aintenance@ but e33orts to 3ix !robles caused by the unsu!!orted tool or ethod@ can and ?ill be charged to the custoerL S$P Syste co!y tools can be used 3or syste co!ies or igrations on any S$P su!!orted o!erating syste and database cobination as o3 &*' &elease '.-. Since +etAeaver B-# /%.#-1 6$<$ based systes can also be co!ied or igrated to any S$P su!!orted o!erating syste and database cobination by S$P Syste co!y tools.
6igure &: SAP System Co'y Migration Too*s ;<
The S$P Syste co!y tools are used 3or hoogeneous and heterogeneous syste co!ies. S$P Syste co!y tools used 3or heterogeneous syste co!ies are called S$P Migration Tools. In the reainder o3 this docuent@ the the ter S$P Migration Tools ?ill be used. The essage isD There is no tool di33erence bet?een hoogeneous or heterogeneous syste co!ies@ only the !rocedure di33ersL Give a short overvie? o3 the tool !ur!oses ?ithout going into details.
6igure ): SAP System Co'y Too*s Migration Too*s ;#<
0A 3unctionality is !art o3 the $0$P Aeb $S %.#- standard. Since then@ every S$P Syste can contain non7 standard objectsL S!ecial !ost7 and !re7igration activities are reuired 3or the. The generated 4 stateents o3 SMIG&C&($T(4 are used to tell &'4O$ ho? to create non7 standard objects in the target database. The &S0APOSTMIG&$TIO+ !rogra ada!ts the non7standard objects to the reuireents o3 the target syste. The re!orts SMIG&C&($T(4 and &S0APOSTMIG&$TIO+ are reuired since 0A '.-@ and 3or all systes based on 0A 3unctionality /i.e. SCM*$PO1. They are also andatory 3or +etAeaver B-# /Aeb $S %.#-1 and later. 64O$ is available since +etAeaver B-# /Aeb $S %.#-1. (arlier versions o3 the 6$<$ Aeb $S /i.e. Aeb $S %.2-1 did not store data in a database. 6SIN(CF(CE is available since +etAeaver -#S * :.--. 64O$ and 6SIN(CF(CE are 6$<$ !rogras ?hich are called by S$PI+ST.
6igure (: Su''ort Too*s 9or ABAP System Co'ies ;<
The P$CE$G( SP4ITT(& is available in a 6$<$ and in a Perl i!leentation. &'S(T)P is using the Perl P$CE$G( SP4ITT(&. S$PI+ST !rovides the Perl and 6$<$ P$CE$G( SP4ITT(& or the 6$<$ version only /release de!endent1. T?o T$04( SP4ITT(&s existD One is database inde!endent and is called &'T$@ the other is a P4*S4 scri!t i!leentation and is available 3or Oracle only. Table s!litting is su!!orted since &'4O$ %.#- in cobination ?ith MIGMO+. MIGCF(CE is i!leented in 6$<$. (x!lain that the Migration Su!!ort Tools are intended to i!rove the ex!ort*i!ort !rocedure. escribe the !ur!ose o3 MIGMO+ and the signal 3iles 3or a !arallel ex!ort*i!ort.
6igure +: Su''ort Too*s 9or ABAP System Co'ies ;#<
MIGMO+ and MIGTIM( are i!leented in 6$<$. The 6$<$ based tools are release inde!endent and can be utili9ed on any S$P !lat3or ?hich su!!orts the reuired 6$<$ version. The istribution Monitor can be used i3 the &'4O$ caused CP) load should be distributed over several a!!lication servers. This can i!rove the database server !er3orance signi3icantly. It is o3ten seen in )nicode conversion scenarios. +orally the istribution Monitor aes sense only@ i3 ore than one a!!lication server is !lanned to use. It ?as develo!ed to su!!ort syste co!ies based on Aeb $S %.x and later.
6igure 7: Su''ort Too*s 9or 5A=A System Co'ies
6$<$ Migration Su!!ort Tools are very siilar to the $0$P versions@ but are available 3ro a certain +etAeaver version only. 6PEGCT4 /also called 6SP4ITT(&1 ?as develo!ed to reduce the ex!ort*i!ort run7tie 3or large 6$<$ systes. $ single 64O$ !rocess ex!orting the ?hole database /lie i!leented in !revious S$PI+ST versions1 ?as o3ten too slo? as soon as the database ?as exceeding a certain si9e@ so it ?as necessary to !rovide !acage and table s!litting 3or 64O$ as 3or &'4O$. 6MIGMO+ and 6MIGTIM( do o33er a siilar 3unctionality lie MIGMO+ and MIGTIM(.
6igure : Possi*e /egative Conse8uen"es o9 a System Co'y
The data o3 a !roductive syste is one o3 the ost valuable things the custoer o?ns. Ahile doing a syste co!y@ everything ust be done to !revent loss o3 data or data corru!tions. The slide sho?s the reasons ?hy S$P develo!ed the OS*0 igration chec and the OS*0 igration certi3ication. The goal o3 this training is to !revent !robles@ such as those entioned above@ by !roviding in7de!th no?ledge about each S$P Syste co!y ste! and the tools ?hich are involved. 5ollo?ing the S$P guidelines ensures a sooth igration !roject.
6igure : De9inition: SAP >omogeneous System Co'y
The !oint here is that &'S(T)P and S$PI+ST ?ill only be able to install the target syste and loading data into it@ i3 the o!erating syste and the database are su!!orted by the tools. In 3act &'4O$*64O$ can i!ort in any S$P released OS*0 cobination@ but &'S(T)P*S$PI+ST can do this only@ i3 they are con3igured 3or
that. 5or the target syste@ the sae o!erating syste can also ean an S$P certi3ied successor lie Aindo?s 2--' * Aindo?s 2--8. e!ending on the ethod used 3or executing the hoogeneous syste co!y@ it ight be necessary to u!grade the database or the o!erating syste o3 the source syste 3irst. On older S$P Syste releases@ even an u!grade ight be necessary. This can ha!!en i3 the target !lat3or reuires a database or o!erating syste version that ?as not bac?ard released 3or the S$P Syste version that is to be co!ied@ etc. +e? hard?are on the target syste ight be su!!orted by the latest o!erating syste and database version only. Aith or ?ithout assistance 3ro a consultant@ custoers can execute a hoogeneous syste co!y by theselves. I3 you !lan to use a ne? hard?are ty!e or ae ajor ex!ansions to the hard?are /such as changing the dis con3iguration1@ ?e recoend involving the hard?are !artner as ?ell.
6igure 0: ,easons 9or >omogeneous System Co'ies
O3 course all the entioned !oints are also valid 3or heterogeneous syste co!ies but are not ajor reasonsL The ter MCO is used 3or S$P installations ?here MQulti!le CQo!onents are stored in OQne Qatabase. I3 a syste ?as installed ?ith an S$P reserved S$PSI@ a hoogeneous syste co!y can be used to change the S$PSI. To see i3 a change is reuired@ chec ?ith S$P. $ll the entioned reasons above are also a!!licable to heterogeneous syste co!ies.
6igure : De9inition: SAP >eterogeneous System Co'y
This slide loos very uch the sae as 3or hoogeneous syste co!ies. The ajor di33erence is ?ho can do the syste co!y and the need 3or a S$P OS*0 Migration Service. Stress the 3act that even i3 no !roductive syste is involved@ the igration ust be done 3ro a certi3ied OS*0 igration consultant or a custoer e!loyee ?ho has a certi3ication alsoL $n OS*0 igration is a co!lex !rocess. Consultants are strongly advised to do all they can to inii9e the ris ?ith regard to the availability and !er3orance o3 a !roduction S$P Syste. e!ending on the ethod used 3or executing the heterogeneous syste co!y@ it ight be necessary to u!grade the database or the o!erating syste o3 the source syste 3irst. On older S$P Syste releases@ even an u!grade ight be necessary. This can ha!!en i3 the target !lat3or reuires a database or o!erating syste version that ?as not bac?ard released 3or the S$P Syste version that is to be igrated@ etc.
+e? hard?are on the target syste ight be su!!orted by the latest o!erating syste and database version only. The decisive 3actors 3or !er3orance in a S$P Syste are the !araeter settings in the database@ the o!erating syste@ and the S$P Syste itsel3 /?hich de!ends on the o!erating syste and the database syste1. uring an OS*0 igration@ the old settings cannot si!ly be taen unchanged. eterining the ne? !araeter values reuires an iterative !rocess@ during ?hich the availability o3 the igrated syste is restricted.
6igure #: Common >eterogeneous System Co'y ,easons
Soe o3 the entioned !oints are also valid 3or hoogeneous syste co!ies but are not ajor reasonsL The above entioned !oints are the !riary reasons 3or changing an o!erating syste or database@ but the reasons 3or hoogeneous syste co!ies also a!!ly. The reasons also !artially a!!ly to hoogeneous syste co!ies.
6igure &: 6re8uent*y used SAP Terms
$s the ter igration@ syste co!y@ etc. are used in any ix throughout the S$P docuentation@ this table should give a clear ans?er ?hich ter belongs to ?hich syste co!y ty!e. The above table sho?s ?hich ter is being used 3or S$P Syste co!ies. 5or exa!le@ ?hen changing the o!erating syste@ this is called an OS igration and is a heterogeneous syste co!y. Generally@ the ter heterogeneous syste co!y i!lies that it is soe ind o3 OS and*or 0 igration. The ter HS$P Syste co!y is used in a ore uns!eci3ic ?ay.
6igure ): >omogeneous or >eterogeneous System Co'y?
The table tries to give an overvie? ?hich syste co!y ty!es are still hoogeneous even i3 the loo heterogeneous. (x!lain that a syste co!y is hoogeneous /sae database ty!e ex!ected 3or all involved systes1 i3 the o!erating syste is called the sae on the source and target@ i.e. Solaris /SP$&C1 R Solaris /x8%1@ 4inux /x8%1 R 4inux /I$%#1. Please stress the 3act that the ter hoogeneous syste co!y does not autoatically ean@ bacu! restores can be used to co!y the databaseL The table above is only valid ?hen using &'4O$ or 64O$. Foogeneous syste co!ies using 0acu!*&estore ?ill reuire the sae database version on source and target syste@ or ust be u!graded a3ter the syste co!y. /ote: I3 the hard?are architecture in a syste co!y does change@ but the o!erating syste ty!e stays the sae@ it is a hoogenous syste co!y. In other ?ords@ i3 the o!erating syste is called the sae on source and target@ it is a hoogeneous syste co!y. This does not autoatically i!ly the !ossibility o3 a bacu!*restore to co!y the database /i.e. syste co!y 3ro Solaris SP$&C to Solaris Intel1. It only !oints out@ S$P treats it lie a hoogeneous syste co!y and no HS$P OS*0 Migration Chec is reuired. S$P assues the o!erating syste behavior ?ill be the sae ?ithout regards o3 the underlying !lat3or. Please chec the database docuentation 3or details on available syste co!y !rocedures. 5urther exa!les areD FP7)K P$7&ISC to FP7)K I$%#@ 4I+)K K8% to 4I+)K POA(&@ etc.
6igure (: SAP OSDB Migration C$e"1 ;<
The S$P OS*0 Migration Chec is al?ays 3ee based. e!ending on the custoer aintenance contract@ not yet used services can be converted into an OS*0 Migration Chec service. The S$P igrations tools are al?ays 3or 3ree as the sae tools are used 3or the hoogeneous syste co!y or the standard installation.
The cost 3or the S$P OS*0 Migration Chec is s!eci3ic to the custoer location and ay di33er 3ro country to country. The S$P OS*0 Migration Chec ?ill be delivered as a reote service. In the H&eote Project $udit@ S$P checs the OS*0 igration !roject !lanning. The reuired tools 3or hoogeneous or heterogeneous syste co!ies /installation so3t?are1 are !rovided by S$P to custoers 3ree o3 charge. The so3t?are can be do?nloaded 3ro the S$P Service Maret!lace. I3 there is a discussion regardingD Ahy should a custoer !ay a lot o3 oney 3or a service that sees to be nothing else than a standard Going4ive service. Then the ans?er is@ the cost o3 the OS*0 Migrations Chec service is sall co!ared to the costs ?hich are caused by consultancy@ testing e33orts /by o?n e!loyees1@ and hard?are * so3t?are license costs o3 the ?hole !roject. (very custoer ust order the OS*0 Migration Chec service there is no exce!tionL Fard?are vendors are o3ten bundle ne? hard?are ?ith a igration. In this case the custoer ?ill only !ay a single !rice 3or the ne? syste and anything else is done 3ro the hard?are vendor. This hides the costs o3 an OS*0 igration service 3ro the custoer.
6igure +: SAP OSDB Migration C$e"1 ;#<
Point out that the S$P OS*0 Migration Chec service ensures the !roject co!liance ?ith the S$P heterogeneous syste co!y !rocedure@ and checs the !er3orance. S$P ?ill not veri3y the syste against data loss or corru!tionsL
6igure 7: !n9ormation on t$e SAP OSDB Migration
Several sources exist to obtain in3oration about OS*0 igrations.
Demonstration: System Demo Pur'ose 4ogon to the S$P Service Maret!lace. ,. Sho? the alias Hosdbigration and Hsysteco!y. 2. (x!lain available ites /5$s@ OS*0 Migration Service docuents and so on1.
6a"i*itated Dis"ussion Ahen ex!laining the di33erent ethods to co!y an S$P Syste /SlideD Co!ying a S$P Syste1 the students should be asedD Ahat is the tas o3 a client trans!ort and ?hich liitations a!!ly@ co!ared to a syste co!y
-xer"ise : !ntrodu"tion (xercise urationD " Minutes
-xer"ise O%e"tives $3ter co!leting this exercise@ you ?ill be able toD > i33erentiate bet?een hoogeneous and heterogeneous syste co!ies and to no? the !rocedural conseuences 3or a igration !roject.
Business -xam'*e In custoer !rojects@ you ust no? ?hether a syste ove or a database change is a hoogeneous or heterogeneous syste co!y and in ?hich case it is necessary to order a S$P OS*0 Migration Chec Service.
So*ution : !ntrodu"tion Tas1 : $ custoer !lans to invest in a ne? and ore !o?er3ul hard?are 3or his $0$P7based S$P !roduction syste /no 6$<$ Aeb $S installed1. $s the o!erating syste and database version are not u!7to7date@ he also ?ants to change to the latest so3t?are versions in a single ste! ?hile doing the syste ove. Current syste con3igurationD Oracle ,-.2@ $IK %., Planned syste con3igurationD Oracle ,,.2@ $IK :., ,. Is the !lanned syste ove a hoogeneous syste co!y@ a 0 igration or an OS igration escribe your solutionL a1 The syste ove ?ill be a hoogeneous syste co!y. +either the database nor the o!erating syste ?ill be changed. uring a syste co!y@ an u!grade to a ne? database or o!erating syste so3t?are version is not a !roble@ as long as the o!erating syste and database cobinations are su!!orted by the res!ective S$P Syste release and S$P ernel version. 2. I3 the S$P Syste co!y tool &'4O$ is used@ ?ill it be necessary to !er3or an o!erating syste or database u!grade a3ter the ove escribe your solutionL a1 Provided the 3act that the installation so3t?are is able to install on the target o!erating syste version and also su!!orts the installation o3 target database release directly@ no additional OS*0 so3t?are u!grade ?ill be necessary a3ter the &'4O$ i!ort. In the case that the ne? target database is not su!!orted by the installation so3t?are@ a database u!grade ?ill have to be done a3ter the syste co!y.
Tas1 #: $n S$P i!leentation !roject ust change the database syste be3ore going into !roduction@ because o3 strategic custoer decisions. The custoer syste con3iguration ?as setu! as a standard three7syste landsca!e /develo!ent@ uality assurance@ !roduction1. (ach syste is con3igured as $0$P Aeb $S ?ith 6$<$ $dd7In. ,. Is it necessary to order a S$P OS*0 Migration Chec 3or the !lanned database change a1 a1 The syste landsca!e contains a !re7!roduction syste only. In this case@ no OS*0 Migration Chec service is necessary@ as its intention is to be used 3or !roductive systes only. 2. $ccording the S$P Syste co!y rules@ ?ho ust do the syste co!ies a1 The change o3 a database involves a heterogeneous syste co!y@ ?hich ust be done 3ro soeone ?ho is certi3ied 3or OS*0 igrations. The 3act that the systes are not !roductive is regardless.
Unit 2 T$e Migration Pro%e"t Business -xam'*e ou ?ant to setu! an OS*0 Migration !roject. ou need to no? ?hich ste!s are reuired and ?hat can be a reasonable tie line to 3inish the tass.
6igure : Pro%e"t S"$edu*e o9 an OSDB Migration ;<
$n introductory !hase a!!lies to ne? S$P !roducts only. I3 entioned in a syste co!y S$P +ote@ custoers ust register to the introductory !hase be3ore starting the OS*0 Migration. In such a case@ it ?as decided that this !articular !roduct can only be igrated under S$PBs control /!roviding direct su!!ort 3ro S$P develo!ent in case o3 !robles1. )sually the introductory !hase is liited to 3e? onths only. Custoer !rojects ?ith reuired S$P involveent can be i.e. HPilot Projects or a HMinii9ed o?ntie Service /MS1 3or very large databases. The standard OS*0 igration !rocedure a!!lies also to heterogeneous syste co!ies o3 $0$P Systes in HIntroductory Phase Projects or HPilot Projects. The !roject ty!e s!eci3ic activities can be seen as soething over7and7above a standard igration !rocedure. Give a brie3 ex!lanation on Introductory Phase Projects. (x!lain that soe ind o3 !rojects can only be done ?ith S$P involveent. (xa!leD Minii9e o?ntie !rojects /MS1.
6igure : Pro%e"t S"$edu*e o9 an OSDB Migration ;#<
Pre!are 3or the HS$P OS*0 Migration Chec $nalysis Session as soon as !ossible. It runs on the !roductive S$P Syste /the source syste1 and ust be !er3ored be3ore the 3inal igration. Migration test7runs are iterative !rocesses that are used to 3ind the o!tial con3iguration 3or the target syste. In soe cases@ one test7run su33ices@ but several re!eated runs are reuired in other cases. The sae !roject !rocedure a!!lies to both the o!erating syste igration and the database igration. Test and 3inal igrations are andatory 3or !roductive S$P Systes only. Most other S$P Systes lie develo!ent@ test or uality assurance are less critical. I3 the 3irst test7run 3or those systes sho?s !ositive results@ an additional igration7run /3inal igration1 is not necessary. +evertheless@ the schedule de3ined in the HS$P OS*0 Migration Chec Project $udit uestionnaire ust re3lect test7runs and 3inal igrations 3or all S$P Systes o3 the custoer landsca!e. The HS$P OS*0 Migration Chec $nalysis Session ?ill be !er3ored on the !roduction igration source syste and the HS$P OS*0 Migration Chec
6igure #0: Time S"$edu*e 9or Produ"tive SAP Systems
ou should begin !lanning a igration early. I3 you !rocure ne? hard?are@ there ay be long delivery ties. The tie ?hich is necessary to do serious tests varies 3ro syste to syste. $llo? at least t?o ?eesL S$P recoends to ?ait ?ith a S$P release u!grade on a igrated !roductive syste 3or % ?eesL 5irst get the syste stable and then do the u!gradeL S$P ?ill schedule the HS$P OS*0 Migration Chec $nalysis Session only i3 the H&eote Project $udit Session ?as co!leted success3ully. Stress the need to have at least t?o ?ees bet?een the test and the 3inal igration o3 a !roductive syste. This is not only 3or testing !ur!osesU it also !revents too uch tie !ressure in the !roject. The recoendation@ not to start an u!grade be3ore % ?ees a3ter the 3inal igration@ should ae sure that there is enough tie to stabili9e the syste.
6igure #: Migration Partners
The above reuireents re3er to the technical i!leentation o3 the igration. $!!lication7s!eci3ic tests reuire no?ledge o3 the a!!lications. $0$P ictionary no?ledge is reuired 3or Syste co!ies based on &'4O$. )nderstand conseuences o3 issing objects on database and*or S$P $0$P ictionary. $s there are o3ten situations@ ?here dictionary inconsistencies are a !roble@ the igration !artner should be able to recogni9e and to solve the !roble. (x!lain transaction 0-2D iagnostic R Missing Tables and Indexes /or in older versions o3 0-2D $0$P IC*0 IC consistency chec1. Point out that there is no tool available to veri3y@ that all tables in the V.ST& 3iles do exist on 0. $ ,--W chec ?ould be a co!arison o3 all table naes in the V.ST& 3iles ?ith the database catalog@ but nothing lie this exists. $lso it is recoended to do a test igration in the o33ice be3ore doing it the 3irst tie at custoer side. S$P cannot control ?hat the igration !artner and the custoer are doing. 0ecause o3 this@ the res!onsibility 3or the ?hole !roject lies on the shoulders o3 the igration !artner and the custoer. S$P is res!onsible 3or the !ro!er 3unctionality o3 the igration tools only. $ ethod to veri3y@ that all tables in the &'4O$ structure 3iles can be ex!orted ?ithout !roble@ ?ould be a co!are o3 the table naes 3ro the structure 3ile against the ones 3ro the database catalog. The ore easy ?ay is a test ex!ort. )se3ul S$P +otes areD > ='8" Ahat to do ?ith CM tables /conversion tables1 > ''8,# Aarnings o3 inconsistencies bet?een database &*' IC /0-21
6igure ##: Contra"tua* Arrangements
atabase or o!erating syste s!eci3ic areas in the S$P Service Maret!lace ay not be visible to the custoer unless the contractual agreeent regarding the ne? con3iguration is 3inali9ed ?ith S$P. The HS$P OS*0 Migration Chec is andatory 3or each !roductive syste@ but not 3or develo!ent@ uality assurance@ or test systes. $ !roductive syste can be a stand7alone $0$P syste@ but it can also be an $0$P Aeb $S ?ith an 6$<$ $dd7in@ or an $0$P Aeb $S ?ith a 6$<$ Aeb $S@ each using its o?n database. The services are checing the !araeters 3or $0$P and 6$<$7based systes. $ heterogeneous syste co!y o3 a stand7alone 6$<$ syste eans that no $0$P syste is co!ied in the igration !roject. (x!lain that the OS*0 Migration service is needed 3or every !roductive syste in the igrated landsca!eL
6igure #&: >ardware Pro"urement
5or sa3ety reasons@ an OS*0 igration o3 !roductive S$P Systes ust al?ays be !er3ored in a se!arate syste. 5or this reason@ should serious !robles occur@ you can al?ays s?itch bac to the old syste. &etaining the old syste also si!li3ies error analysis.
Ahen you change the database@ consider the ne? dis layout. (ach database has its o?n s!eci3ic hard?are reuireent. 5ro a !er3orance !oint o3 vie?@ it ight not be su33icient to !rovide a du!licate o3 the current syste. Per3oring the igration o3 a !roductive syste on a se!arate hard?are gives additional sa3ety in case o3 !robles@ as there is al?ays a 3all bac syste. i33erent syste behavior bet?een source and target syste can be easily checed.
6igure #): Migrating a SAP System 3ands"a'e
(ach !roductive syste ust be igrated t?ice /test and 3inal igration1L evelo!ent@ test und uality assurance systes are less critical and can o3ten be igrated in a single ste!. In any cases@ the igration o3 a uality assurance syste is not necessary@ because it can be co!ied 3ro the igrated !roduction syste. (x!lain that there is no right or ?rong order@ as long as the !roduction syste is igrated t?ice.
6igure #(: SAP OSDB Migration C$e"1 Pro%e"t Audit
The HS$P OS*0 Migration Chec Project $udit uestionnaire ?ill autoatically be sent 3ro S$P to the custoer@ as soon as the HS$P OS*0 Migration Chec ?as reuested. The igration !roject tie schedule should be created in consultation ?ith the igration !artner. 5or sa3ety reasons@ S$P cannot a!!rove any igration o3 a !roduction S$P Syste in ?hich the source syste is deleted a3ter the data ex!ort in order to set u! the target database. Mae sure to include the dates 3or test and 3inal igration ste!s o3 every S$P Syste@ not only 3or !roductive systes. The igration !roject schedule ust re3lect correct estiates o3 the co!lexity o3 the conversion@ its tie schedule@ and !lanned e33ort. S$P checs 3or the 3ollo?ingD > Is the igration !artner technology consultant S$P7certi3ied 3or igrations > oes the igration !roject schedule eet the igration reuireents > Technical 3easibility. $re hard?are@ o!erating syste@ S$P Syste@ and database versions co!atible ?ith the igration tools@ and is this cobination su!!orted 3or the target syste The igration o3 an S$P Syste is a co!lex undertaing that can result in unex!ected !robles. 5or this reason@ it is essential that S$P has reote access to the igrated syste. &eote access is also a !rereuisite 3or the HS$P OS*0 Migration Chec.
This chec veri3ies that the igration !artner is certi3ied and the tie schedule is a!!ro!riate /t?o ?ees bet?een test and 3inal igration in case o3 a !roduction syste1. It is also asing 3or technical details o3 the source and target systes.
6igure #+: SAP Migration Too*s
The igrations tools ust 3it to the used S$P release and ernel. Only 3or those S$P installations that are running old database or o!erating systes /?hich are no longer su!!orted by current installation so3t?are #.% and belo?1@ it ay be necessary to order the Migration C set. Most uestions regarding tool versions are ans?ered in the S$P Syste co!y notes and anuals. $lso chec the HProduct $vailability Matrix /P$M1 in the S$P Service Maret!lace. Please o!en a call at the S$P Service Maret!lace i3 in doubt about ?hich tools to use in certain so3t?are cobinations. In soe cases it is advisable to u!grade the o!erating syste@ database or S$P release 3irst@ be3ore !er3oring the igration. In rare cases i3 can be even necessary to use interediate systes. (x!lain that the content o3 the Migration C is used to igrate old systes ?hich are not under S$P aintenance anyore. Systes ?hich are under S$P aintenance can be igrated ?ith so3t?are versions /installation edias1 available on the Maret!lace.
6igure #7: SAP OSDB Migration C$e"1 Ana*ysis
The HS$P OS*0 Migration Chec $nalysis Session is 3ocused on the s!ecial as!ects involved in the !lat3or or database change. It is !er3ored on the !roduction S$P Syste ?ith regard to the target igration syste environent. The results o3 the HS$P OS*0 Migration Chec are recorded in detail and !rovided to the custoer through the S$P Service Maret!lace. They also include recoendations 3or the igration target syste. $0$P and 6$<$7based S$P Systes co!onents ?ill be checed. The $nalysis Session only loos 3or !er3orance X nothing else. The resulting recoendations are 3or the target syste.
6igure #: ,e8uired Sour"e System !n9ormation ;<
It ust be care3ully checed that all so3t?are co!onents can be igrated X in !articular 6$<$7based co!onentsL The exact version in3oration o3 each so3t?are co!onent is necessary to be able to do?nload*order and use the right installation so3t?are. It could be the case@ that a certain Su!!ort Pacage Stac ust be installed be3ore a OS*0 igration can tae !lace /i.e. certain target database 3eatures can be utili9ed only i3 the Su!!ort Pacages are current1. )!dating Su!!ort Pacages can be a serious !roble in soe custoer environents@ because o3 odi3ications@ syste interde!endencies@ or 3ixed u!date schedules. The current syste landsca!e ust be no?n to have the big !icture. There ay be OS*0 related de!endencies bet?een certain systes ?hich ust be analy9ed 3irst. The nuber o3 !roductive systes indicates the nuber o3 test and 3inal igrations Ahich systes should be igrated in ?hich order Ahat is the custoer tie schedule /deadlines1 Ahen inii9ing the do?ntie@ the aount o3 tuning e33orts that are necessary increases and uch ore tie ust be s!end on it. In case o3 a hosting environent@ ?ill the consultant have access to the source syste /?hich liitations ?ill a!!ly1 The slides sho? the iniu in3oration@ ?hich should be available be3ore starting the igration. (x!lain the relevance o3 every ite.
6igure #: ,e8uired Sour"e System !n9ormation ;#<
The nuber o3 CP)s and in3oration about the I*O sub syste can hel! in deterining the best nuber o3 ex!ort !rocesses. The si9es o3 the source databases indicate ho? long the igration ?ill tae. +ext to the database si9e itsel3@ the si9e o3 the largest tables ?ill in3luence the ex!ort signi3icantly. 5or the 3irst test igration ,-W 7 ,"W o3 the source database si9e should be available as ex!ort 3ile syste 3ree s!ace. I3 large tables are stored in se!arate locations /i.e. table s!aces1@ should this also be retained in the target database On soe databases it can increase !er3orance or ease database adinistration. MMP or )+ICO( syste In case o3 $S*#-- &*' #.%C and belo?D is it an (0CIC or $SCII based syste Case ,D Table exists in database but not in the $0$P ictionary 7 table ?ill not be ex!orted. Case 2D Table exists in $0$P ictionary but not in database X ex!ort errors are to be ex!ected. Fo? to handle external 3iles /s!ool 3iles@ archives@ logs@ trans!ort syste 3iles@ inter3aces@ 1 Ahich 3iles ust be co!ied to the target syste The igration su!!ort tools lie MIGMO+ and the P$CE$G( SP4ITT(& used by S$PI+ST ?ill need 6$<$. The old Perl7based P$CE$G( SP4ITT(& o3 &'S(T)P needs Perl version ". 0ecause o3 strict so3t?are !olicies@ custoers ight not allo? the installation o3 additional so3t?are on !roductive systes. I3 source and target syste are not in the sae location X ?hich edia ?ill be available to trans!ort the du! 3iles
6igure &0: ,e8uired Target System !n9ormation
6igure &: Migration Test ,un
Generating the target databaseD > Mae a generous si9ing o3 the target database@ or set it to an auto extensible ode /i3 !ossible1@ this ?ill !revent load errors caused by insu33icient s!ace. $n analysis o3 dis usage cannot be !er3ored until a3ter the data has been loaded. Con3iguring the test environentD > &5C connections > (xternal inter3aces > Trans!ort environent > 0acu! > Printer > $rchiving > etc. This should be a short ?al through the technical igration.
6igure : 6ina* Migration
$ cut7over !lan should be created@ including an activity checlist and a tie schedule. Include !lenty o3 reserve tie. The igration o3 a !roduction syste is o3ten !er3ored under intense tie !ressure. Checlists ?ill hel! you to ee! trac o3 ?hat is to be done@ and ?hen to do it. +ot all the tests and checs ?hich ?ere done during !revious test runs ust be necessarily done again in the 3inal igration. In ost cases it aes sense to have one cut7over7!lan 3or the technical igration@ and a se!arate one 3or a!!lication related tass. (x!lain the necessary !re!arations 3or the 3inal igration. $s a 3inal igration runs under tie !ressure@ every ste! should be !reviously !lanned.
6igure &&: SAP OSDB Migration C$e"1 =eri9i"ation
The HS$P OS*0 Migration Chec
-xer"ise #: T$e Migration Pro%e"t (xercise urationD " Minutes
-xer"ise O%e"tives $3ter co!leting this exercise@ you ?ill be able toD > Create a igration !roject !lan and a tie schedule that is co!liant to S$P needs.
Business -xam'*e To !lan a syste co!y !roject@ you ust no? about the !ro!er tiing and the reuired test !hases. The database si9e ?ill in3luence the ex!ected do?ntie. ou should no? about the tass o3 each OS*0 Migration Chec service co!onent and
So*ution #: T$e Migration Pro%e"t Tas1 : The S$P heterogeneous syste co!y !rocedure 3or !roductive systes reuires a test !hase bet?een test and 3inal igration@ and also recoends not !er3oring an u!grade to the next S$P Syste release until at least % ?ees a3ter the 3inal igration. ,. Ahat is the inial duration recoended 3or the test !hase a1 T?o ?ees is the iniu aount o3 tie to be considered bet?een the test and 3inal igration o3 a !roductive syste. 2. Ahat should be done in the test !hase@ and ?ho should !er3or it a1 The test !hase should be utili9ed to chec the igrated syste regarding the ost i!ortant custoer tass and business !rocesses. (nd users ?ho no? their daily business very ?ell should do the ajor !art o3 the testing. T?o ?ees ight be su33icient even in co!lex environents. '. Ahat is the reason 3or the recoended tie duration bet?een 3inal igration and the next u!grade a1 (very tie a syste has been co!ied to a di33erent o!erating syste and*or database@ it taes soe tie to get 3ailiar ?ith it and to establish a sooth7running !roduction environent. In the case that an u!grade iediately 3ollo?s the igration@ the direct cause o3 the !robles ay be hard to identi3y. 5irst get the syste stable and then do the u!gradeL
Tas1 #: $ custoer S$P Syste landsca!e is ade u! o3 several systes. $ll systes have to be igrated to a di33erent database. Syste set , /(&P1D evelo!ent@ uality $ssurance@ Production. Syste set 2 /0A1D evelo!ent@ Production. ,. Fo? any S$P OS*0 Migration Checs ust be ordered a1 Syste sets , and 2 contain !roductive systes. 0ecause o3 this@ t?o se!arate S$P OS*0 Migration Checs ust be ordered. 2. Fo? any syste co!ies are involved /More than one ans?er can be right1 a1 Syste set ,D , x evelo!ent@ , x uality $ssurance@ 2 x Production. $lternateD , x evelo!ent@ 2 x Production@ hoogeneous syste co!y 3ro Production to uality $ssurance. Syste set 2D , x evelo!ent@ 2 x Production.
Tas1 &: The 3ollo?ing 3acts as listed belo? are no?n in ins!ecting the source syste o3 a igration /$0$P Aeb $S ?ith 6$<$ $dd7In1. Please indicate 3or every ite ?hat the i!act on the &'4O$*64O$ igration ?ill be. ,. The to total si9e o3 the database is "-- G0 /used s!ace1. a1 5ro a database si9e o3 "-- G0 it can be ex!ected@ that the &'4O$ * 64O$ ex!ort ?ill need about ,-W 7 ,"W /"- G0 7 :" G01 o3 local dis storage. 2. The si9es o3 the largest $0$P tables are '# G0@ 2- G0@ ,8 G0. a1 The largest $0$P tables ?ill signi3icantly in3luence the aount o3 tie necessary to ex!ort or i!ort the database. $ single &'4O$ !rocess 3or each large table ?ill i!rove the ex!ort and i!ort tie. '. The su o3 all tables and index si9es o3 the 6$<$ schea does not exceed 2 G0. a1 0ecause the 6$<$ tables ?ill only need a little bit o3 tie to ex!ort@ this ?ill not be critical 3or the overall ex!ort tie. #. Transaction 0-2 sho?s t?o tables belonging to the $0$P schea user that only exist on the database@ but not in the $0$P ictionary. a1 &'4CT4 only reads the $0$P ictionary. Tables that exist on the database@ but not in the $0$P ictionary@ are ignored. $s a conseuence they are not inserted into any V.ST& 3ile. The sae ha!!ens to tables belonging to the 6$<$ schea@ but are not de3ined in the 6$<$ ictionary. They ?ill not be ex!orted.
Tas1 ): The S$P OS*0 Migration Chec sessions have three ajor to!ics. Please ex!lain the ain tass o3 each session ty!e. ,. Project $udit Session a1 Project $udit SessionD Checs 3or technical 3easibility@ certi3ied igration !artner@ and tie schedule. 2. $nalysis Session a1 $nalysis SessionD Per3orance analysis on source syste. &eturns con3iguration and !araeter recoendations 3or the target syste. '.
Unit 3 System Co'y Met$ods Unit Overview This unit gives an overvie? o3 available S$P syste co!y ethods. O3 ost i!ortance are in3oration about S$P !roducts ?hich cannot be igrated the standard ?ay and &'4O$ restrictions that exist i3 a P&(P$&( o3 an u!grade ?as run or the Increental Table Conversion /IC+<1 ?as not 3inished.
3esson Overview Contents > atabase7s!eci3ic and 7uns!eci3ic ethods 3or S$P hoogeneous or heterogeneous syste co!ies /OS*0 Migrations1
3esson O%e"tives $3ter co!leting this lesson@ you ?ill be able toD > (valuate the database7s!eci3ic and 7uns!eci3ic o!tions 3or !er3oring S$P hoogeneous or heterogeneous syste co!ies /OS*0 Migrations1 Mention@ that there are su!!orted and unsu!!orted ethods to igrate a S$P Syste. This cha!ter ?ill discuss the su!!orted ones.
Business -xam'*e In as custoer !roject@ it ust be 3igured out@ ?hatBs the best ethod to ove a syste 3ro one !lat3or to another. The right a!!roach de!ends on the involved database and the ty!e o3 o!erating syste used.
6igure &): Comment
Many o3 the students used ethods lie Oracle (KP*IMP are not su!!orted by S$P. Mae clear@ that the usage o3 every not su!!orted ethod is done on o?n risL S$P su!!ort in case o3 !robles on such syste co!ies ?ill be billed by S$P i3 a !roble is clearly caused be the non su!!ort syste co!y ethod. (ven i3 a syste ?as co!ied ?ith an unsu!!orted ethod@ S$P ?ill not deny 3urther syste su!!ort. FP@ I0M@ Oracle@ and others o33er their o?n s!eci3ic igration ethods 3or ?hich they are res!onsible by theselves. $ny Fotline or &eote Consulting e33ort that results 3ro the use o3 a co!y or igration !rocedure that has not been o33icially a!!roved by S$P ?ill be billed.
6igure &(: ,&3OAD Met$od
The essage isD everything goes. &'4O$ ight not be as 3ast as database7s!eci3ic ethods@ but it is uch ore 3lexible ?ith regard to di33erent database versions on source and target syste. 5or 0 igrations or )nicode conversions there is no alternate ?ay. 02 3or 4)A Y 02 3or 4inux@ )+IK@ Aindo?s The above table sho?s that all S$P su!!orted database systes can be co!ied to each other by using &'4O$. /ote: ,. The database s!eci3ic ethods ight be 3aster than the &'4O$ /i3 released by S$P1 2. The database s!eci3ic ethods ight be 3aster 3or an OS igration than &'4O$ /i3 released by S$P1.
6igure &+: ,&3OAD ,estri"tions ;<
Point out that the P&(P$&( !hase is dangerous i3 s!eci3ically entioned in the syste co!y guide and not revised in the syste co!y note /other?ise the )!grade ust be done 3irst1. This is also true 3or hoogeneous syste co!iesL Give a brie3 ex!lanation o3 database7s!eci3ic objects /used by 0A1 and ho? they ust be handled. Stress that 0A 2.x systes ust be u!graded 3irst.
On earlier S$P release the P&(P$&( !hase i!orts and i!leents $0$P ictionary changes ?hich cannot be unloaded consistently by &'4O$. $ co!lete reset o3 all P&(P$&( changes is not !ossible. &estarting the P&(P$&( !hase on the igrated syste ?ill not hel!. I3 it a!!lies to your S$P release it is entioned in the syste co!y guide and*or in a corres!onding S$P +ote. The Increental Table Conversion i!leents database7s!eci3ic ethods ?hich cannot be unloaded consistently by &'4O$ /danger 3or loss o3 data1. 0e3ore using &'4O$@ 3inish all table conversionsL The transaction IC+< should not sho? any entry.
6igure &7: ,&3OAD ,estri"tions ;#<
5or 0A '.- and '., &'4O$ syste co!ies the a!!ro!riate Su!!ort Pacage level ust be a!!lied and a certain !atch level 3or &'4O$ and &'SNCFE is reuired /according S$P +ote :::-2#1. &elated S$P +otesD > ::,2-= H+etAeaver -#D Syste co!y /su!!leentary note1 > :::-2# H0A '.- and 0A '., Syste co!y /su!!leentary note1 > 8882,- H+etAeaver :.VVD Syste Co!y /su!!leentary note1
6igure &: Dataase S'e"i9i" System Co'y Met$ods ;ABAP<
Point out that this is a list 3or Aeb $S Systes based on $0$P only. In case o3 a 6$<$ $dd7In it ust be checed@ that 0acu!*&estore is su!!orted. In case o3 Oracle@ trans!ortable table s!aces can be a solution 3or an o!erating syste igration as ?ell. I3 &M$+ is used@ the endian ty!e can be changed as ?ell. Certain databases can be even igrated to other o!erating systes by a si!le restore. Fo?ever@ heterogeneous syste co!ies by database7s!eci3ic ethods ust be a!!roved by S$P. I3 in doubt contact S$P be3ore executing such ind o3 OS igration. The S$P OS*0 Migration Chec is reuired any?ayL +otes on database s!eci3ic ethods 3or $0$P based systes /ae sure that the ethod is also valid 3or 6$<$ $dd7In installations1D ,. 02D Co!y 7 atabase co!y on the sae host@ u! 7 atabase co!y to another host. 2. 0#D S$<4I0*&ST4I0 ethod@ see S$P +oteD "8"2:: '. 0%D atabase director /redirect restore1 or brdb% tools.
#. 0%D Cross !lat3or restore since 02 )0 version 8 /3or $IK@ FP7)K@ Solaris1@ see S$P +oteD %28,"% ". F0D Chec htt!D**hel!.sa!.co*hanaa!!liance 3or the res!ective guide %. I+5D In3orix 4evel - 0acu!@ see S$P +otesD 8=%=8@ ,:'=:-. :. $$D Cross !lat3or restore i3 source and target OS is o3 sae endian ty!e. S$P +oteD =%2-,= 8. MSSD etach*$ttach database 3iles@ see S$P +otesD ,",%-'@ ''==,2 =. O&$D The S$PI+ST 0acu!*&estore ethod is released 3or all !roducts. S$P +otesD %"="-=@ ,#:2#' ,-. O&$D Trans!ortable Tables!ace * atabase@ see S$P +otesD ,-'"-",@ ,--'-28@ ,'%:#", ,,. S0D 0acu!*&estore@ see S$P +oteD ,"=,'8: O!erating syste (ndian ty!es@ see S$P +oteD ""2#%#
6igure &: Dataase S'e"i9i" System Co'y Met$ods ;5A=A<
It is not enough to co!y the database contentL There are a lot o3 !araeters ?hich ust be ada!ted on the target syste. S$PI+ST ?ill ae sure that it is done the right ?ay. S$PI+ST runs an internal 3unction called HMigration Tool Eit /HMigration Controller1 to adjust the S$P 6$<$ target syste 3or the ne? instance nae@ instance nuber@ host nae@ etc. I3 the tie schedule allo?s it@ this ight be a good !oint to insert unit ,,D S!ecial Projects. It taes about 'inutes. ou can insert this unit also behind unit =D $dvance igration techniues on day 2.
-xer"ise &: System Co'y Met$ods Business -xam'*e 5or a S$P syste ove@ it should be no?n ?hat the available o!tions and their s!eci3ic !rereuisites are. &'4O$ is uite 3lexible@ but needs ore tie 3or the ex!ort*i!ort co!ared to a bacu!*restore scenario. +evertheless@ there can be good reasons to use &'4O$ any?ay.
So*ution &: System Co'y Met$ods Tas1 : The hoogeneous co!y o3 an $0$P syste !er3ored ?ith database s!eci3ic eans is in ost cases uch 3aster than using the &'4O$ ethod. ,. Ahat could be soe o3 the reasons 3or using the &'4O$ ethod a1 The source and target systes use the sae o!erating syste and database ty!e but di33erent versions. b1 The target dis layout is co!letely di33erent 3ro the source syste and the database s!eci3ic co!y ethod does not allo? ada!ting to ne? dis layouts. c1 I3 the database storage unit naes include the S$P SI@ the installation o3 the target database according the &'4O$ ethod ?ill allo? you to choose ne? naes. d1 ata archiving is done in the source database and the syste co!y to the target syste should also be used to reduce the aount o3 reuired dis s!ace e1 In the case that systes should be oved in or out o3 a MCO database. 2. Ahich s!eci3ic checs should be done be3ore using &'4O$ to ex!ort the source syste a1 Mae sure the P&(P$&( 3or the next S$P u!grade ?as not started /i3 this restriction a!!lies to your S$P Syste release1 and veri3y that the Increental Table Conversion /IC+<1 has co!leted.
Tas1 #: Soe databases allo? OS igrations o3 S$P systes using database s!eci3ic eans. ,. Is it necessary in this case to order an S$P OS*0 Migration Chec 3or !roductive systes
a1 It doesnBt atter ?hich ethod is used to !er3or a heterogeneous syste co!y o3 a !roductive S$P $0$P Syste. The S$P OS*0 Migration Chec is reuired any?ay. 2. Is a test and 3inal igration reuired 3or !roductive systes a1 $ test and a 3inal syste igration is reuired@ ?hen !er3oring an S$P heterogeneous syste co!y. '. Must one be certi3ied in order to !er3or an OS*0 igration a1 es@ an OS*0 igration certi3ication is reuired to !er3or the syste co!y.
Unit 4 SAP Migration Too*s Unit Overview This unit describes the S$P igration tools in detail. It also describes the tass o3 &'S(T)P*S$PI+ST and in ?hich !hase they are calling the igration tools. The &'4O$ and 64O$ ex!ort directory structure ?ill be discussed.
SAP Migration Too*s Business -xam'*e ou ?ant to no?@ ?hich S$P tools are executed during an ex!ort*i!ort based syste co!y@ and ?hat are the s!eci3ic di33erences bet?een the $0$P and 6$<$ syste co!y.
6igure )0: !nsta**ation Programs ,&S-TUP and SAP!/ST
This slide is only used to sho? that tass and 3eatures o3 both !rogras are very siilar. &'S(T)P can run in character ode ?here no gra!hic environent is available. S$PI+ST reuires 6$<$ and a gra!hic environent ?hich it su!!orts /Microso3t Aindo?s@ or K7Aindo?s1.
6igure ): ABAP DD!C -x'ort and DB O%e"t Si@e Ca*"u*ation
It is also i!ortant to no? that &'4CT4 contains S$P release s!eci3ic /hard coded1 table de3initions. (x!lain ?hich 3iles are created@ and ?hy &'SNCFE does not exist 3or '.,I and #.-0. Stress the 3act@ that table 4O$ is 3illed by &'SNCFE to store table and index si9es@ ?hich ?ill be sorted and ?ritten to V.(KT 3iles later on. &'4CT4 reads the $0$P ictionary to extract the database inde!endent table and index structures@ and ?rites the into V.ST& 3iles. (very version o3 &'4CT4 contains release7s!eci3ic@ built7in no?ledge about the table and index structures o3 s!eci3ic S$P internal tables@ ?hich can not be retrieved 3ro the $0$P dictionary. &'4CT4 creates the 4Z0S[.TP4 3iles 3or every S$P su!!orted database. Since %.#-@ additional 4Z0S[4&G.TP4 3iles are generated to su!!ort syste co!ies o3 large databases ore easy. $s o3 version #."$@ the si9e co!utation o3 tables and indexes are reoved 3ro &'4CT4 /&*' 4oad Control1 and i!leented in a se!arate !rogra called &'SNCFE /&*' Si9e Chec1@ ?hich also creates the V.(KT 3iles. &'4CT4 is still used 3or V.(KT 3ile generation on '.,I and #.-0. &'4CT4*&'SNCFE can only run as a single !rocess /no !aralleli9ation is !ossible1. The table 4O$ is used to store the results o3 the table*index si9e calculation. &'SNCFE generates the target database si9e 3ile 0SIN(.KM4 3or S$PI+ST. The si9e calculation is liited to a axiu o3 ,.:8 G0 3or each database object /table or index1.
6igure )#: ABAP Data -x'ort!m'ort
)nderstand@ that there is no checsu on the du! 3iles@ ?hich are created by &'4O$ '.,I or #.-0. 5ile corru!tion ay not be discovered at load tie. Strange errors ight ha!!en. The co!ression runs on bloc level. There is no tool available to unco!ress a &'4O$ du! 3ile. This ay ans?er uestion regarding data security ?hen trans3erring &'4O$ du! 3iles over !ublic net?ors. The restart ca!ability has it liits ?here !o?er 3ailures or o!erating syste crashes terinate the &'4O$ ex!ort or i!ort !hase. See unit ,-D Troubleshooting. The standard &'4O$ i!leentation contains an (0CIC*$SCII conversion o3 4$TI+7, character sets only. Other translations tables are available u!on reuest. +ote that #.%C is the last &*' version ?hich runs on (0CIC. Those #.%C S$P Systes running on $S*#-/iSeries1 ust be converted to $SCII be3ore an u!grade to a higher release can be !ossible. Character set conversions to )nicode are i!leented since &'4O$ %.,-. The conversion ?ill be done at ex!ort tie@ as additional in3oration is necessary only available in the source syste.
0e3ore the data ex!ort*i!ort@ &'4O$ !er3ors a syntax chec on the V.ST& 3iles. This !revents unintended overla!s bet?een 3ield naes in tables and &'4O$ ey ?ords@ as ?ell as other inconsistencies. I3 an &'4O$ !rocess terinates ?ith an error@ a restart 3unction allo?s the data ex!ort*i!ort to be continued a3ter the last success3ully recorded action. S!ecial care ust be taen on restarts a3ter OS crashes@ !o?er 3ailures@ and out o3 s!ace on ex!ort dis /see the troubleshooting section1. $s o3 &elease &*' #."$@ &'4O$ ?rites in3oration about the source syste into the du! 3ile. &'4O$ checs these entries ?hen starting the i!ort. I3 source and target OS or 0 are di33erent@ &'4O$ ?ill need a valid igration ey to !er3or the in!ut. The !arallel ex!ort*i!ort o3 single tables using ulti!le &'4O$s !rocesses is su!!orted since &'4O$ %.#-.
6igure )&: ABAP Migration Too*s Com'atii*ity
It is not !ossible to use i.e. an &'4O$ #.% on #.-0. Or &'4O$ %.#- on %.2- It ust al?ays 3it to the ernel used and released by $SP. I3 &'S(T)P #.% is used to install a #.-0 Oracle syste@ it does not ean that you can use &'4O$ #.% alsoL S$P can change the installation !rogras 3reely. 5or S$P igration tool version de!endencies@ see the relevant S$P +otes. 5or s!ecial considerations on igration tools 3or &elease '.x@ see the relevant S$P +otes 3or '.,I. 5ro tie to tie@ S$P !rovides u!dated installation so3t?are to su!!ort ne? o!erating systes or database versions 3or the installation o3 older S$P releases directly. These u!dates ight have ne? installation !rogras@ but ?ill still use the atching &'4CT4@ &'SNCFE@ &'4O$ and ernel versions 3or the S$P Syste release in charge.
6igure )): DD3 Statements 9or /onStandard DD!C O%e"ts
The students should understand that since +etAeaver B-#@ every S$P Syste can contain non7standard IC objects /0A objects1L Since then SMIG&C&($T(4 should be executed 3or all syste ty!es. The re!ort SMIG&C&($T(4 generates 4 stateents 3or non7standard database objects and ?rites it into ZT$0$&T[.S4 3iles. The ZT$0$&T[.S4 3ile is used by &'4O$ to create the non7standard 0 objects in the target database@ by!assing the in3oration in ZP$CE$G([.ST& 3iles. +on7standard objects are using 0 s!eci3ic 3eatures*storage !araeters@ ?hich are not !art o3 the $0$P dictionary /ainly 0A objects1. Since +etAeaver B-#@ 0A 3unctionality is an integral !art o3 the standard. +o? custoers or S$P can decide to i!leent 0A objects on any syste. The re!ort ust run to ae sure that no non7standard 0 objects get the ?rong storage !araeters on the target syste. The re!ort &S0APOSTMIG&$TIO+ !er3ors necessary ada!tations because o3 0 s!eci3ic objects in the target syste /ainly 0A objects1. &euired ada!tations can be the regeneration o3 database s!eci3ic coding@ aintaining aggregate indexes@ $0$P dictionary ada!tations@ and any others. The !rogra should run
inde!endently@ regardless o3 ?hether a ZT$0$&T[.S4 3ile ?as used or not. The re!orts above are not a!!licable to 0A 2.x versionsL
6igure )(: ABAP e AS Sour"e System Tas1s / 0)
This slide sho?s ?hich tass are executed by &'S(T)P*S$PI+ST and ?hat ?ill be done by &'4CT4@ &'SNCFE@ and &'4O$. Give a short ex!lanation on the bene3it to s!lit V.ST& 3iles. Point out that the V.CM 3iles are created by &'S(T)P* S$PI+ST. The V.TSE 3iles are created 3ro S$PI+ST by calling &'4O$ ?ith s!ecial o!tions. Mae clear that the content o3 table 4O$ is used to co!ute the si9e o3 the target database. MIGMO+ can run o!tional. (x!lain the di33erence bet?een MIGMO+ Server and Client ode. (x!lain ?hen to start SMIG&C&($T(4 and ho? to deal ?ith the ZT$0$&T[.S4 3ile. e!ending on the database@ u!date statistics is reuired be3ore the si9e calculation or not. &'S(T)P*S$PI+ST calls &'4CT4 and &'SNCFE to generate various control 3iles 3or &'4O$ and to !er3or the si9e calculation 3or tables and indexes. &'4CT4 ?ill also do the si9e calculation 3or tables and indexes on &*' releases be3ore #."$. Once the si9e o3 each table and index has been calculated@ &'S(T)P*&'SNCFE co!utes the reuired database si9e. &'S(T)P generates a 0SIN(.TP4. &'SNCFE creates a 0SIN(.KM4 3or S$PI+ST. O!tional MIGMO+ can be used to reduce the unload and load tie signi3icantly. $ s!ecial exit ste! ?as i!leented to call MIGMO+ since S$PI+ST 3or +etAeaver B-#. (arlier versions o3 S$P systes can bene3it 3ro MIGMO+ as ?ell. $!!ro!riate brea7!oints ust be i!leented. &'S(T)P*S$PI+ST*MIGMO+ generates &'4O$ coand 3iles 3or every V.ST& 3ile. S$PI+ST*MIGMO+ calls &'4O$ to generate tas 3iles 3or every V.ST& 3ile. The s!litting o3 V.ST& 3iles i!roves unload*load ties. 5or table s!litting the usage o3 MIGMO+ is andatory /%.#- and later1L
6igure )+: ABAP e AS Target System Tas1s / 0)
The V.CM and V.TSE 3iles are not co!ied 3ro the source systeL They are created again 3ro scratch. The $0$P IC consistency chec aes sure that the $0$P IC 3its to the 0 IC /i.e. table 3ield order1. $ detailed ex!lanation o3 this IC ste! should be done ?hen discussing the exa!le i!ort. MIGMO+ can run o!tional. (x!lain the tas o3 &S0APOSTMIG&$TIO+. e!ending on the database ty!e@ the database is installed ?ith or ?ithout su!!ort through &'S(T)P or S$PI+ST. O!tional MIGMO+ can be used to reduce the unload and load tie signi3icantly. $ s!ecial exit ste! ?as i!leented to call MIGMO+ in S$PI+ST 3or +etAeaver B-#. (arlier versions o3 S$P systes can bene3it 3ro MIGMO+ as ?ell. $!!ro!riate brea7!oints ust be i!leented in the &'S(T)P*S$PI+ST installation 3lo?. $3ter the data load@ it is necessary to run u!date statistics to achieve the best !ossible !er3orance. (nsuring $0$P IC /ictionary1 consistency eans@ the !rogra Hdi!gntab ?ill be started to u!date the S$P Syste Hactive +$M(T$0 3ro the database dictionary /the table 3ield order1. The last ste! in each igration !rocess is to create database s!eci3ic objects by calling S$P !rogras via &5C. To be success3ul@ the !ass?ord o3 user IC o3 client --- ust be no?n. The re!ort &S0APOSTMIG&$TIO+ is called as one o3 the !ost7igration activities@ ?hich are reuired to bring the syste to a !ro!er state@ reuired since $0$P Aeb $S %.#- /+etAeaver B-#1 and all S$P Systes using 0A 3unctionality based on Aeb $S %.2-. 5or table s!litting the usage o3 MIGMO+ is andatory /%.#- and later1L
6igure )7: ABAP e AS Sour"e System Tas1s E / 7.0
(x!lain that S$PI+ST calls MIGMO+ to handle the ex!ort. In ne?er S$PI+ST versions there is an o!tion to si! the u!date statistic. Since +etAeaver :.- /+etAeaver B-#S1@ soe S$PI+ST 3unctionalities have been reoved and MIGMO+ is called instead. The above slide sho?s that the ?hole &'4O$ handling is done by MIGMO+. S$PI+ST i!leents MIGMO+ !araeter related dialogs and generates the MIGMO+ !ro!erty 3ile. $3ter the ex!ort is co!leted@ MIGMO+ gives the control bac to S$PI+ST. (ven i3 MIGMO+ is con3igured autoatically by S$PI+ST@ it can still be con3igured and called anually 3or s!ecial !ur!oses.
6igure ): ABAP e AS Target System Tas1s E / 7.0
(x!lain that S$PI+ST calls MIGMO+ to handle the i!ort. This aes it !ossible to run the ex!ort and i!ort in !arallel. S$PI+ST uses MIGMO+ 3or the i!ort as ?ell. The ex!ort and the i!ort can run at the sae tie@ as long as the target syste has already been !re!ared. (ven i3 MIGMO+ is con3igured autoatically by S$PI+ST@ it can still be con3igured and called anually 3or s!ecial !ur!oses.
6igure ): ABAP e AS -x'ort Dire"tories and 6i*es
$ll 3iles o3 the du! directory ust be co!ied to the target systeL o not 3orget 4$0(4.$SC. ZT$04([7 \.AF& 3iles do only exist in case o3 table s!litting. Since +etAeaver :.-- S$PI+ST creates an $0$P and 6$<$ subdirectory autoatically. 0elo? the t?o directories ?e ?ill 3ind the ?ell no?n directory structures o3 the !revious releases again. &'S(T)P and S$PI+ST autoatically creates the sho?n directory structure on the naed du! 3ile syste. uring the ex!ort !rocedure@ the 3iles are then co!ied to the s!eci3ied directory structures. Since +etAeaver :.- the du! directory contains an $0$P and*or a 6$<$ subdirectory to store the ex!orts into one location@ but se!arated by nae. The V.ST&@ V.TOC and the du! 3iles are stored in the $T$ directory. $ll V.(KT 3iles are stored in the corres!onding database subdirectory. )nder )+IK@ the directory naes are case sensitive. The ZT$0$&T[.S4 and S45iles.4ST /since :.-21 3iles exist only@ i3 the re!ort SMIG&C&($T(4 created the and they ?ere co!ied to the database subdirectory /autoatically by S$PI+ST@ or anually according the syste co!y instructions1. In ost S$PI+ST i!leentations@ the V.(KT 3iles are only co!ied 3or Oracle to 0*Z0S[. (xa!le target databaseD Oracle V.ST&@ V.TOC@ and V.Znnn[ 3iles are stored in Zdu! directory[*$T$ V.(KT 3iles and the target database si9e 3ile 0SIN(.V are stored in Zdu! directory[*0*O&$ The 4O&$.TP4 3ile is stored in Zdu! directory[*0 $t i!ort tie@ &'S(T)P and S$PI+ST ?ill read the content o3 3ile 4$0(4.$SC to veri3y the du! directory location. The V.AF& 3iles do only exist i3 the o!tional table s!litting ?as used.
6igure (0: 5A=A Data -x'ort!m'ort
The 64O$ 3eatures should be co!ared ?ith &'4O$. $s o3 +etAeaver B-#@ 6$<$ data is stored in a database@ but there are still 6$<$ a!!lications storing !ersistent data in the 3ile syste. 64O$ deals ?ith database data only. 5ile syste data is covered by S$PI+ST 3unctionality. 64O$ is not designed to be a stand7alone tool. 5or igrating a 6$<$7based S$P syste@ S$PI+ST ?ill need to !er3or additional ste!s ?hich are version and installed so3t?are co!onents s!eci3ic. )nlie &'4O$ ?hich ex!orts only table data@ 64O$ can ex!ort the dictionary de3initions and the table data into du! 3iles.
64O$ ?rites its data in a 3orat that is inde!endent o3 database and !lat3or. This 3orat can be read and !rocessed on all !lat3ors su!!orted by S$P. I3 64O$ terinates ?ith an error@ a restart 3unction allo?s the data ex!ort*i!ort to be continued a3ter the last success3ully recorded action. 0e3ore +etAeaver :.-2 one single 64O$ !rocess did the ?hole ex!ort or i!ort. Starting ?ith :.-2@ ulti!le 64O$ !rocesses can run siultaneously. $s o3 S$PI+ST 3or +etAeaver :.-2 !acage and table s!litting is available 3or 64O$.
6igure (: 53OAD 5o 6i*e Creation using 5P2FCT3
6PECT4 is creating 64O$ job 3iles and su!!orts !acage and table s!litting. It ?as introduced ?ith S$PI+ST :.-2 and can be s?itched on ?ith a certain environent variable. 4ater versions ight have this active by de3ault. In !revious version@ 64O$ did not only ex!ort the table data@ it also generated it o?n ex!ort*i!ort job 3iles. Starting ?ith +etAeaver :.-2 6PEGCT4 is used 3or it. 0ecause o3 the need 3or 3aster ex!orts and i!orts@ !acage and table s!litting ?as i!leented. $s a conseuence@ it ?as necessary to se!arate the eta data ex!ort 3ro the table data ex!ort to allo? a se!arate table creation 3or s!litted tables. $ll 64O$ Processes ?ill no? be started by 6MIGMO+. The 64O$ !acage si9e in3oration is stored in Hsi9es.xl.
6igure (#: 5A=A Target DB Si@e Ca*"u*ation
It is i!ortant to no?@ that 6SIN(CF(CE does not !rovide any si9e in3oration about tables or indexes. The out!ut is a 0SIN(.KM4 3ile@ ?hich is stored in the 0 sub7directories o3 the ex!ort 3ile syste. 6SIN(CF(CE ?ill not have the &'SNCFE liitation o3 ,.:8 G0 !er table*indexL The si9e calculation is not liited to a certain object si9e /lie &'SNCFE1. 5iles containing HInitial (xtents /lie the V.(KT 3ile 3or &'4O$1 are not reuired 3or 64O$. In case o3 a database change during a heterogeneous syste co!y@ the conversion ?eights 3or data and indexes are calculated using aster data*index si9es. The ex!ort si9es are converted to i!ort si9es using the conversion coe33icients@ and 2-7'-W additional s!ace is added 3or sa3ety reasons. I3 the co!uted si9e is less then soe de3ault values /i.e. ,G0 3or Oracle1@ then de3ault si9es are used in the out!ut 3ile.
6igure (&: 6*ow Diagram 5A=A Add!n 5A=A System Co'y
This diagra sho?s the ex!ort and i!ort order. (x!lain that +A-# ex!orts the $0$P and 6$<$ stac se!arately /in case o3 6ava $dd7In1. Since +AB-#S S$PI+ST does this in a single ste!. 0Yatabase CIYCentral Instance
6igure (): 5A=A e AS Sour"e System Tas1s / 0) 0)S
It is I!ortant to understand@ that everything in the 3ile syste ust be collected by S$PI+ST or by SM. 64O$ reads the database content only. /ote: The above gra!hic describes general ste!s ?hich are i!ortant 3or a 6$<$ Aeb $S syste co!y. The ste!s can vary in their order. The 6SIN(CF(CE is called to create the 0SIN(.KM4 3iles 3or all target databases ?here this 3ile is needed. The log 3iles 3or 6SIN(CF(CE can be 3ound in the installation directory. 5or a!!lications storing their !ersistent data in the 3ile syste@ S$PI+ST collects the 3iles into S$PC$& archives. The so3t?are de!loyent anager /SM1 is called to !ut its 3ile syste co!onents /incl. SM re!ository1 into the SMEIT.6$& 3ile. 64O$ is called to ex!ort the 6$<$ eta and table data. In +A -# S$PI+ST ust be called t?ice. One tie 3or the $0$P ex!ort and the second tie 3or the 6$<$ !art. Since +A -#S S$PI+ST !rovides a selection 3or 6$<$ $dd7In ?hich ex!orts the $0$P and the 6$<$ !art in one single ste!.
6igure ((: 5A=A e AS Target System Tas1s / 0) 0)S
64O$ restores the database content only. SM rea!!lies its re!ository. $3ter i!ort@ S$PI+ST adjusts certain table contents regarding the ne? environent /instance@ hostnae@ etc1. This internal S$PI+ST 3unctionality is called in ste! 6ava Migration Toolit. /ote: The above gra!hic describes general ste!s ?hich are i!ortant 3or a 6$<$ Aeb $S syste co!y. The ste!s can vary in their order. The database so3t?are installation is only reuired in cases ?here a 6$<$ Aeb $S is installed using its o?n database@ o!!osed to an 6$<$ $dd7in installation into an existing $0$P database. 64O$ is called to load the database. SM 3ile syste so3t?are co!onents are re7installed /re7de!loyed1. $!!lications s!eci3ic data is restored 3ro S$PC$& archives.
6igure (+: 5A=A e AS Sour"e System Tas1s 5P2FCT3
In all +etAeaver versions using 6PECT4@ 6MIGMO+ is andatory 3or the ex!ort. Pacage and table s!litting is o!tionally but recoended. (x!lain that the SM is not used any long in :.,- and later. /ote: The above gra!hic describes general ste!s ?hich are i!ortant 3or a 6$<$ Aeb $S syste co!y. The ste!s can vary in their order. The 6SIN(CF(CE is called to create the 0SIN(.KM4 3iles 3or all target databases ?here this 3ile is needed. The log 3iles 3or 6SIN(CF(CE can be 3ound in the installation directory. 6PEGCT4 distributes the 6$<$ tables to !acage 3iles /job 3iles1 and can o!tionally s!lit tables. 6MIGMO+ calls 64O$ to ex!ort the 6$<$ table data.
5or a!!lications storing their !ersistent data in the 3ile syste@ S$PI+ST collects the 3iles into S$PC$& archives. Since :.,- not reuired anyore. The so3t?are de!loyent anager /SM1 is called to !ut its 3ile syste co!onents /incl. SM re!ository1 into the SMEIT.6$& 3ile. Since :.,- not reuired anyore. The 6PEGCT4*6MIGMO+ is active only i3 the environent variable H6$<$MIGMO+(+$04(Ytrue ?as set be3ore starting S$PI+ST :.-2. I3 the environent variable ?as not set@ the ex!ort loos lie in +A -#S. 4ater versions o3 S$PI+ST ?ill use 6PEGCT4*6MIGMO+ by de3ault.
6igure (7: 5A=A e AS Target System Tas1s 5P2FCT3
In all +etAeaver versions using 6PECT4@ 6MIGMO+ is andatory 3or the i!ort. /ote: The above gra!hic describes general ste!s ?hich are i!ortant 3or a 6$<$ Aeb $S syste co!y. The ste!s can vary in their order. SM 3ile syste so3t?are co!onents are re7installed /re7de!loyed1. Since :.,- not reuired anyore. 64O$ is called to load the database. $!!lications s!eci3ic data is restored 3ro S$PC$& archives. Since :.,- not reuired anyore.
6igure (: 5A=A e AS -x'ort Dire"tories and 6i*es
The $PPS directory is e!ty@ i3 no 6$<$ a!!lications are installed@ storing their data in the 3ile syste. The 64O$ V.ST$ 3iles are stored outside the install directory X ?hich ay be con3using to the students. Since +etAeaver :.-- S$PI+ST creates an $0$P and 6$<$ subdirectory autoatically. 0elo? the t?o directories ?e ?ill 3ind the ?ell no?n directory structures o3 the !revious releases again. The 64O$.4OG@ VZP$CE$G([.4OG and V.ST$T.KM4 3iles ?ill be created in the S$PI+ST installation directory. The VZP$CE$G([.ST$ 3iles are in the S$PI+ST installation directory or in *usr*sa!*ZS$P SI[*Zinstance[*j2ee*sltools. The HSO)&C(.P&OP(&TI(S 3ile contains in3oration that is used to create the central instance on the target syste. irectoriesD $!!lications /$PPS1@ 0@ 64O$ u! /6MP1@ So3t?are e!loyent Manager /SM1 The 0 sub7directories contain the target database si9e 3iles created by 6SIN(CF(CE /since S$PI+ST 3or +etAeaver :.-1 The $PPS directory holds archives 3ro a!!lications storing their !ersistent data in the 3ile syste. The subdirectories and 3iles are only created i3 the a!!lication is installed and no?n by S$PI+ST@ other?ise a!!lication s!eci3ic directives ust be !er3ored@ to co!y the reuired 3iles to the target syste /see res!ective S$P +otes1. (xa!les 3or a!!lications areD $S /$dobe ocuent Services1@ PO&T$4 /S$P Portal1@ EM /Content Manageent and Collaboration1 The $PPS and SM directory ay disa!!ear in 3uture releases as no 6$<$ relevant !ersistent data is stored in the 3ile syste anyore.
6igure (: C$anges in /eteaver 7.0 and *ater
5or the students it ?ill be hard to understand that S$PI+ST :.-2 o33ers ore 3eatures then S$PI+ST :.,-. (x!lain the S$P release order. Since +etAeaver :.,- the So3t?are e!loyent Manager /SM1 using a 3ile syste based re!ository@ is not used anyore. The re!ository is no? stored in the database and can be ex!orted ?ith 64O$. 6$<$ a!!lications ?ere changed to store no !ersistent data in the 3ile syste. $s a result S$PI+ST does not need to collect a!!lication 3iles 3or syste co!ies anyore. $s +etAeaver :.,- /released 3or certain S$P !roducts only1 ?as available be3ore S$PI+ST :.-2@ 64O$ !acage and table s!litting is not available 3or this version. &eleases using S$PI+ST 3unctionality based on :.-2 and higher ay !rovide these 3eatures later on. Please chec the syste co!y guides and S$P +otes 3or u!dates.
6igure +0: S3 Too*set ABAP5A=A Dua* Sta"1 S'*it
/ote: The $0$P*6$<$ ual Stac S!lit is intended to be used in a hoogeneous syste co!y scenario@ but not 3or heterogeneous igrations.
The nae So3t?are 4ogistics Toolset stands 3or a !roduct7inde!endent delivery channel ?hich delivers u!7to7 date so3t?are logistics tools. htt!D**service.sa!.co*sltoolset . $s o3 S$P +etAeaver :.- including (nhanceent Pacage ' and S$P 0usiness Suite :i2-,,@ ?hich is based on S$P +etAeaver :.- including (nhanceent Pacage '@ the installation o3 S$P dual7stac systes is no longer su!!orted. 5urtherore@ as o3 S$P 0usiness Suite :i2-,,@ it ?ill no longer be !ossible to u!grade an S$P dual7stac syste to a higher release. &elated S$P +otesD > ,%""''" )se Cases 3or S!litting ual7Stac Systes. > ,%8"#'2 ual7Stac S!lit 2.- SP, 3or Systes 0ased on S$P +etAeaver. > ,"%'":= Central &elease +ote 3or So3t?are 4ogistics Toolset ,.De9inition o9 a Dua*Sta"1 System S$P syste that contains installations o3 both $!!lication Server $0$P /$S $0$P1 and $!!lication Server 6ava /$S 6ava1. $ dual7stac syste has the 3ollo?ing characteristicsD > Coon SI 3or all a!!lication servers and the database > Coon startu! 3rae?or > Coon database /?ith di33erent scheas 3or $0$P and 6ava1 $vailable o!tions 3or s!litting a dual7stac syste that is based on S$P +etAeaver into one $0$P stac and one 6ava stac each ?ith o?n syste I /the dual7stac syste is reduced to an $0$P syste and the 6ava syste is reinstalled1D Move 5ava dataase: (x!ort 6$<$ stac and i!ort into a se!arate database. &eove original 6$<$ stac. Eee! 6$<$ databaseD (x!ort 6$<$ stac and i!ort into the sae database@ but as MCO installation. &eove original 6$<$ stac.&eove 6$<$ stacD Siilar to Eee! 6$<$ database@ but ?ithout installation and i!ort into a ne? syste. 2ee' 5A=A dataase: (x!ort 6$<$ stac and i!ort into the sae database@ but as MCO installation. &eove original 6$<$ stac. ,emove 5A=A sta"1: Siilar to Eee! 6$<$ database@ but ?ithout installation and i!ort into a ne? syste. Stress the 3act@ that the noral 64O$ !rocedure does not su!!ort the reoval o3 the 6$<$ stac. )se the S4 Toolset ual7Stac s!lit instead. Please be a?are@ it is intended 3or hoogeneous syste co!ies only 7 not 3or heterogeneous igrations.
Demonstration: Pur'ose eonstration o3 the ex!ort ,. (x!ort the 6ava Syste (6 2. (x!ort !re!aration o3 $0$P Syste (< /generate 0SIN(.KM41 '. Table s!litting !re!aration 3or $0$P Syste (< #. (x!ort the $0$P Syste (< ,emar1s In general the (< syste can be ex!orted and i!orted into $S in !arallel. I3 you decide to !resent a !arallel ex!ort*i!ort@ run the ste!s , 7 ' above@ and start the target syste i!ort then. $3ter the database is created /]'- in1 S$PI+ST ?ill ?ait 3or the 3irst MIGMO+ signal 3ile /V.SG+1. +o? start the ex!ort o3 (<. o not run ore than three &'4O$s 3or ex!ort or i!ort because ore ?ould overload the syste.
-xer"ise ): SAP Migration Too*s So*ution ): SAP Migration Too*s Tas1 : &'4CT4 reads the $0$P dictionary and ?rites database inde!endent table and index structures into V.ST& 3iles. ,. $s the V.ST& 3ile only contains database inde!endent structures@ ho? is &'4O$ able to asseble a create table S4 stateent 3or the target database a1 &'4CT4 creates 4 Z0S[. TP4 te!late 3iles@ ?hich contain all the necessary in3oration to asseble a create table S4 stateent 3or the target database. In3oration 3ro V.ST& and V.(KT 3iles are used to 3ill
the table or index s!eci3ic !art o3 the stateent. 2. +ot all the tables ?ithin V.ST& 3iles can be 3ound ?ith transaction S(,, /table aintenance1 in the S$P Syste. $ loo at the database dictionary con3irs that these tables do exist. Ahat is the reason a1 Tables that ade u! the $0$P dictionary itsel3@ or used by internal ernel 3unctions@ can not be vie?ed ?ith standard dictionary transactions. &'4CT4 contains a built7in no?ledge about these tables and can ?rite their structures directly into the V.ST& 3iles.
Tas1 #: The !rogra &'SNCFE co!utes the si9e o3 each table@ !riary ey@ and index. ,. The target database o3 a syste co!y does not reuire I+ITI$4 (KT(+Ts ?hen creating a table. Ahat else can be the !ur!ose o3 the si9e co!utation a1 The si9es o3 tables and indexes are used to co!ute the aount o3 dis s!ace that ?ill be reuired to create the target database. The Pacage S!lit7ters rely on si9e in3oration 3ro the V.(KT 3iles
Tas1 &: (very &'4O$ !rocess needs a coand 3ile to start a data ex!ort or i!ort. ,. Ahich !rogras generate the coand 3iles a1 The !rogras &'S(T)P@ S$PI+ST or MIGMO+ create the coand 3iles. 2. Fo? do the !rogras no? ho? any coand 3iles to create i3 no table s!litting is involved a1 Coand 3iles are created 3or every V.ST& 3ile that can be 3ound.
Tas1 ): 64O$ is used to ex!ort the 6$<$ data@ ?hich is stored in the database. ,. Fo? is 6$<$ Aeb $S related 3ile syste data handled in +etAeaver :.-- a1 The installed so3t?are co!onents ust be recogni9ed by S$PI+ST :.-- or by the tools ?hich are called 3ro it. Most o3 the 3ile syste data is collected in S$PC$& 3iles@ and the SM data is stored inside the SMEIT.6$& 3ile. In addition@ S$P Syste co!y notes ight give instructions on ho? to co!y soe 3iles anually.
Unit 5 ,&S-TUPSAP!/ST Unit Overview This unit describes the S$P installation !rogras &'S(T)P and S$PI+ST. The control 3iles ?ill be ex!lained. (!hasis is on ho? to i!leent user7de3ined brea7!oints to sto! &'S(T)P*S$PI+ST a3ter*be3ore certain installation ste!s.
,&S-TUPSAP!/ST 3esson Overview Contents The role o3 &'S(T)P and S$PI+ST in the hoogeneous or heterogeneous syste co!y !rocess
3esson O%e"tives $3ter co!leting this lesson@ you ?ill be able toD > )nderstand ho? &'S(T)P and S$PI+ST control the ex!ort and i!ort !rocesses o3 hoogeneous or heterogeneous syste co!ies and ho? to in3luence their behavior. > &ecogni9e the structure o3 the &'S(T)P V.&'S control 3iles@ and be able to adjust their contents i3 necessary. There are no uestions about this cha!ter in the exaination.
Business -xam'*e The ex!ort or i!ort !hase o3 a &'4O$ based syste co!y should be i!roved. 5or that !ur!ose the installation tool &'S(T)P*S$PI+ST ust be sto!!ed in certain !hases. ou need to no? ho? to !re!are the tools 3or that.
6igure +: ,&S-TUP: G.,&S 6i*es
Many o3 the students no? &'S(T)P 3or their o?n installations. i33erent versions o3 &'S(T)P are using di33erent V.&'S 3iles 3or doing the i!ort. 0ecause o3 this@ the syste co!y anuals ust be read to 3igure out ?hat to use. The 0&(4O$.&'S 3ile is only available 3or OracleLLL The coand 3ile 0(KPO&T.&'S controls the database ex!ort o3 a hoogeneous or heterogeneous syste co!y. C(+T&$4.&'S calls other V.&'S 3iles as selected. 0&(4O$.&'S is only used 3or re7loading an already 3inished installation /that is@ a3ter the test igration1. $vailable 3or Oracle only. Older V.&'S 3iles areD C(+T&0.&'S 3or a cobined installation o3 central instance and database@ and C(0MIG@ used 3or a cobined installation o3 central instance and database 3or hoogeneous or heterogeneous syste co!ies.
6igure +#: ,&S-TUP: G.,&S 6i*e Stru"ture
It is i!ortant to understand the internal structure o3 V.&'S 3iles to be able to react on errors or to odi3y the contents o3 V.&'S 3iles. (x!lain that the (K(Q section controls the execution order o3 &'S(T)P ste!s. The coand 3ile consists o3 several sections. The beginning o3 a section is al?ays indicated by the section nae in suare bracets. (ach section contains a set o3 eys and corres!onding !araeter values. The (K(Q section re!resents an installation roada! ?ith all o3 the ste!s listed in seuence. The ste!s are executed as listed /the ste! ?ith the lo?est nuber 3irst1. Soe !araeters are not ?ritten to the &'S(T)P coand 3ile until runtie. Paraeters ?hich are !reset by editing the V.&'S 3ile ?ill not be over?ritten 3ro de3ault values. $3ter a section has been success3ully executed@ it receives the status OE. &'S(T)P sto!s on error i3 a section can not be executed. The section receives the status (&&O&. &'S(T)P al?ays reads the (K(Q section 3irst to get the execution order@ and then exaines the status o3 each section. The 3irst section ?ith an (&&O& status or ?ithout any status ?ill be executed next. &eoving the OE status 3ro a section ?ill 3orce &'S(T)P to execute this section again.
6igure +&: ,&S-TUP: UserDe9ined Brea1Points
Ahy to insert brea !oints into the &'S(T)P execution 3lo?@ but this is good !oint to ex!lain it any?ay. The e!hasis should be on the 3act@ that every 0rea Point /exit ste!1 ?ill only be executed once. 0et?een the execution o3 t?o coand sections in a V.&'S 3ile@ you ay need to sto! and ae anual changes to the &'4O$ control 3iles@ odi3y database settings@ or even call MIGMO+. $s sho?n in the gra!hic@ &'S(T)P can be 3orced to sto!@ by i!leenting user7de3ined brea7!oints. The &*' installation its 3or Aindo?s o!erating systes !rovide &'S(IT.(K( 3or odi3ying V.&'S 3iles in an easy ?ay. S$P +oteD H,,8-"= Storage !araeter 3or syste co!y ?ith &'load describes ho? to i!leent user brea7!oints. S$P +oteD H:8#,,8 Syste Co!y 6ava Tools ex!lains ho? to 3ind the MIGMO+ so3t?are on the S$P Maret!lace. The MIGMO+V.S$& archive contains a P57docuent ?hich sho?s ho? to use MIGMO+ ?ith &'S(T)P.
6igure +): ,&S-TUP: 3AB-3.ASC
$s di33erent igration its can be in charge ?hen doing the ex!ort or i!ort@ the ex!ected content o3 the 4$0(4.$SC 3ile ay di33er. The slide sho?s ho? the ex!ected 4$0(4.$SC content can be 3ound inside a V.&'S 3ile. The content o3 the 4$0(4.$SC 3ile in the ex!ort directory ?ill be co!ared against the ex!ected string inside 0MIG.&'S to ae sure that the i!ort is read 3ro the right location. The sae echanis is used by S$PI+ST.
6igure +(: SAP!/ST: G.HM3 6i*es
The ost i!ortant di33erence bet?een &'S(T)P and S$PI+ST is the usage o3 V.KM4 3iles. It is nearly i!ossible to do changes inside these 3iles on an intuitive level. $ descri!tion o3 the 3iles content is not available. The ex!ected 4$0(4.$SC content can be 3ount in the H!acage.xl 3ile. S$PI+ST records the installation !rogress in the Heydb.xl 3ile. S$PI+ST can continue the installation 3ro a 3ailed ste!@ ?ithout having to re!eat !revious ste!s. The !acage.xl 3ile contains the nae o3 installation edia /Cs1 and the ex!ected 4$0(4.$SC content.
6igure ++: SAP!/ST: UserDe9ined Brea1Points
(x!lain that everyone ?ho is aing use o3 the Ste! bro?ser 3unctionality is individually res!onsible 3or the result. S$P is not su!!orting this 3eatureL The current version o3 S$PI+ST can be checed by executing HS$PI+ST Xv. $s long as the used S$PI+ST version does not !rovide a docuented ?ay to i!leent user brea7!oints@ the !rogra ust be 3orced to sto! by intended error situations. S$PI+ST starting ?ith :.- S&2 o33ers the !ossibility to ani!ulate ste! execution via a gra!hic user inter3ace@ the so7called HSte! 0ro?ser. The Ste! 0ro?ser sho?s the co!onents and ste!s that ae u! an installation. ou ay ani!ulate the state o3 single ste!s@ grou!s o3 ste!s@ and even ?hole co!onents and their sub7 co!onents. 0y invoing the context enu 3or a ste! and choosing HInsert ialog (xit Ste! above Selection or HInsert ialog (xit Ste! belo? Selection you ay sto! an installation be3ore or a3ter a certain ste!. To activate the Ste! 0ro?ser@ call S$PI+ST ?ith the coand line !araeter HS$PI+STS(TST(PST$T(Ytrue. Please be a?are@ the HSte! 0ro?ser 3unctionality is not su!!orted o33icially@ so the usage is done on o?n risL Sho? S$PI+ST ste! bro?ser screen shots D:\Additional_Files\TADM70\Templates+ Doc\SAPINST_STEP_Editor SAPINST_STEP_EDITO_screen_s!ots"pd#
6igure +7: Si@e o9 t$e Target Dataase It is con3using@ that 6SIN(CF(CE and &'SNCFE create 3iles o3 the sae nae. The values calculated 3or $0$P database storage units are estiates@ lie the values 3or the initial extents@ and !riarily serve as guidelines 3or si9ing the target database. ou ?ill !robably have to increase or decrease individual values during@ or a3ter the 3irst test igration.
$0$P Tables and indexes that are larger than ,.:8 G0 ?ill be norali9ed to an initial extent o3 ,.:8 G0. The target database si9e calculation is based on estiations. $djust the database si9e anually i3 reuired. The 6$<$ 0SIN( calculation does not have table or index si9e liitations@ but the result is based on estiations as ?ell.
-xer"ise (: ,&S-TUPSAP!/ST So*ution (: ,&S-TUPSAP!/ST Tas1 : The installation !rogra &'S(T)P ?ill be started ?ith a coand line containing the nae o3 a HV.&'S 3ile to read /i.e. H&(S(T)P X3 0MIG.&'S1. The !ur!ose o3 HV.&'S 3iles is not only to de3ine installation ste!sU it is also used to store !araeters and status in3oration. &'S(T)P sets the status o3 co!leted ste!s to O$ and sto!s on error i3 a ste! can not be executed success3ully. $n erroneous ste! ?ill get the status H(&&O&. (very tie &'S(T)P is started@ the HV.&'S 3ile ?ill be co!ied 3irst@ to have a bacu! o3 the original content. +ext@ &'S(T)P ?ill begin the execution at the 3irst ste! that has the status H(&&O&@ or no status at all. 5or re!eated test igrations or 3or the 3inal igration o3 a !roduction syste@ it ?ould be hel!3ul to have a 0MIG.&'S 3ile that rebuilds the database ?ithout reinstalling the database so3t?are again. 5or this !ur!ose@ ?e need a H0MIG.&'S 3ile ?hich starts ?ith the generation o3 an e!ty database. ,. Ahat can be done to create such a HV.&'S 3ile i33erent ethods are !ossible. a1 Insert a brea !oint in the HV.&'S 3ile at the !lace ?here &'S(T)P should sto!. Co!y the HV.&'S 3ile using a ne? nae. b1 &eove the HST$T)SYOE lines 3ro co!leted HV.&'S 3iles. 0egin editing the section ?here &'S(T)P should start later on. Caution: The ste! order is de3ined in the (K(Q section. I3 you reuse an already executed HV.&'S 3ile@ be sure to reove the ST$T)SYOE lines 3ro all sections 3ollo?ing an (K(Q order. o not si! ste!s. )se this ethod only i3 you ?ant to re!eat the installation exactly lie it ?as done be3oreL 2. Ahat ha!!ens to &'S(T)P !araeters that ?ere !reset by hand a1 &'S(T)P does not over?rite !reset !araeters ?ith de3ault values. $ descri!tion o3 each installation ste! and related !araeters can be 3ound in the installation directory /sub7directory Hdoc1@ or on the installation C.
Tas1 #: S$PI+ST stores all its installation in3oration in HV.KM4 3iles. $s the 3ile structure is neither easy to read nor docuented@ odi3ying the 3iles can be risy@ as it ight cause unex!ected side e33ects. ,. Ahat can be done to 3orce S$PI+ST to sto! be3ore a certain installation ste! a1 Since S$PI+ST +etAeaver :.- S&2 the ste! bro?ser can be used to insert an exit dialog be3ore or a3ter an installation ste!. (arlier S$PI+ST versions can only be sto!!ed by 3orcing intended errors. 2. In the case ?here ?e need to re!eat a syste co!y i!ort@ it ?ould be use3ul to have a S$PI+ST that starts at a certain ste!. Fo? could this be achieved ?ithout odi3ying the 3iles a1 Sto! S$PI+ST be3ore the ste! ?here you ?ould lie to start later on. Co!y the entire installation directory as it is. &estore the saved installation directory to its original location to redo the installation.
Unit 6 Te"$ni"a* Ba"1ground 2now*edge Data C*asses ;TABA,Ts< 3esson Overview Pur!ose o3 ata Classes /T$0$&Ts1 in the $0$P IC and &'4O$ control 3iles
Business -xam'*e In the target database o3 a igration@ soe very large tables should be stored in custoer de3ined database storage units. 5or that !ur!ose@ you need to no? ho? the
$0$P data dictionary and &'4O$ is dealing ?ith ata Classes*T$0$&Ts.
6igure +: De9inition (x!lain that the 3ollo?ing slides lie to be database inde!endent. To achieve this@ the ter database storage unit ?as chosen as a synony 3or any database dis architecture. 0y this de3inition@ exa!les o3 database storage units areD > Tables!aces /Oracle1@ > atas!aces /In3orix1@ > Tables!aces*containers /02 4)A1 The !artici!ants should understand that a T$0$&T is an order criterion only. $ll tables belong to a certain T$0$&T. Tables o3 a single T$0$&T can be stored together soe?here in the database. The ter HT$0$&T@ Hdata class@ or Htable ty!e eans the sae. T$0$&T sounds ore Geran@ but it should be used throughout the training.
6igure +: TABA,T Ta*e Ty'es ;< The table ty!es are aintained in the $0$P ictionary@ regardless o3 the database used.
6igure 70: TABA,T Ta*e Ty'es ;#< Tables in clusters or !ools also contain T$0$&T entries in their technical con3iguration. These entries do not becoe active@ unless the tables are converted to trans!arent tables.
6igure 7: TABA,T Ta*e Ty'es ;&<
6igure 7#: TABA,T Ta*e Ty'es ;)< Since +etAeaver B-#@ the above T$0$&Ts can be 3ound in any S$P Syste based on Aeb $S %.#- and later. (ven i3 no 0A in3o cube ?as created@ soe tables do exist belonging to the T$0$&Ts as sho?n above.
6igure 7&: Ta*es DDA,TI DA,TTI TSJDBSK (x!lain that the TSZ0S[ tables can even contain storage unit naes@ ?hich are 3ro earlier S$P syste versions. $s long as they are not used this is not a !roble. The TSZ0S[ tables contain the list o3 all S$P de3ined storage units in a database. Table $&T contains all the T$0$&Ts that are no?n in the S$P Syste. Table $&TT contains short T$0$&T descri!tions in various languages. +oteD table TS02 ay not exist in +etAeaver systes.
6igure 7): Assignment: TABA,T Dataase Storage Unit Sho? the content o3 at least T$O&$ and I$O&$ by using transaction S(,,. (x!lain that even T$0$&Ts@ ?hich are a!!ed to not existing storage units@ ?ill cause no har i3 no tables are assigned to this T$0$&T.
&'4CT4 reads tables T$Z0S[ and I$Z0S[@ and ?rites the assignents bet?een T$0$&Ts and database storage units into 4Z0S[TP4. Tables T$Z0S[ and I$Z0S[ only exist 3or databases ?ith the a!!ro!riate architecture. Sho? the content o3 at least T$O&$ and I$O&$ by using transaction S(,,.
6igure 7(: Te"$ni"a* Con9iguration Ta*e DD03 In -=4@ tables are a!!ed to a T$0$&T and a si9e category. (x!lain the conseuences on changes in -=4 /tables are in di33erent V.ST& 3iles1. The si9e category is a single value@ ?hich is the sae 3or table and index. The si9e category in -=4 ?ill be used as the next extent value in V.ST& 3iles. T$e 'arti"i'ants s$ou*d understand t$at t$e next extent si@e is never een "om'utedI or retrieved 9rom t$e dataaseL -=4D $0$P ictionary@ technical con3iguration o3 tables /T$0$&T and T$0E$T1 &'4CT4 extracts the corres!onding T$0$&T and si9e category /T$0E$T1 3or each table@ 3ro table -=4 o3 the $0$P ictionary. This in3oration is ?ritten to the V.ST& 3iles. Sho? the content o3 table -=4 by using transaction S(,,. Select 3or table T---.^
6igure 7+: Ta*e and !ndex Storage Parameters (x!lain that the si9e category in -=4 is a!!ed in table TGZ0S[ and IGZ0S[ to database de!endent values. TGZ0S[*IGZ0S[D $ssignent o3 si9e category /T$0E$T Y table category1 to database storage !araeters. Table TGZ0S[ gives &'4CT4 the in3oration /i.e. 3or Oracle1 about the si9e o3 He3ault Initial (xtent@ H+ext (xtent@ HMin (xtent@ and HMax (xtent. This in3oration is saved in the 3iles 4Z0S[.TP4. The assignent o3 a table to a s!eci3ic table category is used to deterine the H+ext (xtent Si9e in V.ST&. The HInitial (xtent Si9e actually used@ is calculated and saved in V.(KT. +oteD table TG02 and IG02 ay not exist in +etAeaver systes. Sho? the content o3 at least TGO&$ and IGO&$ by using transaction S(,,.
6igure 77: Creating /ew TABA,Ts ;< Slide , is an overvie? o3 ?hich tables are involved. Slide 2 sho?s ho? to i!leent a ne? T$0$&T. The o33icial ?ay to a!!ly a ne? T$0$&T to -=4 is S(,, and not table u!date on database levelL Other?ise the $0$P IC is not a?are o3 the change and the next u!date is over?riting it. I3 tables have been oved to custoer7de3ined database storage units /that is@ tables!aces1 in the source database during a igration@ these tables are only re7loaded into the correct storage units ?hen tables $&TT@ $&T@ TSZ0S[@ I$Z0S[@ T$Z0S[@ and -=4 have been aintained correctly. The technical con3iguration o3 all tables /stored in -=41 ust include the correct T$0$&T. $3ter the tables have been unloaded@ the 3iles H4ZTarget 0S[.TP4 and H4ZSource 0S[.TP4 should contain the custoer7s!eci3ic T$0$&T and database storage unit naes. +oteD change the content o3 -=4 by calling transaction S(,, /technical setting aintenance1. This ?ill be a odi3ication and is sho?n in SP later on. I3 you use database tools /i.e. sl!lus1 to u!date -=4@ the change is lost a3ter an u!grade@ i3 the corres!onding large table is a S$P delivered one. $ 3ast chec can be !er3ored by calling &'4CT4 ?ithout !araeters. &'4CT4 generates the 3iles HS$PZT$0$&T[.ST& and H4Z0S[.TP4 in the current directory. urationD a 3e? inutes. See S$P +otesD > -#%2:2 I!leent ne? data class in technical settings > ,%'##= 02*'=-D I!leent ne? data class /T$0$&T1
6igure 7: Creating /ew TABA,Ts ;#< 5or in3oration on ho? to create a ne? T$0$&T@ see S$P +ote #%2:2. $ custoer T$0$&T nae ust start ?ith HN or H@ and 3our additional characters. I3 S$P0$ or 0&SP$C( ?as used to create additional tables!aces@ T$0$&T naes lie )\\\\@ )S&\\@ and )S(&\@ can be seen as ?ell. To !revent S$P u!grades 3ro over?riting these de3initions@ the class 3or custoer created T$0$&Ts ust be H)S&. In the exa!le above@ the ne? tables!ace ?ill be used 3or table CO(P data and index storage location. It is recoended to nae ne? database storage units lie the T$0$&T to identi3y their !ur!ose@ but this is not strictly necessary. See S$P +otesD > -#%2:2 I!leent ne? data class in technical settings > #=-'%" Tables!ace naing conventions
6igure 7: Moving Ta*es and !ndexes Between SAP ,e*eases In the !ast@ S$P changed the a!!ing bet?een tables and T$0$&Ts in table -=4 soe ties. $s a result@ tables can ove bet?een di33erent storage units ?hen doing a &'4O$ syste co!y. This should not be a real !roble unless the tables in charge do need a s!ecial storage location. uring a hoogeneous or heterogeneous &'4O$ syste co!y@ tables ay be oved unintentionally 3ro one database storage unit to another. The reason 3or this could be thatD > Soe tables ?ere assigned to T$0$&Ts o3 other database storage units@ instead o3 being assigned to the T$0$&T ?ere currently being stored. &'4O$ al?ays creates tables and indexes in locations obtained 3ro the $0$P ictionary. > Older S$P Syste &eleases ?ere installed ?ith slightly di33erent table locations than subseuent releases. > $0$P ictionary !araeters ?ere not !ro!erly aintained a3ter the custoer had re7distributed the tables to ne? database storage units. I3 it is essential to have single tables stored in s!eci3ic database storage units@ chec the V.ST& 3iles be3ore starting an i!ort. Table oveent can signi3icantly change the si9e o3 source and target database storage units. I3 the Oracle reduced tables!ace set is used 3or the target database@ all thoughts about table and index locations are obsolete.
3esson: Mis"e**aneous Ba"1ground !n9ormation 3esson Overview Miscellaneous bacground in3oration about table 0I55@ &'4O$*64O$ data access@ and &'SNCFE si9e co!utation.
3esson O%e"tives $3ter co!leting this lesson@ you ?ill be able toD > (x!lain the !ur!ose o3 table 0I55 > )nderstand ho? the &'4O$*64O$ data access is ?oring > istinguish bet?een the &'SNCFE behavior i3 the target database ty!e is the sae or di33erent than the source database ty!e The $0$P and the 6$<$ database access is done via the 0S4 inter3ace@ ?hich is the abstraction layer bet?een !hysical and logical database access.
Business -xam'*e ou ?onder ?hy there are ore tables in the V.ST& 3iles then visible in the $0$P dictionary transaction S(,,@ and soe objects are de3ined even di33erently. ou also ?ant to no? ho? the $0$P data ty!es are translated into database s!eci3ic data ty!es.
6igure 0: -x"e'tion Ta*e DBD!66 Soe tables ight not be de3ined in the $0$P dictionary@ are database7s!eci3ic@ or need s!ecial treatent other?ise. (xce!tions are listed in table 0I55. Tables@ ?hich are not de3ined in the $0$P dictionary@ are hard coded in &'4CT4. &'4CT4 reserves s!ecial treatent 3or tables@ vie?s@ and indexes contained in the exce!tion table 0I55@ since the $0$P ictionary either does not contain in3oration about these tables@ or the data de3initions intentionally vary 3ro those in the database. Generally@ this involves database7s!eci3ic objects and the tables o3 the $0$P ictionary itsel3. Sho? the content o3 table 0I55 by using transaction S(,,. Sho? the 3ield ?here the reasons are stored /sho? ?hich o!tions exist1. See related S$P +otesD > -''8,# 0-2 re!orts inconsistencies bet?een database ictionary > ,='2-,
6igure : Dataase Mode*ing o9 t$e ABAP Data Ty'es The 0S4 inter3ace is the translator bet?een $0$P data ty!es and database data ty!es. I3 S$P decides to use a ne? data ty!e on a database@ ?hich better 3its to the $0$P data ty!e@ a change in the 0S4 can do this@ but it also eans that the content o3 the involved tables ust be converted or ex!orted and i!orted again. The $0$P data ty!es are odeled through the S$P database inter3ace /0S41 into the suitable data ty!e 3or the database used. &e3er to the $0$P ictionary anual 3or 3urther in3oration. The S$PZT$0$&T[.ST& 3iles contain the $0$P data ty!es@ not the data ty!es o3 the database. i33erent databases !rovide di33erent data ty!es and liitations to store binary or co!ressed data in long ra? 3ields. I3 necessary@ the 0S4 inter3ace stores the sae aount o3 data in a di33erent nuber o3 ro?s@ de!ending on the database ty!e. &'4O$ uses the inter3ace to read*?rite data to*3ro the database.
6igure #: ,&3OAD ABAP Data A""ess This slide should ae clear that &'4O$ does not need to no? ho? to read or ?rite database data. (very database s!eci3ic stu33 ?ill be done by the 0S4 inter3ace that is basically a library ?hich is lined to every S$P !rogra ?hich accesses the database /i.e. t!@ &'trans@ dis!_?or@ &'u!@ `1.
6igure &: Consisten"y C$e"1: ABAP DD!C DB and ,untime Transaction S(,, can be used to veri3y the consistency o3 tables. The !artici!ants should understand that the Hactive naetab contains the activated dictionary objects@ ?hich are used to access table data. Transaction S(,, can be used to chec the consistency o3 individual tables or vie?s. In this !rocess@ the syste checs ?hether the tables or vie? de3initions in the $0$P ictionary /IC1 agree ?ith the runtie object or database object. The data in the database is accessed via the runtie object o3 the active +$M(T$0. Changes to the $0$P ictionary are not ?ritten /and there3ore are not e33ective1 until they are activated in the +$M(T$0. The $0$P ictionary should be OE in a standard S$P Syste. I3 you sus!ect that any tables are inconsistent@ you can chec the individually using transaction S(,,. Soeties tables exist in the active +$M(T$0 but not in the database. In this case@ &'4O$ ?ill sto! the ex!ort on error. 5ix the +$M(T$0 !roble ?ith a!!ro!riate ethods or ar the table entry as coent in the V.ST& 3ile.
6igure ): ABAP Si@e Com'utation: Ta*esI !ndexesI Dataase Ahen !er3oring a 0 Migration@ the $0$P dictionary in3oration is used to calculate the si9e o3 tables and indexes /&'SNCFE o!tion 7s 1. +o database s!eci3ic data ?ill be used as the co!utation is 3or a di33erent databaseL The agic 3orulas U71 are hard coded inside &'SNCFE. I3 the 0 stays the sae@ the table*index si9e in3oration 3ro the 0 are used /&'SNCFE o!tion 7s 01. In the case o3 a database change@ the si9ing in3oration 3ro the source database cannot be used to si9e the target database@ since the data ty!es and storage ethods di33er. In the case o3 a hoogeneous syste co!y@ the si9e values can be taen 3ro the source database. Tables that have a large nuber o3 extents can be given a su33iciently large initial extent in the target database. To deterine the correct si9e values@ the database statistics /u!date statistics and so on1 ust be current.
6igure (: 5A=A Data Di"tionary The (xclude list de3ines ?hich tables ust not be ex!orted /because they are vie?sL1. The nae o3 the 6ava ata ictionary table isD 0C0T$04(&T. The nae should only be entioned i3 ex!licitly ased 3or. The 6$<$ Aeb $S table and index de3initions are stored as KM4 docuents in the dictionary table. (xclude lists tell 64O$ and 6PEGCT4 /6SP4ITT(&1 ?hich objects ust not be ex!orted and ?hich objects need s!ecial treatent during the ex!ort /i.e. reoval o3 trailing blans1 $ catalog reader /6$<$ ictionary bro?ser1 ?ill be available ?ith :.,-. +oteD The 6$<$ ictionary table ?ill only be 3illed ?ith the KM47docuents@ describing the table and indexes@ i3 64O$ is usedL o not ix a 64O$ i!ort ?ith other ethods /i.e. database s!eci3ic i!ort tools1.
6igure +: 53OAD Data A""ess The !artici!ants should understand that the S$P 60C Inter3ace is s!ecial and can not be co!ared ?ith a standard 60C inter3ace@ ?hich is delivered 3ro database vendors. The S$P 60C inter3ace i!leents s!eci3ic extensions to the 60C standard@ ?hich are used by S$P O!en S4 /i.e. the S$P 6$<$ IC@ S$P transaction logic@ S$P OP(+ S4 co!atibility1. 64O$ uses S$P O!en S4 to access database data.
-xer"ise +: Te"$ni"a* Ba"1ground 2now*edge (xercise urationD ,- Minutes
Business -xam'*e ou need to no? ho? to handle custoer s!eci3ic ata Classes*T$0$&Ts and you are interested in in3oration about ho? the $0$P and 6$<$ data ty!es are converted to database s!eci3ic data ty!es.
So*ution +: Te"$ni"a* Ba"1ground 2now*edge Tas1 : The OS igration o3 a large Oracle database ?as utili9ed to ove the heavily used custoer table NT&, to a se!arate table s!ace. 5or that !ur!ose the necessary tass ?ere done in the $0$P dictionaryD T$0$&T NNT&, ?as created and the tables!ace nae PS$PS&'NNT&, ?as de3ined. ,. Ahich changes ?ere done to the $0$P dictionary o3 the source syste Ahich tables ?ere involved +ote the table entries. a1 e3ine ne? T$0$&Ts NNT&, in tables $&T and $&TT. b1 $dd the ne? tables!ace nae to TSO&$.
c1 Ma! T$0$&T NNT&, to tables!ace PS$PS&'NNT&, in tables T$O&$ and I$O&$. d1 Change the T$0$&T entry 3or table NT&, to NNT&, in table -=4. /ote: Table and index data can also be stored in the sae tables!ace.
Tas1 #: $ custoer database ?as ex!orted using &'4O$. $ loo into the ex!ort directory sho?s that no additional V.ST& 3iles exist 3or tables@ ?hich ?ere stored in se!arate Oracle tables!aces. The $0$P dictionary tables@ ?hich are used to de3ine additional T$0$&Ts@ containing the list o3 tables!aces@ and the a!!ing bet?een T$0$&T*tables!ace@ ?ere !ro!erly aintained. ,. Ahat is the reason that no additional V.ST& 3iles ?ere created besides the standard ones a1 The technical settings /table -=41 o3 the involved objects ?ere not changed. The existence o3 custoer T$0$&Ts does not cause the creation o3 additional V.ST& 3iles@ i3 no tables have been a!!ed to it. 2. Ahat can be done in advance to chec the !ro!er creation o3 an V.ST& 3ile be3ore starting a tie consuing ex!ort Ahich ste!s are necessary a1 &'4CT4 can be executed stand7alone as the Zsa!sid[ad user. I3 no coand line !araeters are !rovided@ &'4CT4 ?ill create V.ST& and 4Z0S[.TP4 3iles in the current directory. It ?ill tae a 3e? inutes. The created 3iles can then be checed 3or !ro!er content.
Tas1 &: The V.ST& 3iles contain database inde!endent data ty!e de3initions as used in the $0$P dictionary. ,. Fo? is &'4O$ able to convert database inde!endent into database s!eci3ic data ty!es a1 &'4O$ does not need s!eci3ic no?ledge about the data ty!es o3 the target database@ because it calls the database inter3ace /0S41@ ?hich no?s ho? to handle the.
Tas1 ): (very database vendor !rovides a 60C inter3ace 3or easy database access. inter3ace ,. Ahy is S$P using its o?n 60C inter3ace a1 Standard 60C inter3aces do not !rovide 3eatures reuired by S$P a!!lications. I!ortant 60C extensions are the usage o3 the S$P 6$<$ ictionary and the i!leentation o3 the S$P transaction echanis.
Unit 7 ,&3OAD 4 53OAD 6i*es This is the ost i!ortant unit o3 the entire course. It describes every &'4O$ and 64O$ control 3ile in every as!ect. $3ter the !artici!ants heard this unit@ they should no? very ?ell ho? to in3luence the &'4O$ and 64O$ behavior by ani!ulating the control 3ile contents. They also no? ?hat never should be touched.
3esson: ,&3OAD 6i*es 3esson Overview Pur!ose@ contents and structure o3 the &'4O$ control and data 3iles
6igure 7: Overview: ,&3OAD Contro* and Data 6i*es
&'4O$ ?rites ZP$CE$G([V.KM4 3iles during )nicode conversions. They contain the !riary ey o3 each ro? ?hich cannot be !ro!erly translated to )nicode. The content is used by transaction S)MG to 3ix the !robles in the target syste. These 3iles are not discussed in this course.
6igure : ,&3OAD: DD3JDBSK.TP3
6igure : DD3JDBSK.TP3: Des"ri'tion The H4Z0S[.TP4 3iles contain the database7s!eci3ic descri!tion o3 the create table*index stateents. &'4O$ uses these descri!tions to generate the tables and indexes. e!ending on the database used@ the !riary ey or secondary indexes are generated either be3ore@ or a3ter the data is loaded. +orally the &'4O$ based data ex!ort is done sorted by !riary ey. This de3ault behavior can be s?itched on and o33 in the 4Z0S[.TP4 3ile. $ negative list can be used to exclude tables@ vie?s@ or indexes 3ro the load !rocess. Ty!ical exa!les include tables 4ICF(CE and M4ICF(CE. The assignent o3 T$0$&T and data*index storage is ade here 3or databases that su!!ort the distribution o3 data aong database storage units. H+ext (xtent Si9e classes are de3ined se!arately 3or tables and indexes@ !rovided this is su!!orted by the target database. atabase s!eci3ic dro!@ delete and truncate data S4 stateents can be de3ined 3or better !er3orance in &'4O$ restart situations.
6igure 0: DD3JDBSK.TP3: /aming Conventions
(x!lain that the 4Z0S[4&G.TP4 3iles are used to su!!ort unsorted ex!orts and in case o3 Oracle a !arallel index creation. The H4Z0S[.TP4 3iles are generated by &'4CT4. Since &'4CT4 %.#- H4Z0S[4&G.TP4 3iles are created to su!!ort unsorted ex!orts /?ere it aes sense1. 5or Oracle !arallel index creation ?as added. ou can also see a 4MS.TP4 3ile@ but this is not used. Starting ?ith +A :.-2 SP= or (&P %.- (FP 2@ igrations to Sybase $S( are su!!orted. The Sybase $S( related te!late 3ile is called 4S0.TP4 S$P +oteD ,"=,#2# S0D Feterogeneous syste co!y ?ith target $S(
6igure : DD3JDBSK.TP3: !nterna* Stru"ture ).+D 5unction * Section naesD > Create !riary index order@ sorted * unsorted ex!ortD !riey > Create secondary index orderD secey > Create tableD cretab > Create !riary eyD cre!ey > Create secondary indexD creind > o not create and load tableD negtab > o not create indexD negind > o not create vie?D negvie > o not co!ress tableD negc!r > Storage locationD loc > Storage !araetersD sto
6igure #: DD3JDBSK.TP3: Stru"ture Create Ta*e The 4 3iles are te!lates used to generate database s!eci3ic S4 stateents 3or creating tables@ !riary eys and secondary indexes by &'load.
6igure &: DD3JDBSK.TP3: Stru"ture Create !ndex Secondary indexes can be uniue or ununiue. Priary eys are al?ays uniue.
6igure ): DD3JDBSK.TP3: Stru"ture /egative 3ist The negative list can be used to !revent tables@ indexes@ and vie?s 3ro being loaded. The entries are se!arated by blans and can be inserted into a single line.
6igure (: DD3JDBSK.TP3: Stru"ture Ta*e Storage The de3ault initial extent is only used ?hen no ZP$CE$G([.(KT exists or ?hen it does not contain the table.
+e? T$0$&Ts 3or additional storage units /i.e. tables!aces 3or Oracle1 can be added to the 4Z0S[.TP4 by changing the table and index storage !araeters. I3 you do this@ change the V.ST& 3iles@ and the corres!onding create database te!lates 3or &'S(T)P /0SIN(.TP41 or S$PI+ST /0SIN(.KM41. It is easier to change the $0$P ictionary be3ore the ex!ort@ than to change the &'4O$ control 3iles. I3 &'4O$ cannot 3ind a s!eci3ic table or index entry in the ZP$C$E$G([.(KT 3ile@ the issing entry is ignored and de3ault values are used.
6igure +: DD3DBS.TP3: Stru"ture !ndex Storage The de3ault initial extent is only used ?hen no HZP$CE$G([.(KT exists@ or ?hen it does not contain the index. The sae index storage !araeters are used 3or !riary and secondary indexes.
6igure 7: DD3JDBSK.TP3: Stru"ture Se"ond -xam'*e $ less co!lex exa!le 3ro Max0.
6igure : DD3JDBSK.TP3: !nterna* Stru"ture E +.0 o not change the sections ared Hdo not change unless ex!licitly ased to do so in an S$P +ote or by S$P su!!ort. 5unction * Section naesD > Create !riary ey order@ sorted * unsorted ex!ortD !riey > Create secondary index orderD secey > Create tableD cretab@ dro! tableD dr!tab > Create !riary eyD cre!y@ dro! !riary eyD dr!!y > Create secondary indexD creind@ dro! secondary indexD dr!ind > Create vie?D crevie@ dro! vie?D dr!vie > Truncate dataD trcdat > elete dataD deldat > o not create tableD negtab > o not load dataD negdat > o not create indexD negind > o not create vie?D negvie > o not co!ress tableD negc!r > Storage locationD loc > Storage !araetersD sto
6igure : DD3JDBSK.TP3: Stru"ture D,OPD-3-T- Data $bove are the te!lates 3or dro!!ing objects and deleting*truncating table data. The H?here condition is used ?hen restarting the i!ort o3 s!litted tables. $ll other sections are siilar to #.% and belo?. Soe 3unctions a!!ly to s!eci3ic database ty!es or database releases only.
6igure 00: ,&3OAD: JPAC2AF-K.-HT
6igure 0: JPAC2AF-K.-HT: !nitia* -xtent ;< The ZP$CE$G([.(KT 3iles ?ill created 3or all database ty!es@ because the extent values are used to co!ute the si9e o3 the target database 0SIN(.TP4*0SIN(.KM4 and 3or !acage s!litting.
6igure 0#: JPAC2AF-K.-HT: !nitia* -xtent ;#< The si9e o3 Hinitial extent is based on assu!tions about the ex!ected s!ace reuireents o3 a table. 5actors such as the nuber and average length o3 the data records@ co!ression@ and the data ty!e used@ !lay an i!ortant role. In case o3 Oracle dictionary anaged tables!aces the values 3or the Hinitial extent can be increased or decreased as reuired. Observe database7s!eci3ic liitations 3or axiu Hinitial extent si9es. &'NSCFE liits the axiu initial extent to a value o3 ,.:8 G0. This ?as i!leented to !revent data load errors o3 very large tables because o3 having not enough consecutive s!ace in a single storage unit@ other?ise sall tables or indexes could bloc the storage unit easily. TodayBs database releases handle the storage ore 3lexibly@ aing this echanis obsolete. (ven i3 the axiu si9e o3 a table is liited to ,.:8 G0 /ore !recisely ,:-- M01@ this in3oration is accurate enough 3or !acage s!litting. I3 &'4O$ cannot 3ind a s!eci3ic table or index entry in the ZP$C$E$G([.(KT 3ile@ the issing entry is ignored and de3ault values are used. Ty!ical ?arning in &'SNCFE.log i3 reaching the si9e liitD > A$&+I+GD &(PO4O$ in S4(KCD initial extent reduced to ,:82":=2-> A$&+I+GD *04)(SE*5(CO+ in $PP4-D initial extent reduced to ,:82":=2--
6igure 0&: ,&3OAD: JPAC2AF-K.ST,
6igure 0): JPAC2AF-K.ST,: Des"ri'tion ;< The ter H!acage is used as a synony 3or &'4O$ structure 3iles /V.ST&1. The data o3 tables in S$P----.ST& ?ill never be ex!orted. $0$P re!ort loads ust be regenerated on the target syste. The $0$P +aetab tables +T5 * +TT /and since %.x +T5CO+<)C * +TTCO+<)C 3or )nicode conversions1 reuire a certain i!ort order. The 6$<$7based Pacage S!litter aes sure that the +aetab tables are al?ays !ut into the sae 3ile /S$P+T$0.ST&1. I3 &'4O$ cannot 3ind a s!eci3ic table or index entry in the ZP$C$E$G([.(KT 3ile@ the issing entry is ignored and de3aults values are used.
6igure 0(: JPAC2AF-K.ST,: Des"ri'tion ;#< The bu33er 3lag is used 3or OS*'=- igrations /as o3 &elease #."$1. It indicates ho? to bu33er tables in an OS*'=- 02 database. Table ty!e /conversion ty!e ?ith code !age change1D > C Y Cluster table > Y yn!ro /screen1 table > + Y +aetab /active $0$P ictionary1 > P Y Pooled table > Y )nicode conversion related !ur!ose > & Y &e!ort table > T Y Trans!arent table > K Y )nicode conversion related !ur!ose &'4O$ activityD > all Y Create table*index and load data > data Y 4oad data only /table ust be created anually1
> struct Y Create table*index@ but do not load any data 5or tables ?hich are ared ?ith Hstruct@ &'4O$ ?ill not create a data ex!ort or i!ort ro? inside the tas 3ile. This ?ill !revent the ex!ort or i!ort o3 un?anted table data. Coents are indicated by a H\ character in the 3irst colun.
6igure 0+: JPAC2AF-K.ST,: O%e"t Stru"ture ;< The total o3 3ield lengths is the o33set o3 the next data record to read in the HZP$CE$G([.Znnn[ 3ile.
6igure 07: JPAC2AF-K.ST,: O%e"t Stru"ture ;#< The HdbsD list s!eci3ies databases 3or ?hich the object should be created. $ leading HL eans the o!!osite. In the above exa!le@ the index M4ST], ?ill be created on all databases exce!t $$ and MSS. The index M4ST],$ ?ill be created on $$ and MSS only. The HdbsD ?as i!leented@ starting ?ith &'4O$ %.#-.
6igure 0: SAP=!-.ST,: =iew Stru"ture
6igure 0: ,&3OAD: JPAC2AF-K.TOC
6igure 0: JPAC2AF-K.TOC: Des"ri'tion The content o3 the ZP$CE$G([.TOC 3ile is used by &'4O$ version #.% and belo?@ to restart an interru!ted ex!ort. $s o3 &'4O$ %.,-@ the ZP$CE$G([.TSE 3ile is used 3or the restart.
6igure : JPAC2AF-K.TOC: !nterna* Stru"ture ).+D
6igure #: JPAC2AF-K.TOC: ,&3OAD ,estart -x'ort The above restart descri!tion is only valid 3or &'4O$ less or eual to #.%L $ restart ?ithout o!tion H7r ?ill 3orce &'4O$ to begin the ex!ort at the very 3irst table o3 the V.ST& 3ile in charge. The existing i!ort V.4OG 3ile ?ill be autoatically renaed to V.S$< and the existing V.TOC 3ile ?ill be reused@ but not cleared. It is recoended to delete the related V.4OG@ V.TOC@ and du! 3iles be3ore re!eating a co!lete ex!ort o3 a single V.ST& 3ile or o3 the ?hole database. I3 &'4O$ ex!ort !rocesses are interru!ted due to a syste crash or a !o?er 3ailure@ the V.TOC 3ile ay list ore ex!orted tables than the du! 3ile really contains /since the o!erating syste ?as not able to ?rite all the du! 3ile bu33ers to dis1. In this case@ a restart can be dangerous as it starts a3ter the last V.TOC entry ?hich ight not be valid. This can lead to issing data or du!licate eys later on. See the troubleshooting cha!ter 3or details on ho? to !revent this situation. &'S(T)P adds the H7r coand line o!tion autoatically ?hen restarting &'4O$.
6igure &: JPAC2AF-K.TOC: !nterna* Stru"ture E +.0
Since &'4O$ %.,-@ the V.TSE 3ile is used to restart a terinated data ex!ortL The V.TOC 3ile is read to 3ind the last ?rite !osition only.
6igure ): JPAC2AF-K.TOC: !nterna* Stru"ture E +.)0 In case o3 s!litted tables@ the AF(&( condition used during the ex!ort is ?ritten into the res!ective V.TOC 3ile. 0e3ore starting the i!ort@ &'4O$ co!ares the AF(&( condition in the V.TOC 3ile against the ?here condition in the V.TSE 3ile. &'4O$ assues a !roble i3 they do not atch and sto!s on error. I3 there is an error during data load and &'4O$ ust be restarted@ the AF(&( condition is used 3or selective deletion o3 already i!orted data. )nicode code !agesD #,-2 0ig (ndian@ #,-' 4ittle (ndian. +on7)nicode code !agesD ,,--@ MMP /3or ex!orts o3 MMP systes1.
6igure (: ,&3OAD: JPAC2AF-K.JnnnK
6igure +: JPAC2AF-K.JnnnK: Des"ri'tion e!ending on the source database used 3or the ex!ort@ a data co!ression ratio o3 bet?een ,D#@ and ,D,- or ore can be achieved. The co!ression is !er3ored at bloc level@ so the 3ile cannot be deco!ressed as a ?hole. Soe versions o3 &'S(T)P*S$PI+ST are asing 3or the axiu du! 3ile si9e /other versions use di33erent de3aults 7 chec the V.CM 3ile 3or the used value1. (ach additional du! 3ile /3or the sae V.ST& 3ile1 is assigned to a ne? nuber /such as S$P$PP4,.--, or S$P$PP4,.--21. The 3iles o3 a P$CE$G( are all
generated in the sae directory /i3 not s!eci3ied di33erently in the V.CM 3ile X [Y%.,- onlyL1. Mae sure that the available dis s!ace is su33icient. $ checsu calculation at bloc level level is i!leented i!leented as o3 &'4O$ &'4O$ #."$ to ensure ensure data integrity integrity.. &'4O$ versions #."$ and above co!are source syste in3oration obtained 3ro the du! 3ile against the actual syste in3oration. I3 &'4O$ detects a di33erence in OS or 0@ a igration ey is necessary to !er3or the i!ort /see GSI section in ex!ort log 3ile1.
6igure 7: JPAC2AF-K.JnnnK: !nterna* Dum' 6i*e Stru"ture &'4O$ reads a certain aount o3 database data into an internal bu33er and does a co!ression on it. The nuber o3 ?ritten blocs /grou!1 ?ill de!end on the co!ression result and bloc si9e used. This 3igure is also ?ritten into the du!@ to tell &'4O$ ho? any blocs to read later on. Since #."$@ a header bloc is used to identi3y heterogeneous syste co!ies and to veri3y the igration ey. I!leented ?ith #."$@ ?as that every grou! o3 co!ressed data blocs has its o?n checsu. 0e3ore a checsu can be veri3ied@ all blocs o3 a grou! ust be read by &'4O$. I3 a du! 3ile has been corru!ted during a 3ile trans3er@ ty!ical &'4O$ read errors ?ill beD &55 /cannot read 3ro 3ile1@ &50 /cannot read 3ro bu33er1@ or Hcannot allocate bu33er o3 si9e .... 5or ore details@ see unit HTroubleshooting.
6igure : ,&3OAD: JPAC2AF-K.3OF
6igure : JPAC2AF-K.3OF: -x'ort 3og ).+D The header entries /GSI1 o3 the ex!ort V.4OG 3ile sho? i!ortant in3oration ?hich can be use3ul 3or the igration ey generation.
6igure #0: JPAC2AF-.3OFK: -x'ort 3og E +.0 Since &'4O$ %.,- the installation nuber o3 the ex!orted syste ?as added.
6igure #: JPAC2AF-.3OFK: !m'ort 3og ).+D
6igure ##: JPAC2AF-K.3OF: ,&3OAD ,estart !m'ort )! to &'4O$ #.%@ the restart !oint 3or an interru!ted i!ort is read 3ro the ZP$CE$G([.log 3ile. The restart !er3ors a delete data /(4(T( 5&OM1 or a dro! table*index. $ restart ?ithout o!tion H7r ?ill 3orce &'4O$ to begin at the very 3irst table o3 the V.ST&. The existing i!ort V.4OG 3ile ?ill be autoatically renaed to V.S$<. The i!ort !rocess ?ill terinate on error@ as the database objects already exist. &'S(T)P adds the H7r o!tion autoatically ?hen restarting &'4O$.
6igure #&: JPAC2AF-K.3OF: !m'ort 3og E +.0 and J +.)0 Since &'4O$ %.,-@ only the V.TSE 3ile is used to restart an interru!ted i!ortL The restart !oint 3or the data load is the 3irst entry in the V.TSE 3ile o3 status error /err1 or execute /xe1.
6igure #): JPAC2AF-.3OFK: !m'ort 3og E +.)0
$s o3 &'4O$ %.#-@ se!arate tie sta!s 3or create table@ load data@ and create index are i!leented. This allo?s a uch better load analytics than on !revious releases.
6igure #(: ,&3OAD: JPAC2AF-K.CMD
6igure #+: JPAC2AF-K.CMD: Des"ri'tion Coand 3iles are autoatically generated by S$P installation !rogras &'S(T)P@ S$PI+ST@ and MIGMO+.
6igure #7: JPAC2AF-K.CMD: !nterna* Stru"ture ).+D The HZP$CE$G([.CM 3iles contain the naes and !aths o3 the 3iles 3ro ?here &'4O$ retrieves its instructions. The nae o3 the HZP$CE$G([.CM 3ile ust be su!!lied in the &'4O$ coand line. &'4O$ du! 3iles can be redirected to di33erent 3ile systes by ada!ting the HdatD entry. The de3ault axiu si9e /3s1 o3 a du! 3ile is o3ten ,---M /,--- M01. Possible unitsD > 0 Y 0yte > E Y Eilobyte > M Y Megabyte > G Y Gigabyte o not change the bloc si9e /bs1. Meaning o3 section naesD > ic3D Inde!endent control 3ile > dc3D atabase de!endent control 3ile > datD ata du! 3ile location > dirD irectory 3ile /table o3 contents1
> extD (xtent 3ile /not reuired at ex!ort tie1 The 4Z0S[.TP4 3ile is o3ten read 3ro the installation directory. In this case@ &'S(T)P*S$PI+ST co!ied it 3ro the ex!ort directory. This is done 3or the o!tion to ada!t storage locations and so on.
6igure #: JPAC2AF-K.CMD: !nterna* Stru"ture E +.0 Meaning o3 section naesD > tsD Tas 3ile > ic3D Inde!endent control 3ile > dc3D atabase de!endent control 3ile > datD ata du! 3ile location /u! to ,% di33erent locations1 > dirD irectory 3ile /table o3 contents1 > extD (xtent 3ile /not reuired at ex!ort tie1 In the above exa!le@ the 3irst du! 3ile S$PPOO4.--, ?ill be ?ritten to *igration*$T$@ the second du! 3ile S$PPOO4.--2 to *ig,*$T$@ and so on. The #th @ "th@ etc.@ ... du! 3ile ?ill be stored in the last de3ined du! location. I3 ore than one P$CE$G( is entioned in a V.CM 3ile@ a single &'4O$ ?ill execute the in seuential order. This ight be use3ul in certain cases.
6igure #: ,&3OAD: JPAC2AF-K.STA
6igure &0: JPAC2AF-K.STA: Des"ri'tion
The values are estiates and serve !riarily to dis!lay the load !rogress. The generation o3 statistic 3iles is s?itched o33 by de3ault. )se &'4O$ o!tion Xs Zstat 3ile[ to ae use o3 the statistic 3eature.
6igure &: ,&3OAD: JPAC2AF-K.TS2
6igure : JPAC2AF-K.TS2: Des"ri'tion Since &'4O$ is using tas 3iles@ the restart !oints are no longer read 3ro V.4OG or V.TOC 3iles. Co!lex restart situations ?ith anual user interventions are inii9ed or ore easy to handle. Objects or data can be easily oitted 3ro the i!ort !rocess by si!ly changing the status o3 the corres!onding ZP$CE$G([.TSE ro?. See S$P +ote #"",=" H&'4O$D Pur!ose o3 TSE 5iles 3or 3urther re3erence.
6igure &&: JPAC2AF-K.TS2: !nterna* Stru"ture 9or -x'ort The slide above sho?s the initial ZP$CE$G([.TSE 3ile content@ a3ter it ?as created by &'4O$. Please chec unit 8 H$dvanced Migration Techniues 3or the table s!lit case.
6igure &): JPAC2AF-K.TS2: !nterna* Stru"ture 9or !m'ort The above ZP$CE$G([.TSE 3ile sho?s the content a3ter &'4O$ has sto!!ed on error. The corres!onding ZP$CE$G([.4OG 3ile contains the error descri!tion*reason. Please chec unit 8 H$dvanced Migration Techniues 3or the table s!lit case.
6igure &(: JPAC2AF-K.TS2: Syntax -*ements The HZP$CE$G([.TSE 3iles are used to de3ine ?hich objects have to be created and ?hich data has to be ex!orted*i!orted by &'4O$. It is also used to 3ind the right restart !osition a3ter a terination. Status > xe Y Tas not yet !rocessed. > o Y Tas success3ully !rocessed. > err Y 5ailure occurred ?hile !rocessing the tas. The next run ?ill dro! the object ordelete*truncate data be3ore re7doing the tas. > ign Y Ignore tas@ do nothing. The Status H ign can be used to oit a tas action and to docuent it as ?ell. Setting a tas anually to Ho ?ill have the sae result@ but it is not visible 3or later checs. There is also an action H ?hich can be used to delete objects ?ith &'load@ but used in exce!tional cases only.
6igure &+: JPAC2AF-K.TS2: Create Tas1 6i*e &'4O$ creates the HZP$CE$G([.TSE 3iles 3ro existing H ZP$CE$G([.ST& 3iles. (xa!leD Create V.TSE 3ile 3or ex!ort &'4O$ 7ct3 ( S$P$PP4-.ST& 4O&$.TP4 S$P$PP4-.TSE O&$ Xl S$P$PP4-.log $3ter starting the database ex!ort or i!ort@ &'4O$ renaes ZP$CE$G([.TSE to ZP$CE$G([.TSE.0CE and inserts line7by7line 3ro ZP$CE$G([.TSE.0CE into a ne? ZP$CE$G([.TSE as soon as a tas /create@ ex!ort@ i!ort@ ignore1 ?as 3inished success3ully /statusD o1 or unsuccess3ully /statusD err1. &'4O$ autoatically deletes ZP$CE$G([.TSE.0CE a3ter each run. In the case o3 restarting@ &'4O$ searches in the ZP$CE$G([.TSE 3or not co!leted tass o3 status Herr or Hxe@ and executes the. In case o3 table s!litting@ the content o3 the AF(&( 3ile /V.AF&1 is added to the tas 3ile.
6igure &7: JPAC2AF-K.TS2: Merge O'tion ;< In rare cases@ it ay be necessary to rebuild an already used ZP$CE$G([.TSE 3ile a3ter a hard terination@ caused by o!erating syste crashes@ !o?er 3ailures@ etc. This ust be done by erging the 3ile ZP$CE$G([.TSE.0CE ?ith ZP$CE$G([.TSE. +oteD I3 ore than one &'4O$ is executing the sae tas 3ile by accident@ one o3 the !rocesses ?ill 3ind an existing ZP$CE$G([.TSE.0CE 3ile and then sto! on error. This should !revent running !arallel &'4O$ !rocesses against the sae database objects. The H7ergebc o!tion can only be used in cobination ?ith H7e or H7i. The ex!ort or i!ort ?ill start iediately a3ter the erge is 3inishedL The erge o!tion H7ergeonly erges the ZP$CE$G([.TSE.0CE into the ZP$CE$G([.TSE 3iles@ but does not start an ex!ort or i!ort.
6igure &: JPAC2AF-K.TS2: Merge O'tion ;#< &'4O$ sto!s on error i3 a ZP$CE$G([.TSE.0CE 3ile is 3ound@ as it is not clear ho? to !roceed. 5or exa!le@ a !o?er 3ailure interru!ted the i!ort !rocesses and &'4O$ ?ill not be able to cleanu! the ZP$CE$G([.TSE.0CE and ZP$CE$G([.TSE 3iles. The current content o3 both 3iles are sho?n above.
6igure &: JPAC2AF-K.TS2: Merge O'tion ;&< $3ter &'4O$ has been restarted ?ith o!tion H7ergebc@ the content o3 ZP$CE$G([.TSE.0CE ?ill be co!ared against ZP$CE$G([.TSE@ and the issing lines ?ill be co!ied to ZP$CE$G([.TSE. In this stage@ it is not no?n ?hether soe objects not listed in ZP$CE$G([.TSE already exist in the database. &'4O$ solves this !roble by changing the status o3 each Hxe line to Herr@ to 3orce a H&OP or H(4(T( stateent be3ore re!eating an i!ort tas.
6igure )0: JPAC2AF-K.TS2: Merge O'tion ;)< $3ter the tas 3ile erge is co!leted@ &'4O$ ?ill atte!t to dro! each object be3ore creating it. (rrors caused by dro! stateents are ignored.
6igure ): JPAC2AF-K.TS2: ,&3OAD ,estart Be$avior +o s!ecial &'4O$ restart o!tion is necessaryL &are cases are hard terinations caused by !o?er 3ailures and o!erating syste crashes. (x!ort ?rite orderD du! data@ ZP$CE$G([.TOC@ ZP$CE$G([.TSE
6igure )#: ,&3OAD: JTABA,TK.SN3
6igure )&: $y Do B O%e"ts /eed S'e"ia* >and*ing? In the case o3 0A non7standard database objects@ the $0$P ictionary contains table and index de3initions that are not su33icient to describe all objects !ro!erties. The issing in3oration is held in the 0A eta data /i.e. !artition in3oration@ bit a!!ed indices@ ...1. &'4CT4 reads the $0$P ictionary only. $dditional in3oration 3ro 0A eta data cannot be inserted into V.ST& 3iles. The V.ST& 3ile content is enough to ex!ort and i!ort 0A data via &'4O$@ but is insu33icient to create the 0A object in the target syste. To overcoe the existing liitations o3 &'4CT4 and &'4O$@ the re!ort SMIG&C&($T(4 ?as develo!ed@ ?hich ?rites database s!eci3ic 4 stateents into V.S4 3iles. &'4O$ ?as extended to s?itch bet?een the noral ?ay o3 creating tables and indexes@ and the direct execution o3 4 stateents 3ro a V.S4 3ile. So it is !ossible to create non7standard database objects and to load data into the using &'4O$.
6igure )): JTABA,TK.SN3: 6i*e Feneration The re!ort SMIG&C&($T(4 is andatory 3or all systes using non7standard database objects /ainly 0A objects1. Since +etAeaver :.-2@ SMIG&C&($T(4 inserts the list o3 created ZT$0$&T[.S4 3iles into the 3ile S45iles.4ST.
6igure )(: JTABA,TK.SN3: Content =ariants (xa!le ,D &'4O$ creates table *0I-*0----,-'---@ using the su!!lied C&($T( T$04( stateent. e!ending on the 4Z0S[.TP4@ content data ?ill be loaded be3ore or a3ter the !riary ey *0I-*0----,-'---]- creation. (xa!le 2D &'4O$ creates table *0I-*0----,-%--- and !riary ey *0I-*0----,-%---]- in a single ste!. $3ter?ards@ data ?ill be loaded. $s the *0I-*0----,-%---]- S4 section is e!ty@ &'load ?ill not try to create *0I-*0----,-%---]- again. This con3iguration is used to ae sure that table and index ?ill al?ays be created together@ inde!endent 3ro 4Z0S[.TP4 entries.
(xa!le 'D &'4O$ creates table *0I-*0----,-8--- and ?ill load data into it. $s the index *0I-*0----,-8---]- has no S4 section@ no 3urther action is reuired. The table ?ill not have a !riary ey. (!ty S4 sections are used to !revent &'4O$ 3ro creating objects according to V.ST& 3ile content.
6igure )+: JTABA,TK.SN3: -xam'*e Content ;< The exa!le above cobines a create table and a create uniue index stateent@ 3orcing &'load to load data a3ter the index creation /?hich can be use3ul 3or soetable ty!es1. The variable $PP4- ?ill be re!laced by the T$0$&T according to 4Z0S[.TP4 content.
6igure )7: JTABA,TK.SN3: -xam'*e Content ;#<
6igure ): ,&3OAD: -xe"ution o9 -xterna* SN3 Statements Since &'4O$ :.2-@ the 3ile S45iles.4ST is exained and the existence o3 the entioned ZT$0$&T[.S4 3iles is veri3ied. The S45iles.4ST is searched in the current directory and then in the ex!ort 0 directory. S$PI+ST is taing care@ that the ZT$0$&T[.S4 3iles and the S45iles.4ST is !ut into the right !lace. 0e3ore &'4O$ assebles the 3irst S4 stateent@ it searches 3or a ZT$0$&T[.S4 3ile@ ?hich atches the T$0$&T o3 the 3irst object. The ZT$0$&T[.S4 3ile is searched in the current directory 3irst and then in the 0*Z0S[ directory. $ll object naes in the ZT$0$&T[.S4 3ile ?ill be added to an internal list /index1. &'load ?ill then scan the internal list 3or a atching object nae !rior to assebling a create object stateent. I3 a atch has been 3ound@ the S4 stateent 3ro the ZT$0$&T[.S4 3ile ?ill be used@ instead o3 building a stateent according to 4Z0S[.TP4 content. &'4O$ can only read one ZT$0$&T[.S4 3ile !er V.ST& 3ileL The usage o3 a ZT$0$&T[.S4 3ile ay not be entioned in the i!ort log 3ile be3ore &'4O$ :.2-.
6igure ): !m'ort 3og s$owing t$e JTABA,TK.SN3 Sear"$ The S45iles.4ST is read by &'4O$ to retrieve the V.S4 3ile naes. &'4O$ ?ill abort@ i3 there is a ZT$0$&T[.S4 3ile entioned in the list@ ?hich cannot be 3ound. This ?as i!leented as an additional sa3ety echanis. Inde!endent 3ro the S45iles.4ST content@ &'4O$ is searching 3or the ZT$0$&T[.S4 3iles based on the T$0$&T in the res!ective ZP$CE$G([.ST& 3ile. (ven i3 a ZT$0$&T[.S4 3ile is not in the S45iles.4ST it ?ill be used@ i3 it ?as 3ound by &'4O$.
6igure (0: Common ,&3OAD Command 3ine O'tions ;< Increasing the coit count can i!rove database !er3orance@ i3 a database onitor sho?s the cause o3 the slo?ing do?n o3 the database leading to the nuber o3 coits as o!!osed to loading o3 the data. Changing the value can also decrease !er3orance. 4oad tests are recoended. The de3ault coit count is a!!roxiately , coit 3or ,-.--- ro?s. The H7 or H7E o!tion is not valid 3or &'4O$ belo? #."$. 5or additional &'4O$ o!tions@ see H&'4O$ 7h. The o!tion H7continueonerror is dangerous 3or the ex!ortL On MMP systes@ &'4O$ %.x autoatically uses a duy code !age called HMMP@ ?hich indicates Hdo no conversion. The MMP code !age entry can be seen in the V.TOC 3ile. 5or the conversion o3 MMP systes to )nicode@ see unit ,, HS!ecial Projects.
6igure (: Common ,&3OAD Command 3ine O'tions ;#< The statistic data 3ile is use3ul to ?atch the load !rogress o3 large data du! 3iles. O!tion H7o can be cobined ?ith o!tion H7ct3 /create tas 3ile1@ H7e /ex!ort1@ and H7i /i!ort1. In the cobination ?ith H7ct3@ the corres!onding tass ?ill not be inserted into the V.TSE 3ile. The H7o o!tions is used in the case o3 the i!ort o3 s!litted tables. 5or exa!leD &'4O$ 7ct3 I R resulting tas 3ile contentD > T T$0-, C xe > T$0-, I xe > P T$0-,]- I xe > &'4O$ 7o 7ct3 I R resulting tas 3ile contentDcontentD > T T$0-, C xe
> P T$0-, C xe Since &'4O$ %.#-@ the H7v coand line o!tion sho?s the !rogra co!ile tie@ to ae it easier to identi3y !atch levels. atabase s!eci3ic load o!tions can be listed by H7h. The o!tions are used to s!eed u! the &'4O$ i!ort by!assing database echaniss@ ?hich are not reuired 3or a syste co!y load. I3 in doubt about ?hich o!tions are recoended@ chec to see ?hat &'S(T)P or S$PI+ST is using.
6igure (#: DB S'e"i9i" ,&3OAD O'tion: 3oad Pro"edure 6ast ,. -=-"%,# 0%D &'load 7load!rocedure 3ast COMP&(SS ,-"8#2: 0%D &'load o!tions 3or co!act installation 2. ,#%#"%- 5$ &'load in Max0@ ,-,#:82 Max0D 5$ Syste Co!y '. ,-"#8"2 &ecoendations 3or igrations to MS S4 Server #. ,-#"8#: O&$C4( I&(CT P$TF 4O$ S)PPO&T I+ &'4O$ ,-#%,-' O&$C4( I&(CT P$TF 4O$ S)PPO&T I+ &'4O$ :.-- $+ 4$T(& ". ,"=,#2# S0D :.-2 Feterogeneous syste co!y ?ith target Sybase $S( ,%:2'%: S0D :.'- Feterogeneous syste co!y ?ith target Sybase $S(
6igure (&: ,&3OAD Command 3ine -xam'*es
53OAD 6i*es 3esson Overview This lesson ex!lains the !ur!ose@ content@ and structure o3 the 64O$ control and data 3iles.
3esson O%e"tives $3ter co!leting this lesson@ you ?ill be able toD > )nderstand the !ur!ose@ contents@ and structure o3 the 64O$ control@ and data 3iles This lesson describes the 64O$ control and data 3iles in every as!ect.
Business -xam'*e Probles occurred during a 64O$ syste co!y. 5or troubleshooting@ you need to no? the !ur!ose o3 all the various control 3iles created.
6igure (): Overview: 53OAD Contro* and Data 6i*es S$PI+ST :.-2 and its i!roveents on 64O$ /6PEGCT4@ 6MIGMO+1 ?ere i!leented 3or +etAeaver :.-2 the 3irst tie. Other versions lie +etAeaver :.,- have an higher version nuber@ but ?ere released earlier. This leads to a situation that a lo?er +etAeaver version /:.-21 sees to !rovides ore /advanced1 64O$ 3unctionalities than a higher +etAeaver version /i.e. :.,-1. In generalD i3 no 6PEGCT4 ?as used or is available@ 64O$ behaves lie in +A :.--@ i3 6PEGCT4 ?as run the behavior is siilar to the +A :.-2 exa!les.
6igure ((: 53OAD: 5o 6i*es
6igure (+: -x'ort 5o 6i*e +.)0 7.00 6ob 3iles are used to s!eci3y 64O$ actions. S$PI+ST in +etAeaver B-# S&, and +etAeaver -#S is starting a single 64O$ !rocess@ ?hich ex!orts the ?hole 6$<$ schea /eta data and table data1. The de3ault data du! 3ile nae is H(KP)MP. 64O$ can create the (KPO&T.KM4 and IMPO&T.KM4 3iles by itsel3. The job 3ile can also contain a axiu data du! 3ile si9e. Aithout such a !araeter@ the de3ault si9e is set to 2 G0. 5or exa!leD Zex!ort 3ileYH(KP)MP si9eYH,--M0[ 5uture versions ay contain additional object ty!es lie database vie?s /?hich are not used yet1.
6igure (7: -x'ort 5o 6i*es "reated y 5P2FCT3 7.0# Starting ?ith S$PI+ST :.-2@ 6PEGCT4 can be used to create the 64O$ job 3iles. The eta data describing a table or index /(KPO&TM(T$$T$.KM4 * (KPO&TPOSTP&OC(SS.KM41 is se!arated 3ro the data ex!ort /(KPO&TZP$CE$G([.KM41. This allo?s ulti!le 64O$ ex!ort and i!ort !rocesses. 5or table s!litting it is necessary to create the table 3irst@ then load data@ and create indices a3ter?ards /!ost7!rocessing1.
6igure (: -x'ort 5o 6i*es 5P2FCT3 7.&0 In :.'-@ there is one eta data ex!ort@ several !acage ex!orts@ and 3or each !acage its o?n !ost7!rocess ex!ort job 3ile.
6igure (: !m'ort 5o 6i*e +.)0 7.00 6ob 3iles are used to s!eci3y 64O$ actions. In +etAeaver -# S&, and +etAeaver -#S@ S$PI+ST is starting a single 64O$ !rocess@ ?hich i!orts the entire 6$<$ schea.
6igure +0: !m'ort 5o 6i*es "reated y 5P2FCT3 7.0# 5or table s!litting it is necessary to create the table 3irst@ then load data@ and create indexes a3ter?ards /!ost7 !rocessing1.
6igure +: !m'ort 5o 6i*es 5P2FCT3 7.&0 In :.'-@ there is one general eta data i!ort@ ulti!le !acage i!orts@ and 3or each !acage its o?n !ost7!rocess i!ort job 3ile.
6igure +#: 53OAD: Status 6i*es
6igure +&: -x'ort Status 6i*e +.)0 7.00 The above V.ST$ 3ile contains the ex!ort status. $s soon as an ite is ex!orted@ a ne? line ?ill be added to the V.ST$ 3ile. The content o3 the V.ST$ 3ile is used to identi3y ?here to !roceed@ in case o3 a restart. The status can either be HOE 3or success3ul@ or H(&& 3or 3ailed. In +etAeaver -# S&,@ the H(KPO&T.ST$ 3ile can be 3ound underD *usr*sa!*ZS$P SI[*ZInstance[*j2ee*sltools Chec the S$PI+ST log 3ile 3or the location in other versions.
6igure +): -x'ort Status 6i*es 7.0# The eta data ex!ort is se!arated 3ro the table data ex!ort.
6igure +(: !m'ort Status 6i*e +.)0 7.00 The above V.ST$ 3ile contains the i!ort status. $s soon as an ite is i!orted@ a ne? line ?ill be added to the V.ST$ 3ile. The content o3 the V.ST$ 3ile is used to identi3y ?here to !roceed@ in case o3 a restart. The status can either be HOE 3or success3ul@ or H(&& 3or 3ailed.
6igure ++: !m'ort Status 6i*es 7.0# 5irst the eta data is a!!lied /create table@ !riary ey1@ then the data i!ort taes !lace /insert1@ and 3inally the secondary indexes are generated /!ost7!rocessing1.
6igure +7: 53OAD: G.3OF 6i*es
6igure +: -x'ort 3og The existence o3 a atching ex!ort V.ST$ 3ile identi3ies a restart situation@ other?ise the ex!ort starts 3ro scratch. +etAeaver :.-2 64O$ ?rites log 3iles ?ith the 3ollo?ing naing conventionsD (KPO&TM(T$$T$.KM4.4OG@ (KPO&TZP$CE$G([.KM4.4OG@ and (KPO&TPOSTP&OC(SS.KM4.4OG. It se!arates the eta data ex!ort 3ro table data ex!ort.
6igure +: !m'ort 3og The existence o3 a atching i!ort V.ST$ 3ile identi3ies a restart situation@ other?ise the i!ort starts 3ro the 3irst data du! 3ile entry. +etAeaver :.-2 64O$ ?rites log 3iles ?ith the 3ollo?ing naing conventionsD IMPO&TM(T$$T$.KM4.4OG@ IMPO&TZP$CE$G([.KM4.4OG@ and IMPO&TPOSTP&OC(SS.KM4.4OG. It se!arates the eta data i!ort 3ro table data i!ort and !ost7 !rocessing.
6igure 70: 53OAD: -x'ort !m'ort Statisti" 6i*es
6igure 7: -x'ort !m'ort Statisti" 6i*es 7.0# The HVP$CE$G(.ST$T.KM4 3iles ?ill be read by 6MIGTIM( to create the corres!onding ex!ort*i!ort tie lists and FTM4 gra!hics.
6igure 7#: 53OAD: Data Dum' 6i*e
6igure 7&: Data Dum' 6i*e Stru"ture +.)0 7.00 I3 not other?ise s!eci3ied in the ex!ort job 3ile@ a du! 3ile can gro? u! to 2 G0 be3ore an additional 3ile ?ill be autoatically created /i.e. Z)MP[.--,@ Z)MP[.--2@ ...1. 0ecause the length o3 each data bloc can be 3ound in the res!ective header@ 64O$ can easily search 3or a certain location inside the data du! 3ile.
6igure 7): Data Dum' 6i*e Stru"tures 9or se'arated Meta Data I3 6PEGCT4 ?as used eta data and table data ?ere !ut into se!arate du! 3iles.
6igure 7(: 5P2FCT3 ;5SP3!TT-,<: Pa"1age Si@es
6igure 7+: Si@e !n9ormation 9or 5M!FMO/ $3ter the !acage s!litting ?as ?as co!leted@ co!leted@ 6PEGCT4 6PEGCT4 ?rites ?rites the Hsi9es.xl Hsi9es.xl 3ile containing containing the ex!ected ex!ected !acage si9es. This hel!s 6MIGMO+ to identi3y large !acages ?hich should be ex!orted 3irst.
6igure 77: Common 53OAD Command 3ine O'tions ParaetersD > url Y url 3or database to connect > driver Y 60C database driver > auth Y database logon I3 no job 3ile is s!eci3ied@ the co!lete database ?ill be ex!orted by de3ault. In addition@ suitable H(KPO&T.KM4 and HIMPO&T.KM4 3iles ?ill be generated. The de3ault log 3ile nae ?ill be H64O$.4OG@ unless a job 3ile is s!eci3iedU in this case@ the log 3ile ?ill get the sae nae as the job 3ile@ ?ith V.KM4 re!laced by V.4OG.
6igure 7: Common 53OAD Command 3ine O'tions
-xer"ise 7: ,&3OAD 4 53OAD 6i*es ;Part !< So*ution 7: ,&3OAD 4 53OAD 6i*es ;Part !< Tas1 : In a 0 igration o3 a large database to Oracle@ it ?as decided to ove the heavily7used custoer table NT&, /T$0$&T $PP4,1 to a se!arate table s!ace. +o changes ?ere done to the $0$P dictionary in advance. The ex!ort ?as executed the noral ?ay. ,. Ahat changes should be done to the &'4O$ 3iles 3or creating table NT&, and its indexes in tables!ace PS$PS&'NNT&, and to load data into it 5ragent o3 S$P$PP4,.ST& tabD NT&, attD $PP4, # T all NT&,]- $PP4, # 3ldD M$+T C4+T ' - - notnull , 3ldD M04+& CF$& ,- - - notnull 2 3ldD TSTMP 54TP 8 - ,% notnull indD NT&,]PSP attD NT&, $PP4, # notuniue 3ldD M$+T 3ldD TSTMP
$3ter the i!ort is 3inished@ 3inished@ ?hich ?hich dictionary dictionary aintenance aintenance tass tass should be done done a1 To create additional tables!aces on the target database@ the 3iles 0SIN(.TP4 or 0SIN(.KM4 ust be ada!ted. $ ne? T$0$&T * table7s!ace assignent ust be added in the 3ile 4O&$.TP4 3ileD \ table storage !araeters NNT&, PS$PS&'NNT&, \ index storage !araeters NNT&, PS$PS&'NNT&, ` and the original T$0$&T in the S$P$PP4,.ST& 3ile has to be changed 3roD tabD NT&, attD $PP4, # T all NT&,]- $PP4, # 3ldD M$+T C4+T ' - - notnull , 3ldD M04+& CF$& ,- - - notnull 2 3ldD TSTMP 54TP 8 - ,% notnull indD NT&,]PSP attD NT&, $PP4, # notuniue 3ldD M$+T 3ldD TSTMP
toD tabD NT&, attD NNT&, # T all NT&,]- NNT&, # 3ldD M$+T C4+T ' - - notnull , 3ldD M04+& CF$& ,- - - notnull 2 3ldD TSTMP 54TP 8 - ,% notnull indD NT&,]PSP attD NT&, NNT&, # notuniue 3ldD M$+T 3ldD TSTMP
2. $3ter the i!ort is 3inished@ ?hich dictionary aintenance tass should be done a1 $3ter the i!ort is 3inished@ the $0$P dictionary should be aintained 3or table NT&, /u!date tables $&T@ $&TT@ TSO&$@ TSO&$@ T$O&$@ I$O&$ and -=41.
Tas1 #: $n In3orix In3orix ex!ort o3 a heterogeneo heterogeneous us syste co!y co!y ?ith &'4O$ &'4O$ %.x %.x is short on on dis s!ace. s!ace. +one o3 the available 3ile systes is large enough to store the ex!ected aount o3 du! data. $ll T$0$ T$0$&T &Ts s ?ill 3it into the Hsa!reorg Hsa!reorg 3ile syste@ syste@ exce!t exce!t T$0$ T$0$&T &T C4)ST C4)ST@@ ?hich has a si9e o3 %-- M0. 5ile syste $D *tools*ex!, ] #-- M0 3ree 5ile syste 0D *oracle*C,,*sa!reorg*ex! ] #"-- M0 3ree 5ile syste CD *usr*sa!*trans*ex!2 ] '"- M0 3ree ,. Ahich S$PC4)ST.cd 3ile content ?ould allo? an ex!ort ?ithout any anual intervention tsD *oracle*C,,*sa!reorg*install*S$PC4)ST.TSE ic3D *oracle*C,,*sa!reorg*ex!*$T$*S$PC4)ST.ST& dc3D *oracle*C,,*sa!reorg*install*4I+5.TP4 datD *oracle*C,,*sa!reorg*ex!*$T$* bsY, 3sY,---M dirD *oracle*C,,*sa!reorg*ex!*$T$*S$PC4)ST.TOC
a1 Original S$PC4)ST.cd tsD *oracle*C,,*sa!reorg*install*S$PC4)ST.TSE ic3D *oracle*C,,*sa!reorg*ex!*$T$*S$PC4)ST.ST& dc3D *oracle*C,,*sa!reorg*install*4I+5.TP4 datD *oracle*C,,*sa!reorg*ex!*$T$* bsY, 3sY,---M dirD *oracle*C,,*sa!reorg*ex!*$T$*S$PC4)ST.TOC
Modi3ied S$PC4)ST.cd S$PC4)ST.cd tsD *oracle*C,,*sa!reorg*install*S$PC4)ST.TSE ic3D *oracle*C,,*sa!reorg*ex!*$T$*S$PC4)ST.ST& dc3D *oracle*C,,*sa!reorg*install*4I+5.TP4 datD *tools*ex!,*$T$* bsY, 3sY'--M datD *usr*sa!*trans*ex!2*$T$* bsY, 3sY'--M dirD *oracle*C,,*sa!reorg*ex!*$T$*S$PC4)ST.TOC
2. Ahich other solutions are !ossible ?ith ore or less anual intervention a1 Move the du! 3iles o3 sall !acages out o3 the ex!ort directory@ as soon as they are co!leted. It can also be hel!3ul to reduce the du! 3ile si9e@ to ove co!leted du! 3iles o3 large !acages sooner.
Tas1 &: Ahile doing an ex!ort@ &'4O$ sto!s on error@ because an ex!ected table does not exist. This sees to be an inconsistency bet?een the $0$P ictionary and the database dictionary. $s ost o3 the tables are already ex!orted@ it does not ae sense to restart the S$P instance to 3ix the !roble and to re!eat the ex!ort a3ter?ards. ,. Fo? can &'4O$ #.x be 3orced to si! the ex!ort o3 the table a1 a1 &'4O$ #.xD In the V.ST& 3ile@ the de3initions o3 the non7existing table /and its indexes1 can be ared as coents@ by !lacing a H\ at the beginning o3 each line. eleting the entries ?ould also ?or@ but a3ter?ards the change ?ill not be visible to others ?ho ight be searching 3or errors. &estart &'4O$. 2. Fo? can &'4O$ %.x be 3orced to si! the ex!ort o3 the table a1 &'4O$ %.xD Change the status o3 the table entry inside the ex!ort V.TSE 3ile to Hign /ignore1. This ?ill hel! 3ix the ex!ort !roble@ but 3or the i!ort@ you ?ill still have to a change the V.ST& 3ile /see &'4O$ #.x1. &estart &'4O$.
Tas1 ): uring a heterogeneous syste co!y@ because o3 a istae ?hile cleaning u! soe tables in an Oracle database@ the content o3 table $T$0 ?as accidentally deleted. The S$P Syste ?as not started yet@ but the load o3 all tables is already 3inished. ,. &'4O$ #.xD Ahat can be done to load the content o3 table $T$0 ?ithout re7creating the table or an index $t least t?o t?o solutions solutions are !ossible. !ossible. Ahich 3iles ust be be created@ created@ and ?hat ?hat should should the &'4O$ &'4O$ coand coand line loo lie Table $T$0 belongs to T$0$&T POO4. S$PPOO4.cdD ic3D *ex!*$T$*S$PPOO4.ST& dc3D *install*40S.TP4 *install*40S.TP4 datD *ex!*$T$* bsY, 3sY,---M dirD *ex!*$T$*S$PPOO4.TOC extD *ex!*0*0S*S$PPOO4.(KT
/ote: Chec 3or &'4O$ coand line o!tions at the end o3 )nit :L a1 a1 Co!y S$PPOO4.ST& to $T$ $T$0.ST& 0.ST& b1 &eove everything 3ro $T$0.ST& that doesnBt belong to table $T$0. c1 Inside $T$0.ST&@ change the action 3ield 3ro Hall to Hdata d1 Co!y S$PPOO4.cd to $T$0.cd $T$0.cd e1 Change the content o3 $T$0.cd $T$0.cd 3roD ic3D *ex!*$T$*S$PPOO4.ST& dc3D *install*4Z0S[.TP4 *install*4Z0S[.TP4 datD *ex!*$T$* bsY, 3sY,---M dirD *ex!*$T$*S$PPOO4.TOC extD *ex!*0*Z0S[*S$PPOO4.(KT
toD ic3D *Zdirectory !ath[*$T$0.ST& dc3D *install*4Z0S[.TP4 *install*4Z0S[.TP4 datD *ex!*$T$* bsY, 3sY,---M dirD *ex!*$T$*S$PPOO4.TOC extD *ex!*0*Z0S[*S$PPOO4.(KT
31 &'load Xi $T$0.cd X! $T$0.log X igration ey
2. &'4O$ %.xD Ahich &'4O$ %.x 3eatures and coand line o!tions can be used to load table $T$0 again a1 $s in solution ,@ but si! ste! c1. The &'load coand line loos di33erentD &'load Xo TI
Tas1 (: In an Oracle OS igration the database ust be installed ?ith dictionary7anaged tables!aces because o3 certain reasons. $3ter the test i!ort@ soe large tables and indexes sho? a huge aount o3 extents. ,. The custoer ada!ted the +ext (xtents values in the source database on a regular base. Ahat are the reasons o3 so any extents in the target database a1 The next extent values used by &'4O$ are obtained 3ro the si9e categories o3 the $0$P ictionary. These si9e categories are !art o3 the technical settings o3 tables and ?ill not be u!dated by any external database adinistration tool. I3 &'SNCFE co!utes the initial extent o3 tables saller than needed@ the nuber o3 next extents increases because the si9e category values are o3ten too sall. 2. Ahat can be done to reduce the nuber o3 extents in the next test run a1 The initial or next extent values o3 the involved tables should be increased by odi3ying the V.(KT or V.ST& 3ile.
-xer"ise : ,&3OAD 4 53OAD 6i*es ;Part !!I >andsOn -xer"ise< (xercise urationD 2" Minutes
-xer"ise O%e"tives $3ter co!leting this exercise@ you ?ill be able toD > )se &'4O$ standalone. > Manually create V.TSE and V.CM 3iles.
Business -xam'*e ou ?ant to execute &'4O$ standalone@ to 3ix !robles or to ae use o3 s!eci3ic settings not !ossible in the standard setu!@ i.e. ?ith S$PI+ST.
So*ution : ,&3OAD 4 53OAD 6i*es ;Part !!I >andsOn -xer"ise< Tas1 : This is a hands7on exercise 3or ?hich you ust logon to the source syste o3 the exa!le igration. FostnaeD Grou!7I Telnet user Pass?ordD Fostnae Instance \D S$P user Pass?ordD Client \ I3 there is a uniue grou! nuber on your ?orstation onitor@ !lease use this nuber as your Grou!7I. e!ending on the training setu!@ use the Aindo?s &eote esto! Connection or Telnet to logon to syste (< /logon ethod@ user@ !ass?ord@ and hostnae as su!!lied by the trainer1. /ote: ou ?ill logon as an adinistratorL Please do not ae any changes to the syste@ exce!t 3or those ex!lained in this exercise. ,. Per9orm t$e 9o**owing 're'aration ste's: Change to the drive and the directory as su!!lied by the trainer Co!y the ?hole directory HT(MP4$T( to your ?or directory. )se nae ?orJgrou'idK /i.e. Hxco!y T(MP4$T( ?or--1 (xecute Henv.bat in your ?or directory. It ?ill set reuired environent variables. &e!eat this ste! a3ter each logonL Change to your ?orJgrou'idK directory /i.e. ?or--1 )se the editor note'ad 3or the Aindo?s &eote esto! Connection or xvi 3or Telnet to !er3or the 3ollo?ing odi3icationsD In NN$&(SS.ST& change the table and !riary ey nae NN$&(SS to NN$&(SSJgrou'idK /i.e. NN$&(SS--1
NN$&(SS]- to NN$&(SSJgrou'idK]- /i.e. NN$&(SS--]-1 In NN$&(SS.(KT change the table and !riary ey nae NN$&(SS to NN$&(SSJgrou'idK NN$&(SS]- to NN$&(SSJgrou'idK]In NN$&(SS.TOC change the table nae N$&(SS to NN$&(SSJgrou'idK >int: -dit /otes xvi surviva* guide The editor Hxvi is a Hvi i!leentation 3or Aindo?s systes@ ?hich ?ors very ?ell on telnet sessions. Insert odeD !ress Hi@ end insert odeD !ress H(sca!e elete character under cursorD !ress Hx elete character ?hile in insert odeD !ress H0acs!ace Save 3ileD enter HD? /?rite and uit1@ i3 it doesnBt ?or@ !ress H(sca!e and try it again o not use cursor eys ?hile in insert odeU !ress H(sca!e 3irst a1 QQADD,-SS.ST, tabD NN$&(SS-- attD SS(KC - KK T all NN$&(SS--]- )S(& 3ldD +$M( CF$& '- - - notnull , 3ldD CIT CF$& '- - - notnull -
QQADD,-SS.-HT NN$&(SS-- ,%'8# NN$&(SS--]- ,%'8#
QQADD,-SS.TOC vnD &%.#-*<,.# idD adb,c'%e------#% c!D #,-' data?ithchecsu tabD F($(&Q 3ilD NN$&(SS.--, ,-2# , , eotD \- ro?s 2--"-%-%,#,:"8 tabD N N$&(SS-3ilD NN$&(SS.--, ,-2# 22 eotD \2- ro?s 2--"-%-%,#,:"8 eo3D \2--"-%-%,#,:"8
Tas1 #: ,. Ahich 3ields belong to the !riary ey o3 table NN$&(SS Jgrou'idK a1 The !riary ey uses 3ield +$M( only.
Tas1 &: ,. 4ogon to S$P Syste (< and veri3y the $0$P ictionary against the 0 ictionary in transaction 0-2. Save the sho?n out!ut to a 3ile. a1 Chec 3or tables that only exist in the database@ but not in the $0$P ictionary
Tas1 ): ,. )se &'4O$ to create the i!ort tas 3ile NN$&(SS.TSE. a1&'load 7ct3 I NN$&(SS.ST& 4MSS.TP4 NN$&(SS.TSE MSS7l NN$&(SS.log QQADD,-SS.TS2: T NN$&(SS-- C xe P NN$&(SS--]- C xe NN$&(SS-- I xe
Tas1 (: ,. )se an editor to create an &'4O$ coand 3ile@ ?hich can be used to i!ort table NN$&(SS Jgrou' idK /ote: &'load 3or Aindo?s is recogni9ing H^ and H* as !ath se!arator. a1 tsD NN$&(SS.TSE ic3D NN$&(SS.ST& dc3D 4MSS.TP4 datD .^ bsY,E 3sY,---M dirD NN$&(SS.TOC extD NN$&(SS.(KT
A*ternate notation: tsD NN$&(SS.TSE ic3D NN$&(SS.ST& dc3D 4MSS.TP4 datD .* bsY,E 3sY,---M dirD NN$&(SS.TOC extD NN$&(SS.(KT
Tas1 +: ,. I!ort table NN$&(SSJgrou'idK ?ith &'4O$ and chec the content o3 table NN$&(SS Jgrou' idK by using the MSS coand line utility Hosl. The coand line is case sensitiveL osl 7( 7 S(4(CT V 5&OM dev.NN$&(SSJgrou'idK a1 I!ort table NN$&(SS--D &'load 7dbcode!age #,-' 7i NN$&(SS.cd 7l N N$&(SS.log
NN$&(SS.logD /IMP1 I+5OD i!ort o3 NN$&(SS-- co!leted /2- ro?s1
NN$&(SS.TSED T NN$&(SS-- C o P NN$&(SS--]- C o NN$&(SS-- I o osl 7( 7 S(4(CT V 5&OM dev.NN$&(SS-- Aattenberg Muenchen Aerle O33enbach /2- ro?s a33ected1
/ote: $s the du! ?as created on a little endian )nicode syste /see NN$&(SS.TOC1@ the i!ort ust be !er3ored ?ith dbcode!age H#,-'. 5or ore in3oration on Hosl@ see docuent HMSSosl.txt in your ?or directory. Ignore &'4O$ essages starting ?ith Hsa!!araD sa!!araD sa!argv/ argc@ argv1 has not been called. sa!!ara/,c1D +o Pro3ile used. sa!!araD S$PSST(M+$M( neither in Pro3ile nor in Coandline
Tas1 7: &e!eat the veri3ication o3 the $0$P ictionary against the 0 ictionary /do a re3reshL1. ,. oes the out!ut loo di33erent than be3ore +e? entries a1 Transaction 0-2 ?ill sho? your i!orted table NN$&(SS--. I3 not@ re3resh the dis!lay /tables o3 your student neighbors ight be visible as ?ell1.
Tas1 : Try to load table NN$&(SS Jgrou'idK again by changing the NN$&(SSZgrou!7id[. TSE 3ileD NN$&(SSZgrou!7id[ I o R NN$&(SSZgrou!7id[ I xe
,. Ahat ha!!ened Ahat is the content o3 NN$&(SS.TSE and NN$&(SS.log a1 0ecause o3 the !riary ey on 3ield H+$M(@ it is i!ossible to insert t?o identical naes. &'4O$ returns an error /rcY2% error1. The NN$&(SS.TSE 3ile containsD NN$&(SS-- I err
NN$&(SS.logD /IMP1 (&&O&D bSl(ndModi3y 3ailed rc Y 2%@ table NN$&(SS--
2. Try the i!ort again@ ?hat ha!!ens no? a1 The i!ort ?ors the second tie as the status Herr in NN$&(SS.TSE 3orces &'4O$ to delete the table content be3ore starting the i!ort.. NN$&(SS.logD /IMP1 I+5OD i!ort o3 NN$&(SS-- co!leted /2- ro?s1
Tas1 : ,. Create a ne? sub7directory in your ?or directory. +ae it Hex!ort. Create a tas and a coand 3ile to ex!ort NN$&(SSZgrou!7id[. (x!ort table NN$&(SSZgrou!7id[ and co!are the nuber o3 ex!orted ro?s against the nuber o3 table ro?s in the database. osl 7( 7 Hselect count/V1 3ro dev.NN$&(SSgrou!7id /ote: Mae sure not to over?rite your existing NN$&(SS.TOC and NN$&(SS.--, 3ileL a1 Create directory Hex!ort and co!y NN$&(SS.CM into it. Change to directory Hex!ort. (dit the co!ied coand 3ileD NN$&(SS.CM tsD NN$&(SS.TSE ic3D ..^NN$&(SS.ST& dc3D ..^4MSS.TP4 datD .^ bsY,E 3sY,---M dirD NN$&(SS.TOC
A*ternate notation: tsD NN$&(SS.TSE ic3D ..*NN$&(SS.ST& dc3D ..*4MSS.TP4 datD .* bsY,E 3sY,---M dirD NN$&(SS.TOC
Create the tas 3ile NN$&(SS.TSE containing the 3ollo?ing line /you can use &'4O$ or an editor1D &'load 7ct3 ( ..^NN$&(SS.ST& ..^4MSS.TP4 NN$&(SS.TSE MSS 7l NN$&(SS.log
NN$&(SS.TSE NN$&(SS-- ( xe
Start the ex!ortD &'load 7datacode!age #,-' 7e NN$&(SS.CM 7l NN$&(SS.log
There should be 2- ro?s in the database@ and the sae nuber should be entioned in the V.TOC 3ile.
Unit 8 Advan"ed Migration Te"$ni8ues This unit describes advanced techniues@ ?hich can be utili9ed to s!eed u! the ex!ort and the i!ort !hase o3 a igration.
3esson: Time Consuming Ste's during -x'ort !m'ort 3esson Overview Fo? to identi3y@ inii9e@ or avoid tie consuing ste!s during the ex!ort*i!ort !hases
3esson O%e"tives $3ter co!leting this lesson@ you ?ill be able toD > Identi3y the tie consuing ste!s during ex!ort * i!ort > Minii9e the do?ntie by a!!lying a!!ro!riate easures 5or the students@ itBs i!ortant to no? the tie consuing igration ste!s. $s a conclusion they ?ill be able to execute the as early as !ossible and to avoid the during the do?ntie /i3 !ossible1.
Business -xam'*e ou need to no? the long running OS*0 Migration ste!s to estiate the tie schedule in a cut7over !lan.
6igure 7: Fenera* ,emar1s Please tae into account@ that the nuber o3 ro?s on $0$P cluster tables ?ill di33er bet?een source and target syste in case o3 a )nicode Conversion because o3 their co!ressed content. 5or co!arable results use a S4 stateent lie thisD S(4(CT CO)+T /V1 5&OM CC4S AF(&( P$G(+OYB-B .
6igure 0: Te"$ni"a* =iew: Time Consuming -x'ort Ste's ;< It de!ends on the S$PI+ST version and database ?hether the above tass are available or not. i33erent databases have di33erent s!ace reuireents 3or storing the data. The !rogras &'4CT4*&'SNCFE co!ute the I+ITI$4 (KT(+T o3 all tables and indexes 3or the target database. The su o3 all o3 these !rovides the estiated si9e o3 the target database.
e!ending on the database@ table s!litting can be a tie consuing !rocess@ ?hich should run be3ore the ex!ort. In ost cases there is not enough tie 3or that during the ex!ort*i!ort do?ntie. The co!uted AF(&( conditions are de3ined in such a ?ay that data added or deleted a3ter?ards doesnt atter@ the conditions ?ill 3etch all data in the table. I3 !ossible@ large data u!dates should be avoided a3ter creating the AF(&( conditions /or co!ute the again1. I3 using the Oracle P4*S4 table s!litter@ s!ecial consideration a!!ly to &OAI s!litting. More in3oration in S$P +oteD ,-#''8-. S$PI+ST (x!ort Pre!arationD ou ?ant to build the target syste u! to the !oint ?here the database load starts@ be3ore the ex!ort o3 the source syste has 3inished. (x!ort and i!ort !rocesses should run in !arallel during the syste co!y !rocess. S$PI+ST Table S!litting Pre!arationD O!tional ste! 3or !re!aring the table s!litting be3ore starting the ex!ort o3 a S$P Syste based on $0$P. I3 soe o3 the tables a very large the do?ntie can be decreased by s!litting the large tables into several saller !acage@ ?hich can be the !rocessed in !arallel.
6igure : Te"$ni"a* =iew: Time Consuming -x'ort Ste's ;#< The ost i!ortant ?ay to tune ex!ort !er3orance is to o!tii9e the use o3 !arallel ex!ort !rocesses. Trans!ortable storage devices can be <s@ external )S0 diss@ la!to!s@ or ta!es. Ahen &'4O$ stores the ex!orted data into du! 3iles@ it uses a very e33icient co!ression algorith. ou do not need to co!ress these 3iles again /you ay even 3ind that the resulting 3ile is larger than be3ore1. To save tie 3or co!ing very large aounts o3 du! data to the target edia*syste@ it can be use3ul to set the du! 3ile si9e to a sall value@ lie '-- M0. $s soon as a du! 3ile is co!leted@ the co!y can be started. +oteD the MIG&$TIO+ MO+ITO& ?aits until all du! 3iles o3 a !acage have been co!leted.
6igure #: Te"$ni"a* =iew: Time Consuming !m'ort Ste's I3 a !arallel ex!ort * i!ort using &'4O$ is !lanned the database ust be ready to i!ort ?hen the ex!ort starts. +orally the 3irst database u!date statistic is started directly a3ter the database i!ort. I3 short on tie@ the u!date statistic can be !ost!oned to a later !oint in tie ?here it can run in !arallel ?ith other activities.
6igure &: Saving Time on !m'ort A9ter 3oad -rrors &'S(T)P or S$PI+ST is starting a one7tie &'4O$ !rocess 3or each !acage. I3 &'4O$ !rocesses terinate ?ith an error condition@ &'S(T)P*S$PI+ST ?ill sto! a3ter all &'4O$ !rocesses are 3inished. The execution o3 &'S(T)P*S$PI+ST ust be re!eated until all &'4O$ !rocesses are success3ul. I3 you no? that the cause o3 an &'4O$ error terination is 3ixed@ you can save tie by starting &'4O$ beside &'S(T)P or S$PI+ST. our o?n &'4O$ !rocess ust be started ?ith the sae !araeter set as ?as used by &'S(T)P or S$PI+ST be3ore. The !araeters can be obtained 3ro the corres!onding HZP$CE$G([.4OG 3ile. 4og7on as the o!erating syste user ?ho o?ns the HZP$CE$G([.log 3iles in the installation directory /3or exa!leD Zsa!sid[ad1. Change into the install directory. Only start &'4O$ !rocesses 3or the V.ST& 3iles that have already been !rocessed by the current run o3 &'S(T)P or S$PI+ST. +ever restart &'S(T)P ?hile your o?n &'4O$ !rocesses are running. This ?ill cause co!etition bet?een your &'4O$ !rocess and the &'4O$ !rocesses started by &'S(T)P to !rocess the sae V.ST& 3ile. In the case o3 using S$PI+ST@ the second &'4O$ !rocess ?ill be sto!!ed autoatically@ as a bacu! tas 3ile already exists. &'S(T)P*S$PI+ST ust be restarted a3ter all data is loaded@ to execute the reaining ste!s o3 the installation*igration.
6igure ): ,&3OAD Parameters 9rom !m'ort G.3OF 6i*e o not 3orget to add the restart !araeter H7r to the coand line o3 &'4O$ /#.% and belo? only1. I3 you are starting &'4O$ anually@ ae sure that your current ?oring directory is the installation directoryL
6igure (: -x'ort !m'ort Time Diagram In custoer databases@ ost o3 the transaction data is stored in tables belonging to only a 3e? T$0$&Ts. This causes long running &'4O$ ex!ort and i!ort !rocesses 3or the T$0$&Ts. To save tie and o!tii9e the !arallelis o3 &'4O$ !rocesses@ you canD S!lit !acage 3iles /V.ST&1 into several saller 3iles@ or se!arate large tables into additional !acage 3iles.
6igure +: O'timi@ing t$e -x'ort !m'ort Pro"ess (x!ort and i!ort ties are reduced by s!litting !acage 3iles /V.ST&1 and creating additional !acage 3iles 3or large tables. $l?ays try to ex!ort*i!ort large tables 3irst. This ensures the axiu !arallelis o3 &'4O$ !rocesses.
6igure 7: 5A=ABased Pa"1age S'*itter The 6$<$ Pacage S!litter can also be used 3or earlier releases than Aeb $S %.#-. The ter !acage is used a synony 3or V.ST& 3iles. S$PI+ST %.#- 3or +etAeaver B-# can call the 6$<$ or the P(&4 Pacage S!litter /de!ending on the selected o!tion1. Starting ?ith +etAeaver -#S@ only the 6$<$ S!litter ?ill be used.
The S!litter analy9es the content o3 V.(KT 3iles to 3ind the best s!litting !oints. 5ine tuning can be done to V.ST& 3iles a3ter a test igration. The s!litting o3 V.ST& 3iles is even !ossible ?ithout V.(KT 3iles@ i3 tables are naed in a !rovided in!ut 3ile. Pacage 3ile naes 3or the s!lit V.ST& 3iles are generated autoatically. The docuentation is !rovided as P5 3ile together ?ith the s!litting tool. In the case ?here no 6$<$ 6&( ,.#.x or higher is installed@ the V.ST& 3iles can be trans!orted to another syste@ and s!lit there.
6igure : P-,3Based Pa"1age S'*itter The Perl scri!t SP4ITST&.P4 ay also be used 3or earlier &elease #.x igrations. o not use the Perl s!litter 3or )nicode conversionsL The 0(KPO&T.&'S coand 3ile 3or &'S(T)P releases since #.% and S$PI+ST calls SP4ITST&.P4 i3 the o!tion has been selected. SP4ITST&.P4 analy9es the content o3 V.(KT 3iles to 3ind the best s!lit !oints. 5ine tuning can be done to V.ST& 3iles a3ter a test igration. Pacage 3ile naes 3or s!lit V.ST& 3iles are generated autoatically. The Perl scri!t is sel37ex!lanatory. Calling SP4ITST&.P4 ?ithout !araeters or using the H7hel! o!tion causes a hel! text to a!!ear. o not use SP4ITST&.P4 on already s!lit 3iles@ as it can lead to !robles. $l?ayss!lit 3ro the original 3iles@ thus !reserving the The SP4ITST&.P4 scri!t is not intended to be used on '.x V.ST& 3iles. The results are erroneousL $ Perl version is available 3or every o!erating syste. The installed version o3 Perl can be checed ?ith H!erl X v. In the case ?here no Perl is installed@ the V.ST& 3iles can be trans!orted to another syste@ and s!lit there.
6igure : ,&3OAD -x'ort!m'ort Using So"1ets Socet connections are released 3or &'4O$ %.#- and later. /o not try to use an earlier version@ even i3 &'4O$ !rovides the socet o!tion1. &'4O$ ?rites directly to the o!ened socet and does not need any du! or table o3 content /V.TOC1 3ile. (rror situations ?ill be handled@ as ?ith conventional ex!orts and i!orts. The ex!orting and i!orting !rocesses ?ill use their res!ective tas 3iles 3or restart. +et?or interru!tions ?ill terinate the ex!ort and i!ort !rocess iediately. Mae sure that the ex!ort or i!ort !rocess does not 3ail because o3 database resource bottlenecs. &'4O$ restarts can ae the i!ort ore tie consuing than ex!ected. The &'4O$ i!ort !rocess has to be started 3irst@ because the ex!ort !rocess ust connect to an existing socet 7 other?ise the !rocess 3ails. The Migration Monitor does su!!ort socet connections in an easy7to7con3igure ?ay.
6igure 0: ,&3OAD So"1et Conne"tions Te"$ni"a* =iew The sae 3iles are used@ as in standard &'4O$ scenarios@ but no du! or V.TOC 3iles are created. The &'4O$ control 3iles ust be accessible as usual@ on the source and target syste.
6igure : JPAC2AF-K.CMD So"1et Conne"tion E +.)0 &'4O$ ust be started ?ith the H7socet coand line o!tion. The i!orting !rocess ust be invoed be3ore the ex!ort !rocess can be started. The socet !ort can be any 3ree nuber bet?een ,-2# and %""'" on the i!ort host. Meaning o3 section naesD > tsD Tas 3ile > ic3D Inde!endent control 3ile > dc3D atabase de!endent control 3ile > datD Socet !ort nuber and nae or IP address o3 the i!ort host > extD (xtent 3ile /not reuired at ex!ort tie1 The Hdir section is not reuired because no ZP$CE$G([.TOC 3ile ?ill be created
6igure #: JPAC2AF-K.3OF ,&3OAD So"1et 3ogs E +.)0 The i!orting !rocess listens on the s!eci3ied !ort and ?aits 3or the ex!orting !rocess to connect.
6igure &: Migration Ta*e C$e"1er ;M!FC>-C2< 6eatures The 6$<$7based HMigration Checer ?as develo!ed to chec that there is a log 3ile 3or each !acage 3ile /o!tionD 7checPacages1. This is an indicator that &'4O$ did run 3or the. The second chec is to veri3y that each action in the tas 3ile is co!leted success3ully /o!tionD 7checObjects1. )nsuccess3ul tass are listed in an out!ut 3ile. The t?o 3eatures are used by S$PI+ST 3or +etAeaver -#S and later@ to chec the i!ort co!leteness. atabase and table de!ending exce!tions are handled autoatically. The HTable Checer 3eature is used to chec the nuber o3 table ro?s. It can be used to ae sure@ that tables are containing the right nuber o3 ro?s a3ter i!ort. $s this is a long running tas@ it can be started anually only.
6igure ): SAP!/ST: Com'*ete Modi9y Pa"1age Ta*e ;+.)0< S$PI+STD allo?s 3or custo ex!ort*i!ort order de3initions and even the change o3 individual !araeters 3or each single !acage.
O&(&D de3ines the seuence in ?hich the !acages are to be loaded. The load starts ?ith the lo?est values 3irst. +egative values are also allo?ed. PEGID Identi3ier ZS$PSI[Z0SI[. PEG+$M(D +ae o3 the !acage /V.ST& 3ile1. PEG5I4(SIN(D Si9e o3 the data du! 3ile. PGEI&D Path ?here $T$ and 0 sub7directories 3or the !acage reside. PEG45I4(D The nae o3 the 4Z0S[.TP4 3ile. PEGCM5I4(D The nae o3 the coand 3ile 3or this !acage. /Aill be generated autoatically@ but i3 you ?ant to use your o?n@ you ay enter its nae1. PEG4O$OPTIO+SD $dditional 0 s!eci3ic &'4O$ o!tions that ?ill be a!!lied ?hen this !acage is i!orted. $s +etAeaver -#S uses MIGMO+ to start &'4O$@ the advanced 3eatures o3 the Migration Monitor are used@ instead o3 the echanis above.
6igure (: Unsorted -x'ort 0e3ore starting an unsorted ex!ort@ !lease read S$P +oteD H="#2%8 O!tii9ation o3 ex!ortD )nsorted unloadingL 0y de3ault@ the syste unloads the data as sorted. This is controlled by the 3ollo?ing entry in the 4Z0S[.TP4 3ileD !rieyD .... O&(&0PE(. Sorting taes tie and needs a large te!orary storage@ i3 it can be oitted@ the ex!ort ?ill be 3aster. Tae care about conseuences in the target syste /!er3orance i!act1. I3 you use Max0 as target database@ you ust ex!ort all o3 the tables as sorted. I3 you use Max0 as the source database@ you can unload sorted data only. o not override this o!tion ?hen you ex!ort Max0. I3 you use MSS4 as the target database@ you should ex!ort all o3 the tables as sorted@ so that you can avoid !er3orance !robles during the i!ort. I3 you have to unload the tables as unsorted and i3 you use MSS4 as the target database@ you should re3er to +ote ,-"#8"2. Certain table ty!es are not allo?ed to be ex!orted in an unsorted ?ay. S$P +ote ="#2%8 ex!lains the considerations release and code !age de!endent. &'4CT4 generates 4Z0S[4&G.TP4 3iles to si!li3y unsorted ex!orts since +etAeaver -#.
6igure +: C$anging ,&3OAD Ta*e 3oad Se8uen"e in G.ST, o not re7order tables in V.ST& 3iles a3ter ex!ort. I3 ore than one du! 3ile exists 3or a single V.ST& 3ile@ &'4O$ ?ill not be able to read table data 3ro i.e. 5ile V.--2 and 3or the next table 3ro 3ile V.--,@ i3 the table order in the V.ST& 3ile ?as changed a3ter ex!ort.
6igure 7: !nitia* -xtent 3arger t$an Conse"utive DB Storage The situation above can be a !roble on Oracle dictionary anaged tables!aces@ but should not a!!ly to locally anaged tables!aces as ?ell. Custoer databases can contain tables and indexes that reuire a larger Hinitial extent than the axiu !ossible in a single data container. In such cases@ reduce the Hinitial extent in the V.(KT 3ile and ada!t the Hnext extent si9e class in the relevant V.ST& 3ile. The ne? Hinitial extent si9e should be slightly less than the axiu available s!ace in the data container. This gives the database soe s!ace 3or internal adinistration data.
3esson: M!FMO/ Migration Monitor 9or ,&3OAD Business -xam'*e ou need to no? the a!!ro!riate MIGMO+ con3iguration scenario 3or s!eci3ic custoer S$P Syste landsca!es.
6igure : Migration Monitor ;M!FMO/< 6eatures ;< S$P +oteD :8#,,8 HSyste Co!y 6$<$ Tools. The note also describes ho? to do?nload the so3t?are 3ro S$P Maret!lace. The ex!ort server ode a!!lies ?here &'S(T)P*S$PI+ST ?ill be re!laced 3or the ex!ort. (ven i3 MIGMO+ is not used 3or the i!ort@ the advanced control 3eatures o3 the ex!ort !rocesses can hel! to save tie. $lready existing V.TSE or V.CM 3iles ?ill not be over?ritten@ but used.
6igure : Migration Monitor ;M!FMO/< 6eatures ;#< The ex!ort client ode a!!lies@ ?here &'S(T)P*S$PI+ST !er3ors the database ex!ort@ and MIGMO+ is used 3or the i!ort. The client MIGMO+ is used to trans3er the 3iles to the target host and to signal the i!orting MIGMO+@ that a !acage is ready to load. (ven i3 MIGMO+ ?as not used to !er3or the ex!ort@ the i!ort can still bene3it 3ro the advanced MIGMO+ &'4O$ control 3eatures.
6igure #00: Migration Monitor ;M!FMO/< Parameters The nuber o3 ex!ort and i!ort !rocesses can be di33erent. In the case o3 socet usage@ the nuber o3 ex!ort and i!ort !rocesses is the sae. The ex!ort job nuber is ignored@ because the (x!ort Monitor reuests the job nuber 3ro I!ort Monitor during startu!. Grou!s o3 !acages can be assigned to di33erent 4V.TP4 3iles. ata trans3er con3iguration variants
> 5TPD 5ile trans3er via 5TP bet?een source and target syste > +et?orD (x!ort directory is shared bet?een source and target syste > SocetD &'4O$ ?ill use socets /reuires &'4O$ %.#- or higher1. It can be cobined ?ith 3t! to co!y &'4O$ control 3iles to the target syste. > Stand7aloneD MIGMO+ runs stand7alone@ i.e. the ex!ort ?ill be !rovided on a trans!ortable edia only /!ossibly no 3ast net?or connection to source syste available1. 5TP Paraeters contain the logon !ass?ord. To hide 5TP !ass?ord in the coand line /visible using H!s X e3 coand on )+IK@ or various Aindo?s tools1 @the ex!ortonitorsecure.sh*bat 3iles should be used. The usage o3 5TP ight be a security ris@ but it is a reliable ethod o3 data trans3er.
6igure #0: Migration Monitor /et Con9iguration =ariant The Migration Monitor +et Con3iguration
6igure #0#: Migration Monitor 6TP Con9iguration =ariant
The Migration Monitor 5TP Con3iguration
6igure #0&: Migration Monitor So"1et Con9iguration =ariant The Migration Monitor socet ethod is in theory@ the 3astest ethod ever in ex!ort and i!ort o3 data in that ?e have to have a stable net?or and ?e have to ae sure that the ex!orting and i!orting databases al?ays have enough resources to serve the &'4O$ !rocesses. $ net?or share@ a anual 3ile co!y@ or the Migration Monitor 5TP 3ile trans3er /o!tion X3t!Co!y1 can be used to co!y the &'4O$ control 3iles to the target syste. The i!orting Migration Monitor ust be started 3irst. The ex!orting Migration Monitor connects to the i!orting Monitor@ using the !rovided socet !ort. The socet !ort nubers are increented one7by7one@ 3or each &'4O$ !rocess started. The counication bet?een the ex!ort and i!ort Monitor ensures@ that the right !ort nubers ?ill be ?ritten into the corres!onding V.CM 3iles. +o !ort nuber is used t?ice. )nusable !ort nubers are si!!ed /ay be in use by others1. I3 a 3ire?all is bet?een the source and target syste@ ae sure that a ?hole !ort range /base !ort _ nuber o3 &'4O$ !acages _ sa3ety1 is released 3or the duration o3 the igration.
6igure #0): Migration Monitor StandA*one Con9iguration The Migration Monitor Stand7$lone Con3iguration
6igure #0(: Migration Monitor Contro* 6i*es The ex!ort*i!ort state or the 3ile trans3er state can be changed 3ro inus /H71 to 9ero /H-1 3or restarting &'4O$ or a 3ile trans3er. Socets onlyD MIGMO+ 3or +etAeaver B-# cannot restart the &'4O$ !rocess by changing the state only /3uture versions ?ill su!!ort this1. In case o3 a 3ile trans3er restart@ all du! 3iles o3 a !acage are co!ied again. (xa!leD i!ortstate.!ro!erties S$P$PP4,Y- +ot started yet CO(PY &unning SAACO+T7,Y_ 5inished /!art , o3 s!litted table1 SAACO+T72Y_ 5inished /!art 2 o3 s!litted table1 SAACO+T7'Y7 (rror /!art ' o3 s!litted table1 SAACO+T7#Y- +ot started yet /!art # o3 s!litted table1 SAACO+T7"Y- +ot started yet /!art " o3 s!litted table1 SAACO+T7!ostY- +ot started yet /secondary index creation@ !ost7!rocessing1 SAACO+T7!reY_ 5inished /table and !riary ey creation@ !re7!rocessing1
6igure #0+: M!FMO/ !nsta**ation Too* !ntegration ;< The MIGMO+ server ode 3or !re7+etAeaver -# S&, versions can only be used i3 S$PI+ST has been 3orced to sto!@ i.e. by i!leenting an intended error situation.
6igure #07: M!FMO/ !nsta**ation Too* !ntegration ;#< The MIGMO+ server ode 3or +etAeaver -# S&, can only be used i3 S$PI+ST had been 3orced to sto!@ i.e. by i!leenting an intended error situation. S$PI+ST +et?eaver -#S reuires a anual start o3 MIGMO+ i3 using the socet ode.
6igure #0: Summary: ,&3OAD Un*oad3oad Order y Too* The MIG&$TIO+ MO+ITO& unload*load !rocess order can be de3ined in the res!ective !ro!erties 3ile. In addition@ a 3ile can be !rovided that contains a list o3 !acages used to de3ine the unload*load order. I3 the 3ile does not contain all existing !acages@ the reaining !acages are unloaded in al!habetical order and loaded by si9e X starting ?ith the largest !acage. /+othing ?ill be lost1. S$PI+ST allo?s you to select di33erent orders 3or unloading or loading the database. The 3eature o3 custoi9ing the execution order o3 each V.ST& 3ile gives a good control over the unload or load !rocess. S$PI+ST +etAeaver -#S uses MIGMO+ to start &'4O$ !rocesses. The MIGMO+ &'4O$ start 3eatures are integrated into S$PI+ST dialogs.
6igure #0: M!FMO/ -x'ort !m'ort Order In the above exa!le@ the largest tables should be ex!orted 3irst. 5or that !ur!ose@ the tables ?ere s!litted 3ro its standard V.ST& 3iles into !acage 3iles containing one table only. The !acage naes ?ere inserted into Hex!ortorder.txt. The Migration Monitor ?ill ex!ort the !acages in exactly the order as de3ined in Hex!ortorder.txt. $3ter?ards it ?ill ex!ort the reaining !acages in al!habetical order. On the target syste@ the !acages ?ill be i!orted as s!eci3ied in Hi!ortorder.txt. I3 no !acage entioned in Hi!ortorder.txt@ is available 3or i!ort /still ex!orting1 the !acage ?ith the next largest du! 3ile ?ill be used instead. O3ten t?o di33erent ex!ort7 and i!ort7order 3iles ae sense@ i.e. i3 soe tables have a lot o3 indexes but are sall co!ared to the largest tables. In this case the overall run7tie o3 a saller table can be uch longer then 3or the larger table@ because o3 the index creation tie. In the above exa!le the tables G4PC$ and MS(G are big@ but not the biggest. 5or the i!ort it ?as decided to give the to! !riority because they have a lot o3 indexes and so the index creation ties ?ill exceed even the i!ort tie o3 the largest table SO55CO+T,.
6igure #0: Advan"ed M!FMO/ DD3G.TP3 6i*e Usage The Migration Monitor can be used to ex!ort or i!ort selected !acages ?ith s!eci3ic 4Z0S[.TP4 3iles. The above ex!ort exa!le@ sho?s a ho? to ex!ort three !acages unsorted /4O&$4&G.TP41 and the ajority o3 all tables the standard ?ay /4O&$.TP41.
The i!ort exa!le@ utili9es a s!ecial Oracle 3eature to !aralleli9e the index creation. 5or that !ur!ose t?o di33erent 4Z0S[.TP4 3iles ?ere generated to i!ort t?o !acages ?ith index creation !arallel degree 2 /4O&$!ar2.TP41 and the other t?o !acages ?ith index creation !arallel degree # /4O&$!ar#.TP41. The reaining !acages are i!orted as usual /4O&$.TP41.
3esson: M!FT!M- 4 5M!FT!M- Time Ana*y@er Business -xam'*e ou need to analy9e the ex!ort*i!ort behavior in an OS*0 Migration to inii9e the do?ntie 3or the 3inal igration o3 a !roductive syste.
6igure #: Time Ana*y@er ;M!FT!M- 5M!FT!M-< 6eatures S$P +oteD :8#,,8 HSyste Co!y 6$<$ Tools. The note also describes ho? to do?nload the so3t?are 3ro the S$P Maret!lace. Over tie@ the content o3 &'4O$ V.4OG and V.TOC 3iles has been i!roved by adding ore and ore in3oration. The Tie $naly9er can handle all existing 3orats. &'4O$ %.#- ?rites se!arate tie sta!s 3or data load and index creation /earlier versions did notL1. MIGTIM( obtains the ex!ort i!ort tie in3oration 3ro V.TOC and V.4OG 3iles. 6MIGTIM( retrieves the tie in3oration 3ro the 64O$ ZP$CE$G([.ST$T.KM4 3iles.
6igure ##: Time Ana*y@er Out'ut Based on -x'ort 6i*es ;< The list out!ut sho?s the start*end date and the ex!ort duration o3 each !acage@ and additionally !rovides run7tie in3oration@ as seen above in the longest running tables.
6igure #&: Time Ana*y@er Out'ut Based on -x'ort 6i*es ;#< The FTM4 out!ut gives a uic overvie? on the !acage run7tie distribution.
6igure #): Time Ana*y@er Out'ut Based on !m'ort 6i*es ;< The list out!ut sho?s the start*end date and the i!ort duration o3 each !acage. I3 the used &'4O$ version /i.e. %.#-1 !rovides tie sta!s 3or each table i!ort and !riary ey*index creation@ the out!ut list can then distinguish bet?een data load and index creation tie. The list o3 long running tables can be generated 3or !re7%.#- &'load releases too@ but it does not contain data and index coluns@ only a tie colun. The log 3ile contains tie in3oration 3or data load ends@ there3ore the tie 3or tables in the old &'load releases is not ,--W correctD table tie Y table load tie _ index*!ey creation tie 3or the !revious table /i3 index*!ey is created a3ter data load1. 5ro &'4O$ %.#-@ table tie is correctly deterined@ because create table*index ties are !resent in the log 3iles.
6igure #(: Time Ana*y@er Out'ut Based on !m'ort 6i*es ;#<
6igure #+: Time Ana*y@er Time 5oin
3esson: Ta*e S'*itting 9or ,&3OAD 3esson Overview (x!lanation o3 the table s!litting !rocedure 3or &'4O$
Business -xam'*e ou need to no? ho? &'4O$ table s!litting is ?oring and ho? to troubleshoot !robles.
6igure #7: ,&TA Ta*e S'*itter &'T$ analy9es a given table and returns a set o3 AF(&( conditions that ?ill select a!!roxiately the sae aount o3 ro?s. 5or each AF(&( condition one &'4O$ can be started. The !arallel ex!ort does not reduce the ex!ort tie only@ it ?ill also allo? an earlier start o3 the i!ort. 0ecause o3 the co!lex handling o3 s!litted tables@ the usage o3 MIGMO+ is andatory. The resulting HZtable[.AF& 3ile reuires 3urther s!litting into HZtable[7n.AF& 3orat /AF(&( SP4ITT(&1. I3 the !arallel i!ort into a single table is not !ossible on a !articular database ty!e@ a seuential i!ort o3 s!litted tables can be 3orced by de3ining MIGMO+ load grou!s. Please chec the res!ective syste co!y anual and related notes 3or current liitations. (ven i3 the !arallel i!ort into a single table is not su!!orted on your database@ the overall tie saving because o3 the !arallel ex!ort itsel3 is signi3icantly enough. S$P +oteD ="2",# )sing the table s!litting 3eature
6igure #: Ora"*e P3SN3 Ta*e S'*itter The P4*S4 table s!litter analy9es a given table and returns a set o3 AF(&( conditions that ?ill select a!!roxiately the sae aount o3 ro?s. 5or each AF(&( condition one &'4O$ can be started. +orally the P4*S4 scri!t is 3aster then &'T$ as it is using Oracle s!eci3ic 3eatures. The resulting V.AF& 3iles can be used ?ithout 3urther s!litting /no AF(&( SP4ITT(& reuired1. S$P +oteD ,-#''8- (33icient Table S!litting 3or Oracle atabases /the current P4*S4 table s!litter scri!t is attached to the note1 S!eci3ic &OAI table s!litting liitationsD > &OAI table s!litting M)ST be !er3ored during do?ntie o3 the S$P syste. +o table changes are allo?ed 3or &OAI s!litted tables a3ter ranges have been calculated and ex!ort ?as co!leted. $ny table change be3ore the ex!ort reuires a recalculation o3 the &OAI ranges. > &OAI s!litted tables M)ST be i!orted ?ith the H7load!rocedure 3ast o!tion o3 &'load. > &OAI table s!litting ?ors only 3or trans!arent and non7!artitioned tables. > &OAI table s!litting C$++OT be used i3 the target database is a non Oracle database.
6igure #: Ta*e S'*itting in SAP!/ST E /0) Table s!litting is a tas ?hich ?ill be done be3ore the ex!ort. The Hs!litin!ut.txt 3ile ust s!eci3y the tables to s!lit and ho? o3ten. Tae care about the di33erent in!ut 3orats in case o3 &'T$ or the Oracle P4*S4 table s!litter. Chec the corres!onding syste co!y guide. The H&'tahints.txt contains !rede3ined s!lit 3ields 3or the ost coon large tables. More tables and 3ields can be inserted ?ith an editor. The 3ile has to be located in the directory in ?hich &'ta ?ill be started. I3 H&'tahints.txt ?as 3ound and the table to s!lit is inside@ the !rede3ined 3ield ?ill be used@ other?ise &'T$ analy9es each 3ield o3 the !riary ey to 3ind the best atching one. The H&'tahints.txt is !art o3 the &'T$ archive ?hich can be do?nloaded 3ro S$P Maret!lace@ i3 not already on the installation edia.
C$)TIO+D Ahen doing a syste co!y ?ith the change o3 the code !age /non7)nicode to )nicodeU #,-2 to #,-'U #,-' to #,-21@ ae sure not to use a AF(&( condition ?ith the P$G(+O colun included 3or cluster tables /i.e. CC4S@ &504G@ 1. The resulting HV.AF& 3iles ?ill be ?ritten into subdirectory $T$ o3 the s!eci3ied ex!ort directory. Table s!litting ?ill tae !lace i3 the s!eci3ied ex!ort directory is the sae lie 3or the &'4O$ ex!ort later on. The H?hr.txt 3ile contains the nae o3 the s!litted tables. It can be used as an in!ut 3ile 3or the !acage s!litter to ae sure that each s!litted table has it o?n V.ST& 3ile. It de!ends on the S$PI+ST release ?hether a database ty!e can be selected or not. S$PI+ST :.-2 can ae use o3 the Oracle P4*S4 s!litter i3 the database ty!e Oracle ?as selected. &adio buttons allo? to choose bet?een the &'T$ and the P4*S4 table s!litter.
6igure ##0: -xam'*e o9 an ,&TA Based Ta*e S'*itting The above exa!le sho?s the &'T$ AF(&( 3ile creation 3or an Oracle database. The CEIS.ST& is !rovided to the coand line to tell &'T$ ?hich 3ields belong to the !riary ey. &'T$ generates a CEIS.AF& 3ile containing the co!uted &'4O$ AF(&( conditions@ a set o3 3iles to create a te!orary index@ and a 3urther set o3 3iles to dro! the te!orary index. It ust be decided on an individual base@ ?hether it aes sense to create an additional index or not.
6igure ##: ,&TA -xam'*e: Create Tem'orary !ndex ;O'tiona*< e!ending on the database ty!e@ database o!tii9er behavior@ table ty!e@ table 3ield or table si9e@ a te!orary index can i!rove the &'4O$ data selection considerably. To 3ind out ?hether a te!orary index aes sense or not@ a S4 (KP4$I+ stateent can hel! to chec the database o!tii9er cost 3actor on the data to select. Indexes should be checed on a co!y o3 the !roductive syste 3or exa!le.
The corres!onding syste co!y guide describes ho? to create or delete &'T$ related indexes.
6igure ###: ,&TA -xam'*e: Dro' Tem'orary !ndex I3 the te!orary index does not i!rove the &'4O$ ex!ort@ it can be dro!!ed using the !rede3ined 3iles or ?ith S4 coands directly.
6igure ##&: ,&TA -xam'*e: >-,- Condition 6i*e C2!S.>, &'T$ ?rites all AF(&( conditions 3or a table into one single 3ile. It ust be s!lit into !ieces to utili9e a !arallel ex!ort ?ith MIGMO+. I3 it cannot be achieved to create exactly the nuber o3 s!lits as reuested@ it can ha!!en that ore or less AF(&( conditions are created. In the exa!le above@ ,- s!lit ?ere reuested but &'T$ created ,,.
6igure ##): ,&TA -xam'*e: C2!S.>, S'*itting (ach AF(&( condition ust be !ut into a se!arate 3ile@ other?ise the MIGMO+ echanis to su!!ort table s!litting ?ould not ?or as intended. The AF(&( s!litter is !art o3 the 6$<$ !acage s!litter archive. In case o3 S$PI+ST@ it ?ill be called autoatically. I3 &'T$ ?as called directly@ the AF(&( s!litter ust called anually. $ descri!tion o3 the AF(&( s!litter usage is available in the s!litter archive.
6igure ##(: -xam'*e o9 an Ora"*e P3SN3 Based Ta*e S'*itting The above exa!le sho?s the P4*S4 scri!t based AF(&( 3ile creation 3or an Oracle database. $ s!lit strategy can be chosen bet?een 3ield or &OAI s!litting. &OAI s!litting can be used i3 the target database is Oracle /H7load!rocedure 3ast ust be used 3or the i!ort1. O!!osite to &'T$@ the P4S*S4 s!litter creates V.AF& 3iles directly usable by MIGMO+.
6igure ##+: -xam'*e: M!FMO/ -x'ort Pro"essing ;< $s soon as MIGMO+ 3inds HV.AF& 3iles@ it generates the necessary HV.TSE and HV.CM 3iles autoatically. The HV.TSE 3iles ?ill be created ?ith the s!ecial o!tion H7?here to !ut the AF(&( condition into it. Mae sure to have a se!arate HV.ST& 3ile 3or each s!litted table.
6igure ##7: -xam'*e: M!FMO/ -x'ort Pro"essing ;#< 5or each HV.TSE 3ile a corres!onding HV.CM 3ile ?ill be created.
6igure ##: -xam'*e: M!FMO/ -x'ort Pro"essing ;&< &'4O$ inserts the used AF(&( condition into the V.TOC 3ile. So it is easy to 3ind out ?hich !art o3 a table is stored in ?hich du! 3ile. 5urtherore this in3oration is used 3or a sa3ety echanis to ae sure the i!ort does run ?ith the sae AF(&( conditions as the ex!ort did /other?ise it could lead to a !otential data lost in i!ort restart situations1. I the case o3 a isatch@ &'4O$ sto!s on error.
6igure ##: -xam'*e: Dire"tory Content a9ter -x'ort To si!li3y the gra!hic above@ no dee! directory structures are sho?n /lie S$PI+ST is creating1 and the 3iles under HZex!ortdir[*0 are not ex!licitly entioned. &'4O$ is assued to run in H*inst and the ex!ort directory is naed H*ex!. The H*inst*s!lit directory is used to run &'T$ soe days or hours be3ore the database ex!ort. The &'T$ AF(&( 3ile ?as s!litted and the results ?ere co!ied into H*ex!*$T$. In case o3 the Oracle P4*S4 s!litter@ the AF(&( 3iles and be !ut directly into H*ex!*$T$. The ex!ort log 3ile in3oration o3 &'4O$ :.2-D /01 I+5OD &ead hint3ileD D^(KPO&T^$0$P^$T$^CEIS7,.AF& eans@ the res!ective V.AF& 3ile is scanned 3or an o!tional database hint to be utili9ed during the data ex!ort /currently i!leented 3or Oracle only@ directing the o!tii9er to choose a certain execution !lan1.
6igure #&0: -xam'*e: M!FMO/ !m'ort Pro"essing ;< MIGMO+ aes autoatically sure@ that the HV.TSE and HV.CM 3iles 3or table creation are generated be3ore data i!ort. $3ter success3ully creating the table@ the data load !rocesses are started. This !re!aration !hase is ared in the MIGMO+ Hi!ort.state.!ro!erties 3ile as HZtable[7!reY_. 5or databases ?ith the need o3 a !riary ey be3ore i!ort@ it ?ill be created together ?ith the table.
6igure #&: -xam'*e: M!FMO/ !m'ort Pro"essing ;#< $3ter the table ?as created success3ully@ ulti!le HV.TSE 3iles are generated 3or each AF(&( condition. The HV.TSE 3iles ?ill be created ?ith the s!ecial o!tion H7?here to !ut the AF(&( condition into it.
6igure #: -xam'*e: M!FMO/ !m'ort Pro"essing ;&< 5or each HV.TSE 3ile@ the corres!onding HV.CM 3ile is generated. 0e3ore starting the i!ort@ &'4O$ co!ares the AF(&( condition bet?een the HV.TOC and HV.TSE 3iles. &'4O$ sto!s on error in case o3 a isatch.
6igure #&&: -xam'*e: M!FMO/ !m'ort Pro"essing ;)< $3ter start@ &'4O$ co!ares the AF(&( condition bet?een the HV.TOC and HV.TSE 3iles and terinates on error in case o3 a isatch. $ success3ul i!ort is only !ossible i3 the AF(&( condition used 3or the ex!ort is identical to the one during i!ort. Other?ise a !ossible restart ?ould delete ore or less data 3ro a table@ ?hich can result in a data loss. In case o3 an Oracle H7load!rocedure 3ast@ &'4O$ does not coit data until the i!ort is 3inished success3ully.
6igure #&): -xam'*e: M!FMO/ !m'ort Pro"essing ;(< $3ter all !arallel i!ort !rocesses 3or the s!litted table ?ere 3inished@ the reaining tass can be startedD creating the !riary ey and secondary indexes. This !ost7i!ort !hase is ared in the MIGMO+ Hi!ort.state.!ro!erties 3ile as HZtable[7!ostY_. 5or databases creating the !riary index be3ore i!ort@ the reaining tas is the secondary index generation only.
6igure #&(: -xam'*e: 6or"e Se8uentia* !m'ort o9 C2!S S'*its I3 the target database does not allo? to i!ort ?ith ulti!le &'4O$ !rocesses into the sae table /because o3 !er3orance or locing issues1@ MIGMO+ can be instructed to use a single &'4O$ !rocess 3or a s!eci3ied list o3 !acages. In the above exa!le@ the 3ile Hi!ortorder.txt is read by MIGMO+ to set the i!ort order. $ll !acages belonging to grou! CEISQ@ that is CEIS7, to CEIS7,,@ ?ill be i!orted using one single &'4O$ !rocess /job+u Y ,1. This does not guarantee@ that CEIS7, is i!orted be3ore CEIS72@ but it ?ill ae sure that no t?o &'4O$ !rocesses i!ort into CEIS. $ grou! can have any nae@ but it aes sense to nae it lie the table in charge. 0eside the nuber o3 &'4O$ !rocesses /job+uY1 the &'4O$ arguents 3or tas 3ile generation /tas$rgsY1 and i!ort /load$rgsY1 can be de3ined individually 3or each grou!. The total nuber o3 running &'4O$ !rocesses is the su o3 the s!eci3ied nuber o3 !rocesses in Hi!ortonitorcd.!ro!erties and the nuber o3 !rocesses de3ined in Hi!ortorder.txt.
6igure #&+: -xam'*e: Dire"tory Content a9ter !m'ort 5or OracleD > CEISPI.TSED create table@ but do not create !riary ey@ indexes@ or load data > CEISTPI.TSED load data@ but do not create table@ !riary ey@ or indexes > CEIST.TSED create !riary ey and indexes@ but do create table@ or load data
3esson: D!STMO/ Distriution Monitor 9or ,&3OAD Business -xam'*e In a test run o3 a )nicode Conversion !roject@ it ?as identi3ied that the CP) load on the database server ?as the bottlenec o3 the &'4O$ ex!ort. &unning &'4O$ on a se!arate server ?ould solve the !roble. I3 ore than one &'4O$ server is !lanned@ it aes sense to utili9e the istribution Monitor.
6igure #&7: D!STMO/ Distriution Monitor To distribute the &'4O$ CP) load to di33erent systes@ various ty!es o3 a!!lications servers can be used@ i.e. a ix o3 t?o # CP) systes and one 8 CP) syste or even systes running on di33erent o!erating systes. $s long as the o!erating systes and 0 clients libraries are su!!orted by the res!ective S$P release@ a ?ide range o3 syste cobinations are !ossible. +evertheless@ 3ro an adinistrative !oint o3 vie? it ?ill be ore easy to have a hoogeneous o!erating syste landsca!e@ 3ile syste sharing can be co!lex other?ise.
6igure #&: D!STMO/ ,estri"tions
ISTMO+ is aing use o3 &'4O$ 3eatures not available belo? %.#-. ISTMO+ can only handle the $0$P data ex!ort. 6$<$ stacs ust be ex!orted using 64O$.
6igure #&: D!STMO/ Server 3ayout The counication directory is used to share con3iguration and status in3oration aong the servers. It is !hysically ounted on one o3 the involved systes and shared to the other a!!lication servers. Control 3iles /V.ST&@ 4V.TP4@ ex!ortonitorcd.!ro!erties and i!ortonitorcd.!ro!erties1 are generated here and distributed during the !re!aration !hase. 0ecause o3 sa3ety reasons@ the ex!ort o3 each a!!lication server is ?ritten to local ounted diss and not to +5S ounted 3ile systes.
6igure #)0: D!STMO/ Distriution Pro"ess (ach MIGMO+ ?ill be started locally on the res!ective a!!lication server. That eans@ each a!!lication server can run a MIGMO+ 3or ex!ort and a second one 3or the i!ort. The start is initiated by ISTMO+. (ach MIGMO+ runs inde!endently and does not no? about other MIGMO+s in the case o3 !arallel ex!ort*i!ort on the sae server. The status onitor allo?s the onitoring o3 the a!!lication servers 3ro a single user inter3ace. Status in3oration is read 3ro the shared counication directory. (ach MIGMO+ ?ill be started locally on the res!ective a!!lication server. That eans@ each a!!lication server can run a MIGMO+ 3or ex!ort and a second one 3or the i!ort. The start is initiated by ISTMO+. (ach
MIGMO+ runs inde!endently and does not no? about other MIGMO+s in the case o3 !arallel ex!ort*i!ort on the sae server. The status onitor allo?s the onitoring o3 the a!!lication servers 3ro a single user inter3ace. Status in3oration is read 3ro the shared counication directory.
3esson: 5M!FMO/ Migration Monitor 9or 53OAD Business -xam'*e ou need to no?@ the a!!ro!riate 6MIGMO+ con3iguration scenario 3or a s!eci3ic custoer S$P Syste landsca!e.
6igure #): 5A=A Migration Monitor ;5M!FMO/< 6eatures The very 3irst i!leentation cae ?ith S$PI+ST :.-2. The 64O$ !acage 3iles ust be created ?ith 6PEGCT4 be3ore starting the ex!ort or i!ort. The !arallel ex!ort * i!ort aes use o3 HV.SG+ 3iles lie in the MIGMO+ i!leenation. 6PEGCT4 creates a Hsi9es.xl containing the !acage si9es to su!!ort an ordered ex!ort ?ith the largest !acages 3irst. 5ailed 64O$ !rocesses can be restarted by changing the content o3 the 3ile Hex!ort*i!ort.jigon.states.
6igure #)#: 5M!FMO/ /et Con9iguration The 6MIGMO+ net?or con3iguration is use3ul in environents@ ?here 3ile systes can be shared bet?een source and target syste. 5or consistency reasons@ ex!orts should al?ays be done to local 3ile systes * directoriesL In the exa!le above@ the ex!ort directory and the net?or exchange directory are shared 3ro the ex!orting to the i!orting syste. $s soon as a !acage is success3ully ex!orted@ the corres!onding signal 3ile /V.SG+1 ?ill be created in the net?or exchange directory. +o? the i!orting 6MIGMO+ starts an 64O$ !rocess to load the du! 3ro the shared ex!ort directory.
6igure #)&: 5M!FMO/ StandA*one Con9iguration The 6MIGMO+ HStand7$lone Con3iguration is use3ul in environents@ ?here source and target systes do not have a net?or connection@ or the existing connection is too slo? 3or a 3ile trans3er. In the above exa!le@ the ex!ort and i!ort directories are located on se!arate hosts in di33erent locations. The 6MIGMO+ is used to start 64O$ !rocesses only. The 3ile trans3er bet?een the source and target syste ?ill be done using trans!ortable edia.
6igure #)): 5M!FMO/ Contro* and Out'ut 6i*es The Hjigon.console.log should be ins!ected in case o3 ex!ort or i!ort errors. More detailed in3oration can be 3ound in the res!ective job log. The 6MIGMO+ state 3iles are used to control ?hich !acages are already ex!orted@ currently in use@ or terinated on error. Changing a !acage state 3ro inus /H71 to 9ero /H-1@ ?ill 3orce 6MIGMO+ to restart the job. (xa!le ex!ortjigonstatesD (KPO&TM(T$$T$.KM4Y_ 5inished (KPO&T,'62((CO+5IG(+T&.KM4Y_ 5inished /s!litted table1 (KPO&T,#62((CO+5IG(+T&.KM4Y_ 5inished /s!litted table1 (KPO&T-.KM4Y_ 5inished (xa!le Ii!ort.jigonstatesD IMPO&TM(T$$T$.KM4Y_ 3inished MPO&T,'62((CO+5IG(+T&.KM4Y_ 3inished /s!litted table1 IMPO&T,#62((CO+5IG(+T&.KM4Y running /s!litted table1 IMPO&T-.KM4Y7 3ailed
3esson: Ta*e S'*itting 9or 53OAD Business -xam'*e ou need to no?@ ho? 64O$ table s!litting is ?oring and ho? to troubleshoot !robles.
6igure #)(: 5P2FCT3 Pa"1age and Ta*e S'*itting The Hs!lit !araeter de3ines the si9e liit 3or 64O$ !acages. 6PEGCT4 ?ill add as any tables to a !acage until the si9e liit is reached. The nuber o3 !acages is related to the si9e liit !araeter. $ sall si9e ?ill result into a large nuber o3 !acage 3iles co!ared to a large si9e ?hich ?ill create 3e? !acages only. I3 a table is eual or larger then the given si9e@ the !acage 3ile ?ill contain this single table only. The Hs!litrules3ile is only reuired i3 table s!litting is !lanned. It can contain entries in three di33erent 3orats. I3 only the nuber o3 s!lits is s!eci3ied@ all 3ields o3 the !riary ey are checed 3or highest selectivity. In the case ?here a single 3ield is ex!licitly given@ only this 3ield is used 3or s!litting. I3 ulti!le 3ields are !rovided@ the ost selective 3ield is used.
6igure #)+: 5P2FCT3 ;5SP3!TT-,< or19*ow The Hjs!littercd.!ro!erties 3ile is generated according user in!ut by S$PI+ST. 6PEGCT4 connects to the database@ reads the database objects de3initions and calculates the si9es o3 ites to be ex!orted. The tables are distributed to the 64O$ job 3iles /!acages1. The distribution criteria is the !acage si9e as !rovided in the Hjs!littercd.!ro!erties 3ile. $3ter all !acages are created@ the Hsi9es.xl 3ile containing the ex!ected ex!ort si9e o3 each !acage is ?ritten. 6MIGMO+ ?ill use the content to start the ex!ort in the !acage si9e order.
6igure #)7: 5P2FCT3 ;5SP3!TT-,< Ta*e S'*it Strategy Table s!litting is an o!tional tas. It aes sense 3or large tables ?hich do in3luence the ex!ort tie signi3icantly. 6PEGCT4 is able to 3ind a use3ul s!lit colun autoatically@ but then it ?ill only chec the 3ields o3 the !riary ey. I3 a di33erent 3ield should be used@ it ust be ex!licitly entioned in a s!lit rule 3ile. I3 the reuested nuber o3 s!lits cannot be achieved@ the nuber o3 s!lits ?ill be autoatically reduced. I3 even this does not result into use3ul AF(&( conditions@ 6PEGCT4 gives u! and no table s!litting taes !lace.
6igure #): -HPO,TJPAC2AF-K.HM3 o9 a s'*itted Ta*e The AF(&( condition is used to select data o3 a s!eci3ied range. 5or each job 3ile o3 a s!litted table@ a se!arate 64O$ is started.
-xer"ise : Advan"ed Migration Te"$ni8ues So*ution : Advan"ed Migration Te"$ni8ues Tas1 : $ custoer database o3 an $0$P S$P Syste has ,- very large tables that are bet?een 2 and 2- G0 in si9e and soe other large tables ranging 3ro "-- X 2.--- M0. $3ter the 6$<$7 or Perl7based Pacage S!litter ?as executed ?ith o!tion H7to! ,- /ove the ,- largest tables to se!arate V.ST& 3iles1 ,- additional V.ST& 3iles exit@ but contain other tables than ex!ected. ,. Ahat can be the reason o3 this behavior >int: Ahat 3ile is read to get the table si9e Ahat ha!!ens to large tables
a1 &'SNCFE liits the co!uted table si9es to a axiu o3 ,.:8 G0. 0e7cause o3 this@ the !acage s!litter catches the 3irst ,- largest tables 3ound in the V.(KT 3iles. $ 2- G0 table ?ill have the sae V.(KT entry as a 2--- M0 table.
Tas1 #: In a !re!aration o3 an &'4O$ heterogeneous syste co!y@ the custoer ?as ased to install Perl " or a 6$<$ 6E on his Aindo?s !roduction syste@ but he denied@ because o3 restrictive so3t?are installation !olicies. ,. +evertheless@ ?hat can be done to i!rove the ex!ort tie a1 The V.ST& 3iles can be s!lit anually using an editor@ or can be trans3erred to another syste ?here Perl or 6$<$ is available to !er3or the s!lit. In order to do this@ the ex!ort ?ill need to have been sto!!ed a3ter &'SNCFE has started. Caution: I3 the s!lit is done in advance@ be sure that no ne? changes have been ade to the $0$P dictionary since the initial creation o3 the V.ST& 3ilesL Other?ise you ris inconsistencies.
Tas1 &: The Migration Monitor has a client and a server ex!ort ode. ,. Ahat are the bene3its o3 using the client ode a1 +o changes to the standard &'S(T)P or S$PI+ST ex!ort !rocess is reuired. b1 $utoatic 3ile trans3er to the target syste is !ossible. c1 The data load can be started autoatically as soon as the 3irst !acage is signaled to be ready.
Unit 9 Per9orming t$e Migration 3esson: Per9orming an ABAP System Migration Business -xam'*e ou need a uic overvie? about the executed ste!s in an $0$P Syste Migration.
6igure #): Te"$ni"a* Migration Ste's ;ABAPBased System< Many igration ste!s can be !er3ored in !arallel in the source and target systes. $3ter ste! ' /generate te!lates 3or 0 si9es1 has been !er3ored in the source syste@ you should be !re!ared to start ste! 8 /create database in the target syste1. Once ste! % /3ile trans3er1 is co!lete@ ste!s :7 8 should already have been !er3ored in the target syste. In the case ?here MIGMO+ is used 3or concurrent ex!ort*i!ort@ the ste!s #@ "@ %@ =@ ,- ?ill run in !arallel
6igure #(0: Te"$ni"a* Migration Pre'aration ;< 6ust be3ore you start the igration@ chec all the igration7related S$P +otes 3or u!dates. 6igure #(: Te"$ni"a* Migration Pre'aration ;#< To reduce the tie reuired to unload and load the database@ inii9e the aount o3 data in the igration source syste. 0e3ore the igration ae sure to de7schedule all jobs in the source syste. This avoids jobs 3ailing directly a3ter the 3irst start o3 the igrated S$P Syste. The re!orts 0TCT&+S, /set jobs into sus!end ode1 and 0TCT&+S2 /reactivate jobs1 can be hel!3ul. Chec the corres!onding S$P +otes and S$P Syste u!grade guides 3or 3urther re3erence. I3 the target syste has a ne? S$P SI@ release all the corrections and re!airs be3ore starting the ex!ort. I3 the database contains tables that are not in the $0$P ictionary@ chec ?hether soe o3 these tables also have to be igrated. 6igure #(#: Te"$ni"a* Migration Pre'aration ;&<
The execution o3 re!ort HSMIG&C&($T(4 is andatory 3or all S$P systes using non7standard database objects /0I*0A@ SCM*$PO1. 5or +etAeaver -# and later@ the execution o3 HSMIG&C&($T(4 is a ustL Mae sure not to ae any changes to the non7standard objects a3ter HSMIG&C&($T(4 has been calledL I3 no database s!eci3ic objects exist@ then no ZT$0$&T[.S4 3iles ?ill be generated. $s long as the re!ort terinates ?ith status Hsuccess3ully@ everything is o. The HInstallation irectory can be any 3ile syste location. Co!y ZT$0$&T[.S4 3iles to the S$PI+ST ex!ort install directory or directly into the HZex!ortdir[*0*Ztarget0S[ directory. 5ollo? the guidelines in the hoogeneous*heterogeneous syste co!y anual. e!ending on the target database additional o!tions ight be available@ ?hich can be selected in the 3ield Hatabase ::,2-= H+etAeaver -#D Syste co!y /su!!leentary note1 > 8882,- H+etAeaver :.--*:.,-D Syste Co!y /su!!leentary note1 6igure #(&: Fenerate G.-HT and G.ST, 6i*es &'S(T)P*S$PI+ST calls &'4CT4 and &'SNCFE. The runtie o3 &'SNCFE de!ends on the version@ the si9e o3 the database and the database ty!e. 0SIN(.TP4 is created by &'S(T)P@ 3ro the in3oration co!uted by &'SNCFE and stored in table 4O$. 6igure #(): S'*it G.ST, 6i*es and Ta*es The generated V.ST& and V.(KT 3iles ?ill be s!lit into saller units to i!rove the unload*load ties. &'S(T)P calls the Perl scri!t to s!lit V.ST& 3iles. e!ending on the version@ S$PI+ST uses the 6$<$7 or the Perl7based Pacage S!litter. On large databases table s!litting ?ill reduce the ex!ort * i!ort run7tie signi3icantly.
6igure #((: Fenerate -x'ort G.CMD and G.TS2 6i*es S$PI+ST*MIGMO+ call &'4O$ to create tas 3iles. &'S(T)P*S$PI+ST*MIGMO+ generates coand 3iles. I3 AF(&( 3iles exist@ the AF(&( conditions ?ill be inserted into the V.TSE 3iles.
6igure #(+: -x'ort Dataase wit$ ,&3OAD &'S(T)P*S$PI+ST*MIGMO+ start a nuber o3 &'4O$ !rocesses. $ se!arate &'4O$ !rocesses is started 3or each coand 3ile. The &'4O$ !rocesses ?rite the du! 3iles to dis. $s soon as an &'4O$ !rocess terinates /?hether success3ully or due to error1@ &'S(T)P*S$PI+ST*MIGMO+ start a ne? &'4O$ !rocess 3or the next coand 3ile. o not use +5S 3ile systes as an ex!ort target 3or the du! 3ilesL u! 3iles can be unnoticeably daaged and cause data corru!tionL 6igure #(7: Manua* 6i*e Trans9er ;< (0CIC &'4O$ control 3iles created on $S*#-- systes ust be trans3erred in $SCII ode@ i3 the target syste is to run on an $SCII7based !lat3or. In cases ?here du! 3iles ust be co!ied to trans!ortable edia@ ae sure that the 3iles are co!ied correctly. Its better to s!end additional tie on veri3ying the co!ied 3iles against the original 3iles than s!ending several hours or even days to trans!ort the to the target syste@ only to discover that soe 3iles had been corru!ted by the co!y !rocedure used. $!!ro!riate checsu tools are available 3or every o!erating syste. 6igure #(: Manua* 6i*e Trans9er ;#<
The 3ile H4$0(4.$SC is generated during the ex!ort o3 the source database. &'S(T)P*S$PI+ST uses its content to deterine ?hether the load data is read 3ro the correct directory. Since :.-2@ the S45iles.4ST is generated by SMIG&C&($T(4 together ?ith the V.S4 3iles. The V.CM and V.TSE 3iles are generated se!arately 3or ex!ort and i!ort. There3ore@ do not co!y theL 6igure #(: Fet Migration 2ey ;< The igration ey ust be reuested 3ro the custoer@ because he has to acce!t the sho?n igration ey license agreeent. Chec the igration ey as soon as !ossibleL $ll entries are case sensitive. 0e3ore o!ening a !roble call@ See S$P +ote ''8':2. 6igure #+0: Fet Migration 2ey ;#< Since #.%@ the igration ey is identical 3or di33erent S$P Systes o3 the sae installation nuber. The igration ey ust atch the &'4O$ version. I3 ased 3or the S$P &*' &elease@ enter the release version o3 the used &'4O$. I3 in doubt chec the log 3iles. Soe systes are using several di33erent hostnaes /i.e. in a cluster environent1. The node nae sho?n by Hunae 7a or Hhostnae should be the H0 Server Fostnae. Starting ?ith #."$@ al?ays generate the igration ey 3ro the node nae ?hich is listed in the H/GSI1 I+5O section o3 the &'4O$ ex!ort log /source syste1 and MIGE(.log /target syste1. In soe installations the Syste I can even be in lo?er7case letters@ because it is obtained 3ro the 3irst three characters o3 H/GSI1 I+5OD dbnaeL The &'4O$ log 3iles o3 '.,I and #.-0 do not contain in3oration about the source syste@ as in versions #."$ and above. &'S(T)P and S$PI+ST test the igration ey by calling &'4O$ 7E /u!!er7case E1. The 3ile HMIGE(.log contains the chec results. The igration ey in +etAeaver :.-- Systes ?ith Hold S$P license installed /u!graded syste1 is di33erent then 3or the Hne? S$P license. Chec the corres!onding syste co!y note 3or details. See S$P +ote ''8':2 HMigration ey does not ?or 3or 3urther re3erence. 6igure #+: !nsta** SAP and Dataase So9tware 6igure #+#: Create Dataase The si9e values 3or the target database that are calculated 3ro the source database serve only as starting !oints. Generally@ soe values ?ill be too large and others ?ill be too sall. There3ore@ be generous in your database si9ing during the 3irst igration test run. The ex!erience gained through the test igration is better than any advanced estiate you could calculate@ and you can al?ays adjust the values in subseuent tests.
6igure #+&: Fenerate !m'ort G.CMD and G.TS2 6i*es S$PI+ST*MIGMO+ call &'4O$ to create tas 3iles. &'S(T)P*S$PI+ST*MIGMO+ generate coands 3iles. I3 AF(&( 3iles exist@ the AF(&( conditions ?ill be inserted into the V.TSE 3iles.
6igure #+): !m'ort Data wit$ ,&3OAD &'S(T)P*S$PI+ST*MIGMO+ starts the i!ort &'4O$ !rocesses.
6igure #+(: Te"$ni"a* PostMigration A"tivities ;< The general 3ollo?7u! activities are described in the hoogeneous and heterogeneous syste co!y guides and their res!ective S$P +otes. 0e3ore the co!ied syste is started the 3irst tie@ the consistency bet?een the $0$P and database dictionary ?ill be checed and u!dated. &'S(T)P*S$PI+ST ?ill start the !rogra Hdi!gntab 3or that !ur!ose. $ll u!dates o3 the active +$M(T$0 are logged in the 3ile Hdi!gntabZS$P SI[.log. The suary at the end o3 this 3ile should not re!ort any errorL
6igure #++: Te"$ni"a* PostMigration A"tivities ;#< In any cases@ the change o3 a database syste ?ill also include a change in the bacu! echanis. Mae sure to get 3ailiar ?ith the changed*ne? bacu!*restore !rocedures. $3ter the igration@ the S$P Syste statistics and bacu! in3oration 3or the source syste can be deleted 3ro the target database. 5or a list o3 the tables@ see the syste co!y guide. 6igure #+7: Te"$ni"a* PostMigration A"tivities ;&< &e!ort &$0I5 creates database7s!eci3ic objects /tables@ vie?s@ indexes1. &$0I5 is usually called by &'S(T)P*S$PI+ST via &5C /user IC@ client ---1 a3ter the data is loaded. $3ter o 3ro custoer side@ the S$P jobs that have been set to sus!end ode via re!ort 0TCT&+S,@ can no? be rescheduled ?ith 0TCT&+S2.
6igure #+: Te"$ni"a* PostMigration A"tivities ;)< The non7standard database objects /ainly 0A objects1 ?hich ?ere identi3ied on the source syste and are recreated and i!orted into the target syste@ ?ill need soe adjustents. The re!ort &S0APOSTMIG&$TIO+ ?ill do this. 5or 3urther re3erence chec S$P +ote :::-2# H0A '.- and 0A '., Syste co!y and*or read the corres!onding cha!ter H5inal $ctivities in the hoogeneous and heterogeneous syste co!y %.#- or higher. The !rogra should run inde!endently@ ?hether or not a V.S4 3ile ?as used or not. The data source syste connection can be checed in transaction &S$,. The &5C !araeters can be changed in transaction SM"=.
6igure #+: Te"$ni"a* PostMigration A"tivities ;(< The re!ort variants S$PPOSTMG&0 and S$PPOSTMG& are !re7de3ined 3or syste co!ies changing*not changing the database syste. &un the re!ort in the bacground@ because the execution can tae a ?hile. Invalidate Generated PrograsD Generated !rogras can be database s!eci3ic. In order to ae sure that every !rogra ?ill be re7generated according to the ne? database needs@ the already generated !rogras ?ill be invalidated. $da!t 0I55 to +e? 0D e!ending on the database ty!e@ ore or less indexes ?ill be reuired. Table 0I55 ?ill be ada!ted accordingly. +o issing 0A objects ?ill be sho?n in transaction 0-2 a3ter?ards. $da!t $ggregate IndexesD runs CF(CEI+(KST$T( $da!t 0asis Cube IndexesD runs CF(CEI+(KST$T( Generate +e? PS$
6igure #70: Te"$ni"a* PostMigration A"tivities ;+< The tables in the S$P----.ST& 3ile contain the generated $0$Ps /$0$P loads1 o3 the S$P Syste. These loads are no longer valid a3ter a hard?are igration. 5or this reason@ &'S(T)P*S$PI+ST does not load these tables. (ach $0$P load is generated autoatically the next tie a !rogra is called. The syste ?ill be slo? unless all coonly used !rogras are generated. )se transaction SG(+ /starting ?ith &elease #.%01 to regenerate all $0$Ps. On versions be3ore #.%0@ run transaction S$MT or re!ort &G(+4. The re!ort &G(+4 reuires the 3ile &(P4IST in the S$P instance ?or directory. To create the 3ile &(P4IST in the source syste@ call re!ort &4TC2.
6igure #7: PostMigration Test A"tivities Tae care ?hen setting u! the test environent. To !revent un?anted data counication to external systes@ isolate the syste. (xternal systes do not distinguish bet?een igration tests and !roduction access.
To develo! a cut over !lan@ an already existing checlist 3ro a !revious u!grade*igration can be a valuable source o3 ideas. To identi3y any di33erences bet?een the original and the igrated syste@ involve end users as soon as !ossible.
3esson: Per9orming a 5A=A System Migration Business -xam'*e ou need a uic overvie? about the executed ste!s in a 6$<$ Syste Migration. 6igure #7#: Te"$ni"a* Migration Ste's ;5A=ABased System<
6igure #7&: Te"$ni"a* Migration Pre'aration 6ust be3ore you start the igration@ chec all the igration7related S$P +otes 3or u!dates. 6igure #7): Fenerate Tem'*ate 9or Target DB Si@e
6igure #7(: Co**e"t A''*i"ation Data 9rom 6i*e System I3 S$PI+ST does not recogni9e the installed a!!lication and its related 3iles@ no archives ?ill be created. Mae sure to use the right version o3 the installation C@ as entioned in the a!!ro!riate S$P +otes regarding hoogeneous and heterogeneous syste co!ies. $!!lications that are not recogni9ed by S$PI+ST ay reuire o!eration syste s!eci3ic coands to co!y the res!ective directories and 3iles to the target syste. I3 this is the case@ the corres!onding S$P +otes ?ill give instructions ho? to deal ?ith it. The co!y o3 other a!!lications ight need the installation o3 a certain su!!ort stac and a atching S$PI+ST.
6igure #7+: Co**e"t SDM Data In S$P releases belo? :.,-@ the SM re!ository itsel3 is installed in the 3ile syste and ?ill be rede!loyed into the target syste 3ro the SMEIT.6$& 3ile. 6igure #77: 5P2FCT3 ;5SP3!TT-,< on*y 6PEGCT4 is o!tional used since S$PI+ST :.-2. Pacaged job 3iles containing ulti!le tables are naed H(KPO&TZn[.KM4 and job 3iles 3or a single table only are naed H(KPO&TZn[ZT$04([.KM4. I3 a table ?as s!litted@ the resulting job 3iles are naed the sae but ?ith a di33erent nuber. 5or every ex!ort job 3ile an i!ort job 3ile is generated ?ith the sae nae but H(KPO&T is re!laced ?ith HIMPO&T. The Hsi9es.xl 3ile contains the ex!ected ex!ort si9e o3 each generated !acaged job 3ile. It hel!s 6MIGMO+ to ex!ort the !acages by si9e. The largest !acage ?ill be ex!orted 3irst@ then the next saller !acages@ and so on. 6igure #7: -x'ort Dataase wit$ 53OAD +oteD In versions ?ithout 6PEGCT4@ 64O$ is generating the (KPO&T.KM4 and IMPO&T.KM4 by itsel3.
6igure #7: 6i*e Trans9er The 3ile H4$0(4IK.$SC and the H4$0(4.$SC 3iles are generated during the ex!ort o3 the source database. S$PI+ST uses its content to deterine ?hether the load data is read 3ro the correct directory. The HZex!ortdir[*$PPS directory ight be e!ty i3 no a!!lications are installed@ i.e. those ?hich are ee!ing their data in the 3ile syste. $nother !ossibility can be that the a!!lication is not no?n by S$PI+ST.
5uture releases ay be able to create additional directories*3iles in the ex!ort directory@ ?hich are naed HOthers in the above slide.
6igure #0: !nsta** DBSAP So9tware and -xtend Dataase In S$PI+ST versions belo? +etAeaver -#S the database si9e is set using a de3ault value. 6igure #: De'*oy SDM 6i*e System Data The So3t?are e!loyent Manager holds its re!ository in the 3ile syste. 5or a re7installation@ the content o3 SMIT.6$& ?ill be used@ ?hich contains the necessary 3ile syste co!onents as collected in the source syste. This ste! is not necessary anyore in +etAeaver :.,- and later.
6igure ##: !m'ort dataase wit$ 53OAD In versions ?ithout 6PEGCT4@ 64O$ is generating the (KPO&T.KM4 and IMPO&T.KM4 by itsel3. 6igure #&: ,estore A''*i"ation Data to 6i*e System More and ore 6$<$7based so3t?are co!onents ?ill be integrated into the S$PI+ST syste co!y !rocedure. In the eantie@ S$P +otes ?ill give instructions ho? to co!y or to extract data anually@ i3 reuired. Since :.,- ?ell behaving 6$<$ !rogras should not ?rite !ersistent data into the 3ile syste.
6igure #): Te"$ni"a* Post Migration A"tivities The general 3ollo?7u! activities are described in the hoogeneous and heterogeneous syste co!y guides and their res!ective S$P +otes. The license ey o3 the source syste is not valid 3or the target syste. ou ?ill reuired to !rovide a ne? one. 6$<$ systes that include co!onents that connect to an $0$P bacend using the S$P 6$<$ Connector /S$P 6Co1@ 3or exa!le S$P 0A or S$P (nter!rise Portal@ need to aintain the &5C destination. $3ter syste co!y@ the !ublic7ey certi3icates ?ill be invalid on the target syste. ou ?ill need to recon3igure the. Co!onent s!eci3ic 3ollo?7u! activities 3or S$P 0A@ $dobe ocuent Services@ S$P Eno?ledge Aarehouse@ S$P (&P@ S$P C&M.
6igure #(: PostMigration Test A"tivities Tae care ?hen setting u! the test environent. To !revent un?anted data counication to external systes@ isolate the syste. (xternal systes do not distinguish bet?een igration tests and !roduction access. To identi3y any di33erences bet?een the original and the igrated syste@ involve end users as soon as !ossible.
-xer"ise 0: Per9orming t$e Migration Business -xam'*e ou need to reuest an OS*0 Migration Eey 3ro S$P. 5or that !ur!ose@ you need to no? the right installation nuber 3or the ey reuest.
So*ution 0: Per9orming t$e Migration Tas1 : In the !re!aration o3 a &'4O$ syste co!y@ the custoer ?as ased 3or scheduled bacu!s@ scheduled S$P Syste jobs@ external !rogras or inter3aces ?hich are ?riting directly to the database and the !lanned S$P SI o3 the target syste. ,. Ahy is it i!ortant to no? ?hich jobs are scheduled /S$P Syste or external jobs1 a1 Ahile the ex!ort is running@ only the S$P instance is shutdo?n. (xternal !rogras or inter3aces that are directly ?riting into the database@ ?hile the ex!ort is running@ can cause inconsistenciesL
b1 Scheduled database bacu!s can shutdo?n the database@ or decrease the ex!ort !er3orance. c1 $3ter starting the igration target syste the 3irst tie@ scheduled jobs ay be executed iediatelyU this can either be har3ul or not har3ul@ de!ending on their nature. In this stage@ the target syste has not been !ro!erly con3igured. 6obs that need to be run 3or veri3ication !ur!oses ay only be ca!able o3 being executed once. >int: The 0TCT&+S, and 0TCT&+S2 re!orts are available to set all scheduled jobs to Hsus!ended status on the source syste@ and to invoe the again on the target syste. On earlier S$P Syste versions@ critical jobs should be set to H!lanned status be3ore starting the ex!ort. I3 this is not !ossible@ tae suitable !recautions in the target syste. 2. In the case that the S$P SI ?ill be changed during the syste co!y@ ?hich actions should be taen be3ore the ex!ort a1 In the case that the S$P SI is changed@ all o!en Corrections and &e!airs should be released in the source syste. I3 not@ the trans!ort syste initiali9ation /S(-%1 ?ill close the ?ithout releasing the trans!orts to the 3ile syste.
Tas1 #: The ex!ort o3 a heterogeneous syste co!y runs on the central instance S$P Syste ?ith the 3ollo?ing con3igurationD Source systeD Installation nuberD -,2--#:,, Standalone database server hostnaeD Hdbsrv-, Central instance server hostnaeD Hcisrv-, Target systeD Installation nuberD -,2---8," Central instance ?ith database@ hostnaeD Hcidb--, ,. Ahat ?ould be the correct installation nuber to reuest the igration ey a1 The installation nuber o3 the source syste ?ill al?ays be used to generate the igration ey. In this case@ H-,2--#:,,. 2. Ahich hostnaes ust be !rovided ?hen 3illing the igration ey reuest 3or in the S$P Service Maret!lace a1 The hostnae o3 the syste that &'4O$ is running on is o3 great i!ortance. $s the ex!ort has to be done on the central instance@ the 3ollo?ing cobination o3 hostnaes are needed to reuest the igration eyD (x!ort systeD Hciserv-, I!ort systeD Hcidb--, '. Ahere can in3oration about the &'4O$ version and ?hich hostnaes ?ere used 3or ex!ort*i!ort /es!ecially in environents ?here systes have a lot o3 net?or controllers and IP addresses or are even clustered1 be 3ound a1 The &'4O$ ex!ort and i!ort log 3iles contain the used hostnaes. In case o3 a igration ey isatch@ al?ays chec these entries. >int: Ahen reuesting the igration ey@ ae sure to enter the version o3 &'4O$ and not the version o3 the S$P /base1 Syste. The &'4O$ version is entioned in the log 3iles. The versioning can be con3using on S$P releases running on a bac?ard co!atible ernel.
Unit 10 Trou*es$ooting This unit is discussing s!ecial error situations. Soe o3 the are uite rare@ but nevertheless they occurL Point outU the ost i!ortant no?ledge 3or trouble shooting is to understand the restart behavior o3 &'4O$ and 64O$ very ?ell.
Unit Overview 3esson: Trou*es$ooting Business -xam'*e
There are soeties strange error situations ?hich are not easy to understand. ou ?ant to understand their reasons and ho? to avoid the.
6igure #+: ,&3OAD Un*oad Terminations The igration tools used are not co!atible ?ith the current S$P Syste or database version Pass?ord !robles Changes to the root user or the environent necessary be3ore starting &'S(T)P*S$PI+ST The active object de3inition in the $0$P ictionary di33ers 3ro the object de3inition in the database@ or the tables do not exist on 0 at all. 5or soe tables@ this is intentional and is caught by a s!ecial handling routine in &'4CT4. These tables are usually recorded in the exce!tion table 0I55@ and do not cause errors. There3ore@ i3 an error occurs@ it ust involve a table ?hose data de3inition is unintentionally ?rong. This situation ust be corrected. O3ten CMV tables are involved. +ot enough s!ace to unload the data in the du! 3ile syste. $s a rule o3 thub@ the ex!ort can be started to a 3ile syste ?hich has about ,-W 7 ,"W o3 the database si9e. I3 no additional dis s!ace is available@ co!y already 3inished du! 3iles to a di33erent location ?hile the ex!ort is running. 5or the Perl P$CE$G( SP4ITT(&D Is at least Perl version " installed oes the de3ault search !ath !oint to the right Perl executable oes the 3irst line o3 the SP4ITST&.P4 scri!t contain the right nae o3 Perl in your syste 5or the 6$<$ P$CE$G( SP4ITT(&D Is the right 6$<$ version installed &'4O$ ex!orts data in the !riary ey order. e!ending on the database used@ ore te!orary databases dis s!ace ay be reuired 3or sorting. Increase database storage units that are used 3or sorting /i.e. PS$PT(MP1. &elated S$P +oteD ='8" HAhat to do ?ith CM tables
6igure #7: ,&3OAD 3oad Terminations +ot enough te!orary database dis s!ace 3or index creation /sorting1. Increase the database storage units that are used 3or sorting /i.e. PS$PT(MP1@ or reduce the nuber o3 !arallel running &'4O$ !rocesses. Oracle rollbac segent !roblesD &estart &'S(T)P*S$PI+ST and try again. $lternatively@ you can reduce the nuber o3 !arallel running &'4O$ !rocesses@ or i!leent the necessary easures in the database /Oracle1. Older installation so3t?are ay not activate Oracle undo anageent. The igration tools used are not co!atible ?ith the current S$P Syste or database version $re changes to the root user environent necessary be3ore starting &'S(T)P*S$PI+ST Mae sure that the database user can access the directories and 3iles o3 the i!ort 3ile syste.
6igure #: Use9u* ,&3OAD -nvironment =aria*es ;< The &'4O$ ?arning level can have any value@ as long as soething is set. The &'4O$ trace level is 3or?arded to the 0S4 inter3ace only. )se3ul values are bet?een , and #. The higher the value@ the ore out!ut that is ?ritten. Most o3 the out!ut can only be inter!reted 3ro develo!ers@ but in the case o3 database connection !robles@ the trace can give valuable hints 3or troubleshooting. 6igure #: Use9u* ,&3OAD -nvironment =aria*es ;#< The &'4O$ ?arning level is use3ul in cases ?here 3iles cannot be 3ound or o!ened ?ithout an obvious reason. The contained list o3 environent variables can assist you in the analysis o3 database connection !robles@ caused by ?rong environent settings. In general@ uch ore in3oration is ?ritten then noral.
6igure #0: ,&3OAD 3oad Termination -xam'*e Initial situationD ,. Table $T$0 has been created success3ully. 2. 02 S4 error "", occurs during an I+S(&T to table $T$0. '. (rror textD atabase user S$P&' is not authori9ed to !er3or the I+S(&T. &'4O$ res!onseD
The &'4O$ !rocess that is !rocessing 3ile HS$PPOO4.CM cannot continue@ due to the S4 error. $ terination occurs. &'S(T)P*S$PI+ST is given a negative return code and starts a ne? &'4O$ !rocess 3or the next coand 3ile. Correcting the !robleDGrant access authori9ation 3or table $T$0 to user S$P&'
6igure #: ,&3OAD ,estart -xam'*e ,&3OAD ).+D Situation a3ter &'4O$ has been started againD ,. &'4O$ reads the last entry in the HS$PPOO4.4OG 3ile. 0ecause the error occurred during the load@ and not ?hile creating the table@ the table contents ust be deleted 3irst. To do this@ &'4O$ executes the S4 stateent H(4(T( 5&OM. In the above case@ no data has been loaded yet@ ?hich ex!lains the S4 error ,-- /&o? not 3ound1. 2. &estart co!lete. ata ?ill be loaded.
6igure ##: ,&3OAD ,estart -xam'*e ,&3OAD E +.0 Situation a3ter &'4O$ has been started againD /,1 &'4O$ reads the 3irst tas o3 status Herr or Hxe 3ro the HS$PPOO4.TSE 3ile. 0ecause the error occurred during the load@ and not ?hile creating the table@ the table contents ust be deleted 3irst. To do this@ &'4O$ executes the truncate*delete S4 stateent ?hich is de3ined in the 4Z0S[.TP4 3ile. /21 &estart co!lete. ata ?ill be loaded.
6igure #&: Du'*i"ate 2ey at !m'ort Time In ost cases@ du!licate eys are caused by unex!ected terinations at ex!ort or i!ort tie. The 3ollo?ing !ages ?ill !rovide reasons and !roble solutions. Soe tables ight not have a !riary ey on the source database@ but in the $0$P IC. This ay or ay not be intentional. Please as the custoer 3or reasons and*or chec 3or S$P +otes. +o V.S4 3ile ?as 3ound by &'4O$@ or SMIG&C&($T(4 ?as not called on the source syste. In the source database@ silently corru!ted !riary eys can lead to double ex!orted data records. In this case@ the nuber o3 records in the V.TOC 3ile ?ill be larger than the nuber o3 ro?s ?hich are re!orted by a S(4(CT CO)+T/V1 stateent.
6igure #(: Power 6ai*ure OS Cras$ at -x'ort Time ;#< In the above exa!le@ a !o?er 3ailure or o!erating syste crash occurred. $s the o!erating syste could not 3lush all o3 the 3ile bu33ers to dis@ the result ?as a isatch bet?een the du! 3ile and the V.TOC or V.TSE 3ile content. &'load ex!orted T$04(-8 already and the V.TOC or V.TSE ?as u!dated@ but the data ?as not yet ?ritten by the o!erating syste into the du! 3ile. The V.TOC 3ile contains bloc #8@ as the last data bloc in the du! 3ile. &'4O$ until #.%D $3ter restarting the ex!ort !rocess@ &'4O$ loos 3or the last ex!orted table in the V.TOC 3ile@ ?hich is T$04(-8. &'4O$ no? o!ens u! the du! 3ile and does a see to the next ?rite !osition bloc #= /?hich is behind end o3 3ile in this case1. The next table in the V.ST& 3ile to be read is T$04(-=@ ?hich ?ill be stored at
bloc #= and so on. The ga! bet?een bloc #2 /last !hysical ?rite1 and #= contains rando data. &'4O$ versions since #."$ ?ill create a bloc chec su /C&C1 to identi3y corru!ted data. (arlier versions ?ill try to load the data and ?ill usually sto! on error ?hile unco!ressing the data@ or ?ill sto! ?ith du!licate ey errors. &'4O$ %.,- and aboveD $s it is not clear ?hether the V.TSE 3ile contains ore or less entries than the corres!onding du! 3ile@ the use o3 the Herge o!tion ay not be ,--W sa3e and can thus@ lead to the sae !robles as in earlier &'4O$ versions. This !roble is rare and it usually only ha!!ens to very sall tables that are ex!orted co!letely@ ?here only a 3e? blocs have to be 3lushed to the du! 3ile@ and the entry o3 V.TOC or V.TSE 3iles has already been ?ritten. 6igure #+: Power 6ai*ure OS Cras$ at -x'ort Time ;&< In the above exa!le@ a !o?er 3ailure or o!erating syste crash occurred. $s the o!erating syste could not 3lush all o3 the 3ile bu33ers to dis@ the result is a isatch bet?een the du! 3ile and the V.TOC or V.TSE 3ile content. &'load ex!orted the large T$04(-2 already and the V.TOC or V.TSE ?as u!dated@ but the last 8 data blocs ?ere not yet ?ritten by the o!erating syste into the du! 3ile. The V.TOC 3ile contains bloc '2-.--as the last valid data bloc in the du! 3ile. &'4O$ until #.%D $3ter restarting the ex!ort !rocess@ &'4O$ loos 3or the last ex!orted table in the V.TOC 3ile@ ?hich is T$04(-2. &'4O$ no? o!ens u! the du! 3ile and does a see to the next ?rite !osition bloc '2-.--, /?hich is behind end o3 3ile in this case1. The next table in the V.ST& 3ile to be read is T$04(-'@ ?hich ?ill be stored at bloc '2-.--, and so on. The ga! bet?een bloc ',=.==2 /last !hysical ?rite1 and '2-.--, contains rando data. &'4O$ versions since #."$ ?ill create a bloc chec su /C&C1 to identi3y corru!ted data. (arlier versions ?ill try to load the data and ?ill usually sto! on error ?hile unco!ressing the data@ or ?ill sto! ?ith du!licate ey errors. &'4O$ %.,- and aboveD $s it is not clear ?hether the V.TSE 3ile contains ore or less entries than the corres!onding du! 3ile@ the use o3 the Herge o!tion ay not be ,--W sa3e and can thus lead to the sae !robles as in earlier &'4O$ versions. This !roble is rare and it can ha!!en to tables that are ex!orted co!letely ?here only the last blocs have to be 3lushed to the du! 3ile@ and the entry o3 V.TOC or V.TSE 3iles has already been ?ritten. 6igure #7: Power 6ai*ure OS Cras$ at -x'ort Time ;)< &eove only 3iles 3or !acages that ?ere not co!leted at the tie o3 the syste crash. I3 the V.TSE 3ile has been u!dated be3ore all data ?as 3lushed to the du! 3ile by the o!erating syste@ the content can be isleading. Tas 3iles can be re7created by using the sae &'4O$ coand line as sho?n in the V.4OG 3ile. In the described case@ it is not recoended to use the Herge o!tion to restart ?ithout re!eating the ex!ort o3 the involved &'4O$S 3ro scratch.
6igure #: ,&3OAD -x'ort -rror due to S'a"e S$ortage ;< In the described case@ it is not recoended to use the Herge o!tion to restart ?ithout re!eating the ex!ort o3 the involved &'4O$S 3ro scratch. The sae scenario can ha!!en i3 an ex!ort !rocess is ?riting to an +5S 3ile syste ?hile a net?or error occurs. &55D Cannot read 3ro 3ile error. &50D Cannot read 3ro bu33er error. 6igure #: ,&3OAD -x'ort -rror due to S'a"e S$ortage ;#< S$P +oteD :%=#:% Hanger o3 inconsistencies The above ex!ort log sho?s unload terinations due to a shortage o3 s!ace in the 3ile syste. $3ter increasing the s!ace o3 the 3ile syste@ the ex!ort ?ill restart and 3inish ?ithout 3urther !robles. $t i!ort tie@ &'4O$ ?ill sto! ?ith a checsu error.
6igure &00: -x'ort ,u*es 9or ,&S-TUP SAP!/ST M!FMO/ The &'4O$ ex!ort !rocess is very sensitive@ so be sure to !revent any disturbance. I3 the &'4O$ ex!ort ?as done by soeone else and you are res!onsible 3or the i!ort only@ !lease ae sure to receive the ex!ort logs along ?ith the ex!ort du! 3iles. In case o3 i!ort errors@ because o3 du! corru!tions@ the ex!ort logs should be exained 3or troubleshooting. 6igure &0: Power 6ai*ure OS Cras$ at !m'ort Time ;<
6igure &0#: Power 6ai*ure OS Cras$ at !m'ort Time ;#< In the case o3 an OS crash or !o?er 3ailures@ it is di33icult to ascertain ?hich OS bu33ers ?ere 3lushed to the o!en 3iles or ?hat ha!!ened to the entire 3ile. In the above exa!le@ a !o?er 3ailure or o!erating syste crash occurred. $s the o!erating syste could not 3lush all o3 the 3ile bu33ers to dis@ the result is a isatch bet?een database content and the V.4OG or V.TSE 3ile. &'load i!orted Table-8 already@ but the V.4OG or V.TSE 3ile contained only the in3oration that Table-" and its !riary ey ?ere created. &'4O$ until #.%D The restart ?ill try to create Table-%@ but it already exists. &'4O$ sto!s on error. $ restart beginning ?ith data load@ can result in du!licate eys. $nother scenario that could occur is that the 3irst table ?ill be treated right and the !roble 3irst arises ?ith the second table. This de!ends on the V.4OG 3ile content. &'4O$ %.,- and aboveD The erge o3 V.TSE and V.0CE is necessary. $ll entries that are not ared as executed /Hxe1 ?ill be set to error /Herr1@ &'4O$ ?ill dro! or delete objects and data 3irst@ be3ore restarting a tas. This usually only ha!!ens to sall tables. $s databases are designed to ?rite data in a sa3e ?ay@ the &'4O$ i!ort is less critical in the case o3 !o?er 3ailures or o!erating syste crashes as o!!osed to the ex!ort o3 data.
6igure &0&: Power 6ai*ure OS Cras$ at !m'ort Time ;&<
6igure &0): Du'*i"ate 2ey Pro*em a9ter ,estarting !m'ort ;< In a restart scenario ?here the i!ort o3 a large table 3ails and the S4 coand that deletes the entire table content has also 3ailed ?ith an error@ &'4O$ assues that the table has been e!tied and thus@ restarts the i!ort. The creation o3 the !riary ey sto!s ?ith a du!licate ey error. This ind o3 !roble has o3ten been caused by Oracle HSna!shot too old situations. $s &'4O$ %.x is using the Oracle HT&)+C$T( stateent to delete data@ the described error should not ha!!en any ore. +evertheless other database errors can lead to a siilar erroneous restart situations. 6igure &0(: Du'*i"ate 2ey Pro*em a9ter ,estarting !m'ort ;#< atabase7s!eci3ic delete coands /3or exa!le@ the Oracle coand T&)+C$T(1 can ?or 3aster than the standard S4 coand (4(T(. Ahen ani!ulating the HZP$CE$G([.4OG 3iles@ be very cautious and exaine the co!leted results care3ully. o not odi3y the V.4OG 3iles unless absolutely necessary. 5or veri3ication@ count the table ro?s a3ter i!ort.
6igure &0+: Du'*i"ate 2ey Pro*em a9ter ,estarting !m'ort ;&< 5or veri3ication@ count the table ro?s a3ter i!ort. 6igure &07: Corru'ted ,&3OAD Dum' 6i*es ;< &55Y&ead 3ro 3ile &50Y&ead 3ro bu33er /&551 (&&O&D S$Pxxx.TOC is not 3ro sae ex!ort as S$Pxxx.--,
The du! 3ile is corru!ted@ or 3iles o3 di33erent ex!orts have been accidentally ixed. /&551 (&&O&D bu33er /... E01 too sall /the 3igure is larger than ,-.---1 &'4O$ read an invalid bu33er si9e 3ro the du! 3ile. The bu33er is used to load a certain nuber o3 data blocs to unco!ress it. Ty!ical bu33er si9es range only a 3e? M0. /&501 (&&O&D Cseco!r rc Y 7,0u33er data can not be deco!ressed. /&501 (&&O&D ?rong checsu X invalid data The checsu o3 loaded data blocs is ?rong. See S$P +otesD ,#'2:2 &'4O$D /&551 (&&O&D bu33er /xxxxx 01 to sall #'8='2 &'4O$D (rror during restart /ex!ort1 6igure &0: Corru'ted ,&3OAD Dum' 6i*es ;#< $nalysisD Chec the ex!ort log 3iles. id soething tae !lace during the ex!ort Aas there a restart situation )se di33erent checsu tools to co!are original and co!ied 3iles@ or use di33erent algoriths@ i3 !ossible.
6igure &0: S!C2 System !nsta**ation C$e"1 6ai*ed Transaction SICE detects errors that generally indicate an incorrect S$P 0asis installation.
6igure &0: DB0# ABAP DD!C Dataase Consisten"y C$e"1 Soe reuired tables are created 3ro external !rogras@ such as S$P0$*0&CO++(CT. Soe database s!eci3ic objects are created in the last ste! o3 the syste co!y via &5C !rogras. id they really 3inish success3ully I3 tables or indexes are issing@ chec to see i3 there are S$P +otes related to these issues. The only ,--W chec ?hether a table in a !acage 3ile is in the database or not@ is to co!are the database dictionary ?ith the content o3 the V.ST& 3iles.
6igure &: ,&3OAD 3oad Termination due S'a"e S$ortage 0e generous ?ith database s!ace during the 3irst test igration /$dd@ 3or instance@ 2-W s!ace as a rule o3 thub1. $djustents 3or the !roduction igration can be deterined 3ro the results o3 the test igrations.
6igure &#: /ameta !m'ort Pro*em ;Uni"ode Conversion< Aarn the students they ust never ever use the Perl7based Pacage S!litter ?hen !er3oring a )nicode ConversionL ProbleD (xecuting H&'trans 7d returns H+o T$I& in this syste@ and the trans.log 3ile contains the ?arning HThe F($ entry in T$I& is issing. Ahen using the Perl7 or 6$<$7based Pacage S!litter /version ,1@ it can ha!!en that the $ctive +aetab tables ay be se!arated into di33erent V.ST& 3iles. uring the )nicode Conversion@ the $ctive +aetab tables ust be s!ecially treated by &'4O$. This ?ill be !ossible@ only i3 the tables ?ere i!orted in a certain order in the sae V.ST& 3ile. +orally@ S$PSIC.ST& contains the tables in the right ?ay. 0ut a3ter a s!lit@ S$PSIC.ST& does not necessarily contain all $ctive +aetab tables anyore. In +etAeaver -#S@ the 6$<$7based Pacage S!litter has been i!roved to ?rite the $0$P +aetab tables into a single !acage called HS$P+T$0.ST&@ aing sure that the right i!ort order is used. The revised 6$<$ !acage s!litter is also available 3or S$P Maret!lace. 5or ore in3oration see S$P +oteD 8''=#% HS!litting o3 ST& 3iles.
6igure &&: Data!ndex in rong Dataase Storage Unit
In any cases@ tables and indexes are oved to database storage units created by custoers@ ?ithout aintaining the a!!ro!riate $0$P ictionary tables. The result is that the 3iles H4Z0S[.TP4 and V.ST& ?ill contain the original S$P T$0$&T settings. The installation !rogras &'S(T)P and S$PI+ST can change the content o3 the 4Z0S[.TP4 3ile be3ore starting the i!ort. Chec the V.CM 3iles to 3ind out ?hich 4Z0S[.TP4 3ile have been used. Oracle databases running on the Hold tables!ace layout ?ill be autoatically installed ?ith the reduced tabels!ace set on the target syste.
6igure &): 53OAD -x'ort ,estart Be$avior 0ecause it does not ae sense to continue ?ith another table i3 a !revious table 3ailed to ex!ort@ 64O$ sto!s i3 an error occurs. In +etAeaver -# S&,@ the H(KPO&T.ST$ 3ile can be 3ound underD H*usr*sa!*ZS$PSI[*ZInstance[*j2ee*sltools. Chec the S$PI+ST log 3ile 3or the 3ile location in other versions. In +etAeaver B-# and +etAeaver :.--@ there is only a single (KPO&T.ST$ 3ile. Since +etAeaver :.-2 there can be ulti!le 64O$ job 3iles /!acages1. 6igure &(: 53OAD !m'ort ,estart Be$avior (ven i3 a table 3ails to i!ort@ it aes sense to !roceed ?ith other tables /thus@ saving tie1. $ later restart ?ill only deal ?ith the erroneous objects. I3 the last unsuccess3ul action ?as load data@ the restart action ?ill be delete data. I3 the last unsuccess3ul action ?as create object /table or index1@ the restart action ?ill be dro! table. In +etAeaver B-# S&,@ the HIMPO&T.ST$ 3ile can be 3ound underD H*usr*sa!*ZS$PSI[*ZInstance[*j2ee*sltools. Chec the S$PI+ST log 3ile 3or the 3ile location in other versions. In +etAeaver B-# and +etAeaver :.-- there is only a single IMPO&T.ST$ 3ile. Since +etAeaver :.-2 there can be ulti!le 64O$ job 3iles /!acages1.
-xer"ise : Trou*es$ooting Business -xam'*e ou need to no? ?hich 3iles are read during a restart and ?hich !recautions are reuired de!ending on the cause o3 an error.
So*ution : Trou*es$ooting Tas1 : uring the i!ort o3 a table &'4O$ %.x sto!!ed@ because the database returned an error. $3ter the !roble ?as 3ixed@ &'4O$ ?as started again. ,. Ahich restart action ?ill be autoatically executed by &'4O$ a1 &'4O$ ?ill delete all table data 3ro the table be3ore loading it again. 2. Ahat is the exact database stateent that &'4O$ ?ill use 3or the restart a1 &'4O$ ?ill use the database coand@ ?hich is de3ined as truncate ta7ble stateent /section trcdatD 1 in the 4Z0S[.TP4 3ile. I3 nothing is de3ined@ (4(T( ?ill be used as de3ault. /ote: The 3irst guess ight be ?rongL Thin about ?hich &'4O$ 3iles are read.
Tas1 #: &'4O$ !rovides restart 3unctionality on ex!ort and i!ort ,. Ahy could it be dangerous to restart a terinated ex!ort@ caused by Hout o3 s!ace in the ex!ort 3ile syste a1 It is not certain ?hich &'4O$ 3ile ?as ?ritten last. I3 the du! 3ile con7tains less blocs than recorded in the V.TOC 3ile@ a restart ?ill start behind end7o373ile. The blocs bet?een end7o373ile and the ne? ?rite !osition contain rando data. 2. Ahy isnBt it a !roble to restart a terinated i!ort@ caused by Hout o3 s!ace in the database a1 In the case that &'4O$ ?ere to sto!@ because o3 a database i!ort error@ it can still close all 3iles !ro!erly /that eans the 3iles have a consistent state1. $3ter?ards &'4O$ is able to !er3or the right restart activities.
Tas1 &: 64O$ can restart a terinated ex!ort or i!ort@ ?hich 3ailed because o3 errors. ,. Ahich 3iles are read to 3ind the restart !osition in the du! 3ile
a1 64O$ reads the content o3 the (KPO&TZP$CE$G([Q.ST$ to identi3y already ex!orted tables. The du! 3ile is o!ened and blocs o3 already ex7!orted tables are si!!ed. 64O$ !roceeds ?ith ?riting 3ro the !osition 3ound. The next table to ex!ort is read 3ro the ex!ort job 3ile (KPO&TZP$CE$G([Q.KM4. 2. Ahich 3iles are read to restart an i!ort a1 64O$ reads the content o3 the IMPO&T ZP$CE$G([Q.ST$ 3ile 3or erroneous entries. $s a Hcontinue7on7 error strategy is used@ error 3lagged tables o3 the IMPO&TZP$CE$G([Q.ST$ 3ile ?ill be re!eated@ and re7 aining tables ?ill be read 3ro the job 3ile IMPO&TZP$CE$G([Q.KM4.
Unit 11 S'e"ia* Pro%e"ts This unit can be inserted bet?een any lessons a3ter co!leting the 3irst 3our units.
3esson: S'e"ia* Pro%e"ts 4esson urationD ," Minutes
3esson Overview Contents > S!ecial considerations 3or +NT*MS syste co!ies and )nicode Conversions > Technical descri!tion o3 the +NT*MS ethod
Business -xam'*e 6igure &+: /QDT A Minimi@ed Downtime Servi"e ;MDS< The +ear Nero o?ntie ethod /+NT1 is a S$P Minii9ed o?ntie Service /MS1 using an increental igration a!!roach@ ?hich has been develo!ed to co!y very large databases. Co!ared to the standard syste co!y !rocedure@ it can reduce the technical syste co!y do?ntie signi3icantly to 3e? hours or even less. $t the oent /May 2-,21@ the +NT ethod can be a!!lied by s!ecially trained S$P consultants only /?hich ight change ?ith 3uture +NT versions or !rocedures1. It is suitable 3or heterogeneous syste co!ies and )nicode Conversions /or a cobination o3 both1. S$P delivers this ty!e o3 !roject usually 3or a 3ixed !rice. In 0A and SCM systes@ structure changes o3 tables and indexes are uite coon. Please discuss ?ith S$P@ ?hether a custoer s!eci3ic +NT !roject is !ossible. 5urtherore other technical aintenance events lie u!grades or u!dates can be !er3ored in course o3 this ty!e o3 +ear Nero o?ntie !rocedure.
6igure &7: /QDTMDS 6eatures The +NT Aorbench runs on a +etAeaver syste ?ith installed MIS $dd7On. It is used to con3igure and control the igration !rocess bet?een the source and the target syste. uring the table synchroni9ation@ the data strea runs through the +NT Aorbench. In case o3 an )nicode Conversion@ it is also !er3oring the data translation to )nicode. e!ending on the igration scenario@ the +NT Aorbench ?ill be a se!arate syste or is installed on the target syste. To log table changes@ insert@ u!date@ delete table triggers are created@ ?hich ?ill be 3ired as soon as the content o3 the table is changed. The !riary ey o3 the record ?ill be ?ritten into a log table. $ 3ree9e trigger is used to 3orce a short du!@ i3 a transaction tries to change the content o3 a record. This ?ill set the res!ective table to a read only ode. 5ree9e triggers are created 3or tables ?here no change is ex!ected@ or it ?as agreed ?ith the custoer to allo? no change during the +NT igration !rocess. This ?ill i!ly soe syste usage restrictions@ but reduces the nuber o3 tables ?hich ust be synchroni9ed during the online or o33line delta re!lay@ ?hat hel!s to shorten the do?ntie.
6igure &: /QDTMDS S"enario: -x'ort ,emaining Ta*es The table insert@ u!date@ delete triggers ?ill usually be i!leented 3or the ,-- X 2-- largest tables@ to cover about =-W o3 the database data 3or the online delta re!lay. The re!lay trans3ers nearly all data o3 the triggered tables@ ?ith the increental trans3er echanis@ be3ore do?ntie. uring the do?ntie@ a 3inal synchroni9ation taes !lace@ trans3erring the records@ ?hich ?ere not already synchroni9ed or changed
during the ra! do?n. )sually@ this taes 3e? inutes only. (very table@ ?hich ?as synchroni9ed ?ith the delta re!lay@ does not need to be ex!orted by &'4O$. &'4O$ is used to ex!ort the clone syste@ ?hich is created a3ter the triggers ?ere established on the source syste. $3ter co!leting the last delta re!lay@ the reaining tables are ex!orted*i!orted using &'4O$ during the do?ntie. The technical do?ntie de!ends ainly on the source syste database !er3orance and on the aount*si9e o3 the reaining tables. The achievable do?ntie is uite sall co!ared to a conventional database ex!ort. The table structure o3 the selected tables ust not change during the +NT !rocess. $s a conseuence@ all trans!orts into the source syste ust be exained 3or dangerous objects. This eans@ trans!orts ?hich are intending to odi3y triggered tables@ ust be !ost!oned to a !oint in tie@ ?hen the +NT !rocedure is co!leted. 6igure &: Pre'are /QDT or1en"$ and Sour"e System ;S< Setu!D > Install a se!arate +etAeaver syste ?ith the MIS $dd7On@ running the +NT Aorbench /based on S4O Migration Aorbench technology1. > Install the MIS $dd7On on the source syste )sing the +NT Aorbench@ the selected ,-- X 2-- large tables in the source syste can no? be !re!ared. Triggers and logging tables are created to record inserts@ u!dates@ and deletes in the source database. There ust be enough 3ree s!ace 3or the logging tables. 6igure : Create C*one and Target System ;S< $3ter the triggers ?ere established in the source syste@ the syste is cloned /co!ied via bacu!*restore or advanced storage co!y techniues1. $ll tables ?ill be ex!orted via &'4O$ and i!orted into the target syste. The S$P Syste o3 the clone ?ill never be started and is used 3or the ex!ort only. The target syste ?ill be isolated be3ore starting it the 3irst tie@ to avoid any data change. The database triggers and log tables are not active in the target syste. In cases ?here the +NT ethod is used 3or a hoogeneous syste co!y@ it ight be !ossible to use the clone syste directly as the target syste. 6igure : On*ine De*ta ,e'*ay Syn"$roni@e Ta*e Data ;S< The online delta re!lay table synchroni9ation can be scheduled individually 3or each table@ thus balancing the batch load on the source syste. On heavily7used systes@ it ight be advisable to install a se!arate a!!lication server 3or running the synchroni9ation batch !rocesses. The logging tables contain the !riary eys o3 changed records@ additional in3oration about the ty!e o3 change /insert@ u!date@ delete1@ a tie sta!@ and the !rocess status. (very tie a ro? is inserted@ u!dated@ or deleted@ a database trigger ?ill be 3ired to u!date the logging table. Changes to the sae record ?ill be o!tii9ed in a ?ay that the last recorded change is transitted only. The synchroni9ation jobs scan the logging tables /here T$0-,B and T$0-2B1 3or un!rocessed records. These records ?ill be transitted via the +NT Aorbench to the target syste. $ sa3e !rotocol aes sure that only those records are ared as co!leted /!rocessed1@ ?hich have been success3ully u!dated in the target database. In case o3 an )nicode Conversion@ the translation to )nicode is done in the +NT Aorbench. 6igure #: System ,am' Down ;S< $3ter the online re!lay is 3inished@ the source syste ust be ra!ed do?n 3or the 3inal o33line delta re!lay. That eans@ there ust be no syste activity anyoreD users are loced out@ no jobs are running@ inter3aces are sto!!ed@ etc. to avoid 3urther data changes.
6igure &: O99*ine De*ta ,e'*ay and Target C*eanu' ;S< $3ter the source syste ?as ra!ed do?n@ the o33line /3inal1 delta re!lay taes !lace@ ?hich trans3ers the data 3or those tables@ ?here the online re!lay ?as not ,--W co!leted@ or data ?as changed during ra! do?n. $3ter?ards@ the source and target systes ?ill be sto!!ed. The reaining tables ?ill be deleted 3or the target syste to !re!are the &'4O$ i!ort.
6igure ): -x'ort!m'ort ,emaining Ta*es ;S< The reaining tables ?ill be ex!orted*i!orted by &'4O$. The aount o3 data in the reaining tables ust not be larger than that o3 ?hich can be ex!orted and i!orted in the custoer7de3ined axiu technical do?ntie /i.e. 3e? hours1. $3ter the i!orted is co!leted@ the technical igration is 3inished. The resulting target syste can be !re!ared 3or !roductive o!eration no?. 6igure (: /QDTMDS S"enario: O99*ine De*ta ,e'*ay $ll tables o3 the syste ust be classi3ied to a!!ly insert@ u!date@ delete triggers or a 3ree9e trigger to the. 5or tables ?ith insert@ u!date@ delete triggers@ it ust be s!eci3ied ?hether they should be synchroni9ed during the online delta re!lay or the o33line delta re!lay. The table insert@ u!date@ delete triggers ?ill be usually i!leented 3or thousands o3 tables. The rest ?ill get 3ree9e triggers. &'4O$ is used to ex!ort the clone syste@ ?hich is created a3ter the triggers ?ere established in the source syste. Tables ?ith 3ree9e triggers have already their 3inal state a3ter the i!ort. $3ter co!leting the online delta re!lay@ the reaining unsynchroni9ed table data ?ill be trans3erred during the do?ntie o33line delta re!lay. The technical do?ntie de!ends ainly on the source syste database !er3orance and on the aount o3 delta data ?hich ust be synchroni9ed o33line. The achievable do?ntie is very sall co!ared to a conventional database ex!ort@ and even saller than in the +NT scenario@ ?here the reaining tables are ex!orted by &'4O$. +o table structures ust be changed during the +NT !rocess. $s a conseuence@ there ust be strict trans!ort rules in !lace@ only allo?ing eergency trans!orts into the source syste. 0ecause alost all tables have triggers /and any o3 the have 3ree9e triggers1@ trans!orts are di33icult to anage. Most trans!orts ust be !ost!oned to a !oint in tie@ ?hen the +NT !rocedure is co!leted. 6igure +: Pre'are /QDT or1en"$ and Sour"e System ;S#< Setu!D > Install a se!arate +etAeaver syste ?ith the MIS $dd7On@ running the +NT Aorbench /based on S4O Migration Aorbench technology1. > Install the MIS $dd7On on the source syste. On the +NT Aorbench@ the tables o3 the source syste can no? be classi3ied and the triggers and logging tables ?ill be created. There ust be enough 3ree s!ace 3or the logging tables. 6igure : Create C*one and Target System ;S#< $3ter the triggers ?ere established in the source syste@ the syste is cloned /co!ied via bacu!*restore or advanced storage co!y techniues1. $ll tables ?ill be ex!orted via &'4O$ and i!orted into the target syste. The S$P Syste o3 the clone ?ill never be started and is used 3or the ex!ort only. The target syste ?ill be isolated be3ore starting it the 3irst tie@ to avoid any data change. The database triggers and log tables are not active in the target syste. In cases ?here the +NT ethod is used 3or a hoogeneous syste co!y@ it ight be !ossible to use the clone syste directly as the target syste. 6igure : On*ine De*ta ,e'*ay Syn"$roni@e Ta*e Data ;S#< The online delta re!lay table synchroni9ation can be scheduled individually 3or each table@ thus balancing the batch load on the source syste. On heavily7used systes@ it ight be advisable to install a se!arate a!!lication server 3or running the synchroni9ation batch !rocesses. The logging tables contain the !riary eys o3 changed records@ additional in3oration about the ty!e o3 change@ and the synchroni9ation status /insert@ u!date@ delete@ !rocessed1. (very tie a ro? is inserted@ u!dated@ or deleted@ a database trigger ?ill be 3ired to u!date the logging table. Changes to the sae record ?ill be o!tii9ed in a ?ay that the last recorded change is transitted only. The synchroni9ation jobs scan the logging tables /here T$0-,B and T$0-2B1 3or un!rocessed records. These records ?ill be transitted via the +NT Aorbench to the target syste. $ sa3e !rotocol aes sure that only
those records are ared as co!leted /!rocessed1@ ?hich have been success3ully u!dated in the target database. In case o3 a )nicode Conversion@ the translation to )nicode is done in the +NT Aorbench. 6igure : System ,am' Down ;S#< $3ter the online re!lay is 3inished@ the source syste ust be ra!ed do?n 3or the o33line delta re!lay. That eans@ there ust be no syste activity anyoreD users are loced out@ no jobs are running@ inter3aces are sto!!ed@ etc. to avoid 3urther data changes.
6igure &&0: O99*ine De*ta ,e'*ay Syn"$roni@e ,emaining ;S#< $3ter the source syste is ra!ed do?n@ the o33line /3inal1 delta re!lay taes !lace. It trans3ers the changes o3 those tables@ ?here the online delta re!lay ?as not ,--W 3inished or data ?as changed during ra! do?n@ and 3or tables ?hich could not be trans3erred online /i.e. )S&-21. The o33line delta re!lay is ty!ically co!leted in less than one hour and is 3inishing the technical igration. The resulting target syste can be !re!ared 3or !roductive o!eration no?. Scenario 2 is synchroni9ing alost all tables using the delta re!lay@ exce!t the ones ?ith a 3ree9e trigger. 0ecause o3 the 3ree9e triggers@ the aount o3 tables needing a trans3er@ is saller than in scenario ,@ ?here the largest tables are synchroni9ed only and the rest ust be ex!orted*i!orted /trans3erred1 using &'4O$.
6igure &&: ,&3OAD Uni"ode Conversions )nicode S$P Systes reuire S$P Aeb $S %.2- and above. The )nicode Conversion is only a!!licable i3 a iniu Su!!ort Pacage 4evel is installed. Chec the )nicode Conversion S$P +otes 3or ore in3oration. The HOS*0 Migration Chec a!!lies to )nicode Conversions changing their target o!erating syste or database syste. &'4O$ converts the data to )nicode ?hile the ex!ort is running. $s it is not su33icient 3or &'4O$ to read the ra? data@ additional 3eatures are i!leented regarding the data context. 0ecause the context is only available in the source syste@ a )nicode conversion at i!ort tie is not su!!orted 3or custoer systes. $ reverse conversion 3ro )nicode to non7)nicode is not !ossible. uring the )nicode ex!ort@ &'4O$ ?rites .KM4 3iles ?hich are used 3or 3inal data adjustents in the target syste /transaction S)MG1. In MMP systes@ not all tables !rovide a language identi3ier 3or their data. 5or this data@ a vocabulary ust be created to allo? an autoated conversion. The creation and aintenance o3 this vocabulary is a tie consuing tas. The involveent o3 ex!erienced consultants ?ill shorten the ?hole !rocess signi3icantly. &elated S$P +otesD -"#8-,% Conversion to )nicode ,',=",: )nicode Collection +ote
6igure &: Uni"ode Conversion C$a**enges