Migrate CMDB from one instance to another

DubeyN
Mega Expert

Hi,

We have built a CMDB system in our instance and want to migrate it to other instance. We can't clone the environment as there are other application we don't want to move to other instance.

What are available options to migrate only CMDB to another instance.

Thanks in advance.

ND

10 REPLIES 10

tony_fugere
Mega Guru

You'll want to export data from every cmdb_ table as XML and import on the destination instance. If someone out there knows a better way, I'd love to learn it.

What's stopping you from a clone, exactly? Can you explain what you mean by "there are other application we don't want to move to other instance."

The reason I ask is because you can export any Update Sets that don't exist in the source instance and then apply those Update Sets and resume work in your target instance after the clone. You won't lose your development work and the instance is fresh with CMDB data.


DubeyN
Mega Expert

Hi,

In our environemnt we have 2 SN , one we are using for custome applications and other for ITSM purpose.

We first build CMDB on SN used for custome application building (along with many other applications), now we want to migrate CMDB to ITSM SN. So if we close ITSM SN will have custom applications and we don't want it.

I mostly worked with custom application building and don't have much idea about ITSM. Approch you have suggested is my original plan , but we will not get relations we built if we simply export all cmdb_ci table.

ND


I see. Fair enough.

Re-read my post. I said cmdb_* tables. cmdb_rel_ci is important as are other cmdb_ tables. Not to be mistaken by cmdb_ci* tables.


There's a couple of ways you can accomplish this.
If your CMDB is pretty light on overall records, you can migrate it using data sources and do an XML pull from your other instance.
This method though is probably the most difficult to fully accomplish without tweaking because you'll most likely hit the record limit before you get all of your data out, also in my testing with this, there seems to be a hard limit on the rows that you can move using this method too.

Another undesirable way to do this would be to just export your cmdb via csv (which if you have anything on the relationship table is not going to work
because exporting the csv does not give you the sys_id to match for relationships)

Yet another way would actually be to export the entire cmdb to excel/csv using the odbc connector, although this isn't really practical, it does work and will give you the sys_id. (When I tried this I spent more time removing useless columns than actually importing and transforming the data)

Lastly, Tony's suggestion of exporting the table(s) to XML and reimporting them is pretty straightforward, and will definitely get you where you need to be.

I just recently did a move from one of our test instances to our prod instance using the export to XML and reimport approach and it worked pretty well. I'd say all in all it took about an hour for me to get all the data moved.

If anyone knows of a better way to accomplish this, I'd love to hear it also.