On 01 May 2013 06:02, Robert Clay wrote:
The views were physically missing.

Clarification of what "The views" were or are; e.g. what is the source that re-creates those that have been found to be missing? For example, was each based on a UDTF that perhaps was dropped? I presume this is *not* about any SQL /catalog VIEW/ files gone missing, neither from the system libraries nor user libraries.

FWiW, in my experience, the most typical cause of user-created database objects having gone /missing/ originates from running under commitment control unknowingly or unexpectedly, such that a failure to /COMMIT/ the CREATE request has the object disappear when the job ends. A similar problem is for requests to DLTF or DROP that had failed, and for /recovery/ of the failed database operation run without isolation, the request would be run to completion during the IPL; the SCPF joblog would log it, as well a message in the history. For any VIEWs gone missing, I would review the /last altered/ time for the based-on TABLE objects. I would not be surprised if an origin for such an issue might originate with CHGPF SRCFILE(named) DLTDEPLF(*YES). And unlikely... although I have never used the feature to enable restore of logical files before the physical files, I could imagine having used that feature without completing all of the work to complete the restore might give rise to issues; perhaps one manifest as an apparent loss of some VIEWs. But because no mention was made of any prior restore activity, I doubt that feature was used prior to the PTF activity.

IBM's answer on the PMR was, basically that without journaling,
there really was no way to know what happened but that the PTFs
shouldn't have touched them. So, no real help there. They did
suggest taking a snapshot of QSYS2.SYSVIEWS as a base list to
compare to later in case it happens again. At least that way,
we would know which views were missing.

There is more than just journaling... but that requires knowledge and effort to ferret out more than what is simple and obvious. IMO a /snapshot/ of the data from SYSVIEWS is somewhat daft, whereas object auditing is a conspicuously good approach; optionally also changing the journaling for the system Database Cross Reference could enable some other details that could be revealing.

The general Object Auditing [tracking delete, create, and object management operations] is the simplest and most effective means to review for who\what deleted the SQL VIEW files... if that was in effect when the DROP\DLTF transpired; a T-DO entry in the QAUDJRN, IIRC.

Also if the PTF application during IPL effected the loss, then there would likely be evidence logged in the spooled SCPF joblog from that IPL. If not there, then in a system job where some PTF might have /submitted/ its work; e.g. QDBSRVXR2 system job. If indeed the PTF application is related, then any other job which might have done PTF work could have its joblog reviewed; e.g. the job loading and applying the PTFs before the IPL... and any jobs started after the IPL that were atypical, or any that lasted longer than typical.

Depending on when a file was deleted and when the last change of the receivers [which can be prevented by changing the journal environment] for the QDBSRVXR processing, its journal will contain at least somewhat informative /timing/ details for the deletion of the VIEW; i.e. the corresponding delete of the row where DBXFIL='TheViewNam' from the QDBXREF file, and depending on how the VIEW was deleted, may even contain some extra information. Oddly, I forget the name of the journal, but it should have naming QDB* in QSYS.


As an Amazon Associate we earn from qualifying purchases.

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.