What are some unexpected challenges I may need to prepare for when I use the MartUpgrade utility to upgrade to r9 mart version?
1. Using a 64 bit OS with 32-bit OS ERwin DM? You need to implement a workaround (detailed in Article ID 2902).
NOTE: You will need full Windows Administrative privileges to impement the workaround or else you could run into a System.AccessViolationException error.
2. Licenses? You need a r8 WorkGroup Edition license or a r9 WorkGroup Edition license. Those require a MAC ID from the machine running the MartUpgrade. If you have an r7 mart that you need to upgrade to r8 first, you will also need an r8 initializer license (detailed in Article ID 3719) You can request licenses using this online form.
3. Exporting / Importing an older mart database (r7/r8)? For example, are you restoring your r7/r8 production source mart database to a different database on the same server or a different server? Adjustments need to be made (Detailed in: SQL Server DBMS: Article ID 625 / Oracle DBMS: Article ID 626 )
4. Upgrading your r7 mart to r8 using MartUpgrade? Please open your r8 initializer license file using WordPad (the r8 licenses are usually stored here: C:\ProgramData\Application Data\CA\ERwin Data Modeler\8 ). Make sure that the line SN="Company Name" matches the line SN="Company Name" in your r8 WorkGroup Edition license. If they do not match, after upgrading r7 to r8, when you later go to connect to your source mart (now r8) using MartUpgrade, you would get the error that the test connection failed. The solution is to update the m7master.serialnumber field in the (now r8) source mart database to be the same company name as SN="Company Name" in your WorkGroup Edition license. Once the names match, then the source mart connection in the MartUpgrade should work. Another solution would be to order new r8 licenses with matching names from the CA Licensing Dept. before upgrading the r7 mart to r8. (You cannot change the licensing files using WordPad or Notepad. That would invalidate them.)
NOTE: r9 version does not use licenses on the mart like r7 mart did. As long as you have an r9 ERwin DM that is licensed as WorkGroup Edition, you will then be able to connect to any r9 mart on your company network.
5. Migrating source mart users?
- After the MartUpgrade is complete, you will need to manually set the email addresses of all the users and reset their passwords in the r9 mart (detailed in Article ID 3915).
- If you are working with ORACLE database, you must set a prerequisite on your Oracle dbms in order to properly migrate your Windows domain users. The OS_AUTHENT_PREFIX parameter should be NULL in the Source Mart. Please see Article ID : 4170 for the details.
- If you are working with SQL SERVER database, these prerequisites must be in place in order to migrate the users successfully:
a) The source mart users must exist in both the database level security and the SQL Server level security.
b) The User Name that is typed into the MartUpgrade Source Mart Details must have the "securityadmin" or "sysadmin" server role
NOTE: A user that has only the public role can use MartUpgrade but cannot upgrade the users.
6. Locked models in the source mart? You need to unlock all the models in your source mart that you want to upgrade. Otherwise those specific models will not upgrade. The log file SourceMartLogFile.txt in your working directory will mention those models after the upgrade. For example,
"System.Exception: Model Open failed from source mart.
04/09 16:00:04 MMAExceptionCode_e 125 FATAL: Error: could not obtain specified lock on model.
System.Runtime.InteropServices.COMException (0x8004083B): Persistence Units Component ! Failed to access a directory or a model with MYLIBRARYNAME/MYMODELNAME&ver=2823 path.
at SCAPI.PersistenceUnitsClass.Add(Object Locator, Object Disposition)
at SourceConfigure.Program.Main(String args) in W:\SourceConfigure\Program.cs:line 53
at MartUpgrade.ProcessModelsFromSourceMart.LoadModel(String sourcePath, String destPath) in W:\MartUpgrade\ProcessModelsFromSourceMart.cs:line 209
at MartUpgrade.ProcessModelsFromSourceMart.ProcessModels() in W:\MartUpgrade\ProcessModelsFromSourceMart.cs:line 94"
A solution to quickly unlock all the models in one shot would be to execute the following SQL in the source mart that will remove all the lock and session data. All mart users should first save all their model changes to the source mart, including offline models, and log out of the source mart before you do that. Also, please make sure that you have a recent backup of your source mart database before you execute the SQL as a precaution:
NOTE: Some later marts do not include the m7access table. So if your m7access table is non-existent, don't worry about that.
7. Privileged Windows user? You will need read/write privileges to the root of your C: drive on the machine where you run the MartUpgrade. Temporary log files are written to the root of the C: drive during the upgrade.
8. Open ports? The port 18170 needs to be open on the mart server host machine, network, and ERwin client machine. Also, ports 8009 & 8005 just need to be open on the mart server host machine (detailed in Article ID 3839)
9. 32 bit client software installed? To connect to the source r8 mart, the machine where the MartUpgrade runs will need to have the 32 bit client database software installed and configured to connect to that r8 mart.
NOTE: Having 32 bit client software installed was a requirement for r7 and r8 ERwin to connect to those version marts.
10. Is your r9 mart set up and available? You will need to first install and set up your r9 mart server (web server) and database before you can move the models from the source mart to the target r9 mart. Please see the suggested videos and documents below.
11. The MartUpgrade could take some time to run. The MartUpgrade utility needs to open the model from the source mart, save that into the working directory on the local PC where it runs, upgrade that to r9 version, and then save that into the r9 mart. That could take some time depending upon the filesizes of your models and how many models and versions you are upgrading. If you have a lot of data to upgrade, be prepared to allow the MartUpgrade to run for several hours, perhaps even overnight. One customer who had ~ 101 models, with 2,090 versions took 19 hours to complete their upgrade.
Here is a tip: if your r8 source mart resides on a Windows machine, consider running the MartUpgrade directly on that machine. r9 mart has much improved performanceopening models over a network and a WAN over the r8 and previous versions. The proximity of the r9 mart server is not as much of a factor. Saving to the r9 mart is fast, even if the r9 mart is located a WAN away. The proximity of the r8 mart to the MartUpgrade machine is a factor. If MartUpgrade runs from the r8 mart machine, or from a machine that is close by the r8 mart machine, that would eliminate any slowness that would occur due to opening r8 models over the network.
12. Failures reported in Status Window or the log files for saving models into the r9 mart (DestinationMartLogFile.txt or ModelStatus.csv) ?
"System.Exception: Model Save failed to Destination mart.
05/08 09:40:50 WARNING: A connection with the server could not be established.
System.Runtime.InteropServices.COMException (0x80040837): Application Component ! Mart connection failed.
at SCAPI.ApplicationClass.ConnectMMart(String sConnectionString, String sDispositionValue, Boolean bReconnect)
at DestinationConfigure.Program.Main(String args) in W:\DestinationConfigure\Program.cs:line 74
at MartUpgrade.ProcessModelsInDestinationMart.SaveModel(String sourcePath, String destPath, Boolean decSave) in W:\MartUpgrade\ProcessModelsInDestinationMart.cs:line 226
at MartUpgrade.ProcessModelsInDestinationMart.ProcessModels() in W:\MartUpgrade\ProcessModelsInDestinationMart.cs:line 110"
Please verify that those models really did not make it into the destination mart. The reason is that MartUpgrade keeps retrying several times to upgrade a model, and each time the model fails to save, that failed attempt is reported as an error. The default retry count is 5 times. It is quite possible the model actually successfully saved into the r9 mart on the 3rd, 4th, or 5th try.
You can check if the model made it into the r9 mart or not by using the Mart Administrator or connecting to the r9 mart using r9 ERwin. You can also run a Library/Model report in r9 ERwin to check if that library/model is listed in that mart. r8 mart also had the Library/Model report, so you could export the reports and compare them side-by-side for any differences.
13. Your model object counts could be different. Please see Article ID: 3961 the object counts for my models are shrinking and then growing again after I upgrade my models from r7.x to r9.x
14. Naming Standards. The MartUpgrade utility will not migrate any naming standards from your now r8 mart to your r9 mart.
UPDATE 1/21/2016: the MartUpgrade utility versions r9.6.1 and later provides a way to include the naming standards while upgrading. Please see this online help topic Scenario: Upgrading Mart Models › How to Upgrade Mart Models › Select Models, Upgrade Models with NSM or DSM Files
Please also see these articles:
- Article ID: 4360 I upgraded my mart to r9 using the MartUpgrade utility and I noticed the naming standards file (NSM) was not migrated.
- Article ID: 4070 (Includes a query to discover which models in your r8 source mart had nsm files attached to them and their pathways).
15. Design Layering. If you have model sources in your models, MartUpgrade will not automatically adjust the model sources to the new models and pathways in the r9 mart. The model sources will still reflect the old mart and they will need to be recreated. The solution is to open the child model and manually add a new model source to the model and delete the old model source. Please note that Link Model Source has an advantage over Add Model Source in that unlike the Add Model Source and Sync with Model Source features, the Link Model Source feature does not automatically create new objects in the target model - it simply allows you to match and link existing objects in two models. Please also see the online help for LMS here
16. Remove forward slashes. The MartUpgrade utility cannot process libraries or models that have forward slashes (/) in their names. Please check your library paths and model names before you start your upgrade as you may need to rename them. Please also see Article ID: 4111 I would like to get a listing of all my libraries and models in my r7 / r8 source mart. That will help me with my migration.
- Video: How to Upgrade Your Mart to r9
- Video: How to make a smooth migration from r7.x CA ERwin DM to r8
- Article ID: 3548 R9 MART DOCUMENTATION: where can I find the steps to set up my Oracle or SQL Server r9 mart? Including the DBMS preparation steps?
- Article ID: 3719 How to upgrade your r7.x mart to r9 mart using the MartUpgrade Utility
- Article ID: 3865 How to Upgrade to CA ERwin r9.5 Mart Server from prior versions (assumes the user already has a r9.0, r9.1, or r9.2 mart server and wants to upgrade that to a later version mart server).
- Article ID: 4101 I am getting Test connection failed when using MartUpgrade to test the connection to the the Source Mart
- Article ID: 4115 I am using MartUpgrade and I notice that one or more models failed to upgrade to the r9 mart. The rest of my models do upgrade and they do appear in the r9 mart.
Please see http://erwin.com/support