Author Topic: Migration to 8.4.1 from OD 7.1 and a fallback  (Read 4419 times)

hakan_carlberg

  • Guest
Migration to 8.4.1 from OD 7.1 and a fallback
« on: June 28, 2010, 10:02:15 PM »
Hi

I've got a question for you guys.
Since I had this problem with downgrading to OD 7.1 from OD 8.4, I've been thinking about how I should have done.
I've been thinking about 2 possibly ways of doing my downgrade:
1) Done an unload of all the tables, then I only needed to do a load with that data and I've should have been 'home'(almost)
2) Using a technic of renaming the current tables, allocation new ones with the 'old look', and then using some SQL to load the 'old ones' from the new ones...

How did you guys do it ?

Regards
/H Carlberg

Alessandro Perucchi

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1002
    • View Profile
Re: Migration to 8.4.1 from OD 7.1 and a fallback
« Reply #1 on: June 29, 2010, 02:19:31 AM »
Hi Hakan,

I'll try to answer in a generic way, since I don't know z/OS, but it should be pretty similar to my experience in the Multiplatform field.

1) This is the cleanest way to do it, can be pretty slow, but this is definitely the safest way.

2) In my not so clean experience, you can do what you suggest, but I will go in more details:

  • backup DB
  • From CMOD Admin Client make a backup of all the CMOD definition in a local DB
  • Stop CMOD
  • Rename CMOD sys tables -> eg ARSUSER -> ARSUSER_84, ...
  • keep segment tables
  • reinstall cmod 7.1
  • create an empty CMOD instance
  • Repopulate the tables with the local DB definition saved
  • Then for each Application Group, rename the AGID_NAME with the old AGID_NAME  (so if in 8.4 your application group AppGroup1 was CKA, and in the new installation its ABA, then update so it is ABA)
  • Copy back the info from ARSSEG_84 -> ARSSEG
  • Be careful the have the same value in the field NAME in the ARSSYS table as you had in ARSSYS_84
  • (Optional) You can also populate the ARSLOAD table with the info from ARSLOAD_84
  • Restart CMOD
  • Pray !!

Ok, I have maybe a third solution, but I have not tested this solution, so I cannot say it will work (I have tested the point 2)... I hope not to have forgot anything...)

3)

  • backup DB
  • do a backup from CMOD Tables via the ARSDB command (arsdb -x)
  • Stop CMOD
  • Rename CMOD sys tables -> eg ARSUSER -> ARSUSER_84, ...
  • keep segment tables
  • reinstall cmod 7.1
  • create an empty CMOD instance
  • arsdb -i
  • Restart CMOD
  • Pray !!

Well I hope it will help you.

Cheers,
Alessandro
Alessandro Perucchi

#Install #Migrations #Conversion #Educate #Repair #Upgrade #Migrate #Enhance #Optimize #AIX #Linux #Multiplatforms #DB2 #Windows #Oracle #TSM #Tivoli #Performance #Audits #Customizing #Availability #HA #DR #JavaApi #ContentNavigator #ICN #WEBi #ODWEK #Services #PDF #AFP #XML

hakan_carlberg

  • Guest
Re: Migration to 8.4.1 from OD 7.1 and a fallback
« Reply #2 on: June 29, 2010, 05:39:25 AM »
Hello Alessandro

Did you really get that to work ??!!! I talk about point 2.

First of all I have 3102 Application Groups, it will take forever to do a rename of all the AGID_NAME.
How did you update the LOAD_ID , RESGRP, SEG_ID   etc in ARSAG? Any miss will probably give you a lot of problem
What about the ARSSYS table ?

I don't know if it's different i Multisystems, but I wouldn't dare do it your way  :-D

Anyway thx

Regards
/H Carlberg

hakan_carlberg

  • Guest
Re: Migration to 8.4.1 from OD 7.1 and a fallback
« Reply #3 on: July 01, 2010, 12:43:48 AM »
Hi,

I think I found a way of doing a 'downgrade' , if my way was to be done it wouldn't
be any problem even!!! if some data have been loaded in some ApplGroup and the LOAD_ID/SEG_ID for any
Appl Group it shouldn't be affected either.

When downgrading the tables:

1) Rename the tables that have been changed during upgrade,
    IBM should be able to tell which tables have been changed ,
     ex : ARSSYS --> ARS84SYS

2) Downgrade the code-base

3) Create the tables with the old layout.

4) Run some SQL-scripts(SPUFI/JOB) that does a load from ARS84SYS into ARSSYS where the columns
 can be Casted to the old format, ex BigInt --> Integer, and the SQL can ignore new columns
sample:
"
INSERT INTO <CREATOR>.ARSSYS       
    ( ID
     ,NAME
    ,CDID                         
      ,....... )                       
  SELECT                                   
         ID                         
        ,NAME
       ,CDID                           
      .........
           FROM <CREATOR>.ARS84SYS;   
"

5) Drop the indexes, and recreate them... should be possible to do by arsdb -???

