I have created a system where the files are linked by ISN, so that in a header-detail relationship, the detail record will contain the ISN of the header record that it relates to. I did this because I felt it would make the system more efficient but some of my coworkers are concerned that the ISN links could get corrupted somehow during disaster recovery. If we are use Adabas utilities to restore from backups, is there a chance that the ISNs on the restored files will be different than the ISNs on the file when it was saved?
I’ve seen DBAs who like this, but not many. I don’t like it at all. You’ll gain some performance, but at the cost of flexibility.
During disaster recovery you create an identical copy of the database. It is more likely that data corruption would occur during normal maintenance. For some Adabas utilities the DBAs would need to remember to specify the USERISN parameter for your parent files. Without that parm you lose all your links.
Apart from the fact that it depends on the USERISN setting, it is always a good idea to have a plan B, i.e. being able to recreate the “links” via other criteria.
We’re using the ISN for Data replication into another Database. So the file specifiec parameter “ISN reusage” is turned off for most of our files. We didn’t have any problems for years. Even adaord reorder (i.e. database reorg) is no problem.
Adabas utilities like ADAORD or ADSAV or ADARES do not change the ISN assignment of records.
Therefor files can not get corrupted by these utilities.
However, when you use ADASAV Restore File use ADASAV Restore for all the fies which are linked together by ISN.
This ensures that there are no links to ISN where records have been deleted, or ISN links missing to newly created records.
The one uitlity, which is critical is ADALOD where you must use the parameter USERISN.
Otherwise ADALOD will reassign ISN to records if you unload and reload the file and the relationship to other files could get broken.
You may also may want to check the ISN REUSAGE parameter of the file, whether a freed ISN of a deleted record should be reassigned to a newly inserted record or not.
Otherwise there is not much to be concerned about.