- (delete existing and) import a dataset as a way to restore it from a previous backup;

- copy one dataset from another;

- (use a combination of above as a mechanism to) move islands of data from one environment to other -- mainly in the context of staging/testing or possibly even as part of deployment of critical changes.

BTW, when I say 'dataset' here -- it includes the data set record, as well as all the data in all (or, at least a given set of) classes & relationships. All of this as a self-contained logical unit. The key there is to ensure that the relationships still are to be maintained properly after combinations of the above tasks (for example, export out a data set from one environment and then restore this exported content on to a different environment). So trivially altering or generating new instanceids won't work.

Any thoughts, ideas, or pointers to previous work or proven ways that solve this issue -- are all greatly appreciated.

take a entire db backup and save it a dump / backup file. Restore the same db backup / dump file into another environment. But the versions (remedy binaries) in both environments should match. Since you want to preserve all the instance ids and recon ids, I would suggest you use this approach if you have a db administrator or sufficient db level knowledge.

use the command line utility cmdbdriver to export CI data for classes / datasets to a xml file. refer to the BMC Atrium CMDB Adminsitrator's guide. Import the CI data into another environment using cmdbdriver -> impdt command ->xml file

cmdbdriver utility has the commands to clean up datasets (CIs in a datasets) along with the related CIs.There are commands to clean up residual / orphan relationship CIs if any.

First option is no go for us, because what I am really looking for a way to copy/move dataset level isolated data between environments. Not as a backup/restore of entire DB.

>>cmdbdriver utility has the commands to clean up datasets (CIs in a datasets) along with the related CIs.There are commands to clean up residual / orphan relationship CIs if any.<<

Can you elaborate what these commands specifically are? Or any pointer to docs.

Indeed I have gone the route of wrappinig cmdbdriver scripts that do export data from one, and, import into another. However the challenge is how do you get these new CIs & relationships in place on the target side without breaking the previously established relationships in the source dataset.

xexpdt - This will back up your entire data(CI's and Relationship) in chunk.

e.g. In below I have taken the data back for BMC.SAMPLE dataset from BMC_BaseElement Class. If you would like to export data for only few class then you can set the "Export instance data from all classes?" to F.

Please provide the file name as i have given Test1.XML(The file will create at CMDB Driver Location or you can specify absolute path). If you have very large kind of data then number of xml file gets generated at provided location.