6) If everything is okay after downgrade, the delete all ARS84-tables
   Ok, I know that it will be impossible to do a cast if some BigInt has greater values than can be in
   an Integer. But that can be checked before !!! any SQL would be run

 
I would like you to think about my approach, and hit me with the problems I don't see.
Doing like this would make quite a small impact of everything... I think ???

Regards
/H Carlberg

Alessandro Perucchi

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1002
    • View Profile
Re: Migration to 8.4.1 from OD 7.1 and a fallback
« Reply #4 on: July 01, 2010, 02:51:36 AM »
Hi,


Did you really get that to work ??!!! I talk about point 2.


... yes I did, and I did other things like Convert DB2 -> Oracle and the reverse Oracle -> DB2. (things that are not officially supported by IBM, but the customer badly wanted because of some internal rules...)
Merging Object-Server with Library Server, Merging 2 CMOD together (merge of AG, or simply add new AG with all the AGID_NAME conversion...) and other things...

Quote

First of all I have 3102 Application Groups, it will take forever to do a rename of all the AGID_NAME.


Well in Unix, a simple script and you could automate it quite easily... but in z/OS, I have no clue...

Quote

How did you update the LOAD_ID , RESGRP, SEG_ID   etc in ARSAG? Any miss will probably give you a lot of problem


You are right, I forgot to mention all these... and maybe other things too, I wanted just to give you a taste of the work you need to do in order make it happen. It is not easy, there are a lot of things to take care.

Since I have never done a downgrade like your case, I just took from memory the steps from several other projects, and try to glue them together and have this template of solution,

Quote

What about the ARSSYS table ?


Well ARSSYS is really a strange table for me. I had done some tests with these change of AGID_NAME, etc... and found that after a while CMOD in creating a new AG was using the same AGID_NAME as some other existing AG for some reasons.
I found out that this field in ARSSYS was the one which help CMOD to give me a new non used AGID_NAME....

That's only my experience, and I really don't know what is the truth behind my experience.
But since that time, I had no more problems.

Quote

I don't know if it's different i Multisystems, but I wouldn't dare do it your way  :-D


Well I had no choice... the time schedule was very tide, and to make a migration (export-import) it was too long...
But you know I never did a downgrade. I am just saying that it should be possible, since you don't change the segment tables. You need to "correct" the system tables...

But this is not a solution that I would advice personally.

Especially because each case is different, and the work to do the downgrade could be different from one customer to another.
So my proposition was just a starting point, not THE solution to all problems!



I think I found a way of doing a 'downgrade' , if my way was to be done it wouldn't
be any problem even!!! if some data have been loaded in some ApplGroup and the LOAD_ID/SEG_ID for any
Appl Group it shouldn't be affected either.

When downgrading the tables:

1) Rename the tables that have been changed during upgrade,
    IBM should be able to tell which tables have been changed ,
     ex : ARSSYS --> ARS84SYS

2) Downgrade the code-base

3) Create the tables with the old layout.

4) Run some SQL-scripts(SPUFI/JOB) that does a load from ARS84SYS into ARSSYS where the columns
 can be Casted to the old format, ex BigInt --> Integer, and the SQL can ignore new columns
sample:
"
INSERT INTO <CREATOR>.ARSSYS      
    ( ID
     ,NAME
    ,CDID                        
      ,....... )                      
  SELECT                                    
         ID                        
        ,NAME
       ,CDID                          
      .........
           FROM <CREATOR>.ARS84SYS;  
"

5) Drop the indexes, and recreate them... should be possible to do by arsdb -???

6) If everything is okay after downgrade, the delete all ARS84-tables
   Ok, I know that it will be impossible to do a cast if some BigInt has greater values than can be in
   an Integer. But that can be checked before !!! any SQL would be run


Hmm ok, I didn't know that ARSYS has changed some of the table field data type... Well, it might be a solution yes.

Concerning the arsdb, yes, this is definitely a good idea:

arsdb -I <instance> -ev       delete index
arsdb -I <instance> -rv        recreate index

Otherwise, your solution might work. The only thing I can suggest you... BACKUP!!! in a way that you can go back and test again!

Good luck,
Alessandro
« Last Edit: July 01, 2010, 02:57:54 AM by AlessandroPerucchi »
Alessandro Perucchi

#Install #Migrations #Conversion #Educate #Repair #Upgrade #Migrate #Enhance #Optimize #AIX #Linux #Multiplatforms #DB2 #Windows #Oracle #TSM #Tivoli #Performance #Audits #Customizing #Availability #HA #DR #JavaApi #ContentNavigator #ICN #WEBi #ODWEK #Services #PDF #AFP #XML

hakan_carlberg

  • Guest
Re: Migration to 8.4.1 from OD 7.1 and a fallback
« Reply #5 on: July 06, 2010, 09:48:17 AM »
Hi

In the beginning of this thread I asked:
"  How did you guys do it ?  "

Since nobody answered... am I to understand that nobody has migrated to 8.4.1 on z/OS ?

Regards
/H Carlberg