The fastest way to backup and restore the libraries would be with a disk to disk backup system connected by 10 GBE, which would cost about 10K and require a Windows server. It doesn’t use any disk space on the AS/400 and it will run up to ten times faster than LTO3, depending on your hosts ability to save and restore the data.
I suspect saving and restoring to save files will be quicker, but will take up more disk space. Depending on how many logicals and the size of your files (and the speed of your system), it may speed things up if you don’t save access paths and let the system rebuild them after the restore.
Do you use journalling? It may help if you un-journal your files first and re-journal them after, if you can get a window when the data is not in use.
So what you want to do is really to make available a copy of a library as at a point in time?
Duplicate the library and rename it by using Copy, – can I assume that users do not need to update anything? – remove all update rights so they do not create locks, then take a backup of the copied library.
Or why not use Save while active – this establishes a checkpoint on the library, and does the backup. Beware that it could take an age longer to establish a library wide checkpoint, and I have to say that I’ve not been on a site where I was aware of it being used in anger.
If your aim is to create a library called xxxOLD, then save/restore is a waste of time. Copy the one library you need and give it to users. Do the saves as a separate question.
If you write a bit of CL both processes can run concurrently – again, lets make an assumption that you have everyone off the box. begin by handling the xxxOLD issue by spawning a job running CPYLIB, then begin a backup of all other libraries. You say the overall process takes 2+ hours, so after saving all other libraries, check if your CPYLIB job has ended, and if so, save that library. You now have all libraries saved and your xxxOLD library.
I recommend some experimentation, and in particular examine the metrics from performance information, or old joblogs to see the timings for the individual library saves. You may also care to conduct some timings on the speed of CRTDUPOBJ (library) versus CPYLIB (Library)
Both of these should be faster by an order of magnitude than a save/restore. If you have disk space, then always do a savobj to disk, then copy to tape (if we’re talking real tapes) – peripheral data transfer is almost always fastest to disk, as that’s the channel that gets optimised the most.
If its for just quering .. you could use DDM files.