Tuesday, June 15, 2021

ADADMIN Snapshot feature

When a DBA goes to adadmin and does an Update current snapshot, what happens actually ? APPL_TOP snapshot feature was a new feature introduced in AD.G. I am pasting some good information from AD.G readme where they have explained this feature:

This feature allows you to record the current set of files and file versions in your APPL_TOP using the "Maintain snapshot information" menu entry in the AD Administration "Maintain Applications Files" menu.

There are two types of APPL_TOP snapshots: current view snapshots and named snapshots. Current view snapshots are created once and updated when appropriate to maintain a consistent view of the APPL_TOP contents. Named snapshots are created once using AD Administration and not updated. Both store information about files, file versions, and bug fixes present in an APPL_TOP.

You can create as many named snapshots of each APPL_TOP as you want. You can also just create or update the current view snapshot. When creating a named snapshot for an APPL_TOP, the snapshot feature will first create or update the current view snapshot for that APPL_TOP. The bug fix information for a named snapshot is copied from the current view snapshot for that APPL_TOP.

You must run AD Administration "Maintain snapshot information" once for each APPL_TOP before you can apply any patch that contains a "compatible feature prereq" line on that APPL_TOP. Running AD Administration "Maintain snapshot information" for an APPL_TOP completely populates the APPL_TOP's current view snapshot. This complete information is required for the automatic prerequisite patch checking feature to give correct results.

AutoPatch automatically updates the list of file versions and bug fixes in the current view snapshot for each APPL_TOP as patches are applied to that APPL_TOP. The combination of running AD Administration "Maintain snapshot information" once for an APPL_TOP and AutoPatch's incremental updates ensures that the current view snapshot for a given APPL_TOP contains an accurate picture of the current set of files and bug fixes present in that APPL_TOP.

APPL_TOP snapshot information is stored in the AD_SNAPSHOTS, AD_SNAPSHOT_FILES, and AD_SNAPSHOT_BUGFIXES tables. There is currently no user interface available for viewing snapshot information. The ability to view and compare APPL_TOP snapshots is being considered for future versions of AD and Oracle Applications Manager 11i.

Some other tables which are referenced are:

SQL> select table_name
2 from dba_tab_columns
3 where column_name='FILE_VERSION_ID';

TABLE_NAME
------------------------------
AD_FILE_VERSIONS
AD_CHECK_FILES
AD_PTCH_HST_EXE_COP_TMP
AD_CHECK_FILE_TEMP
AD_SNAPSHOT_FILES
AD_PATCH_HIST_SNAPS_TEMP
AD_PROCESSED_FILES_TEMP
AD_SNAPSHOT_FILES_TEMP

and AD_FILES table.

To get the version of a file in snapshot tables, you can create a query which has a join between AD_SNAPSHOT_FILES, AD_FILES, AD_FILE_VERSIONS.

etrm.oracle.com gives some more information about the AD_SNAPSHOT_FILES table:

APPLSYS.AD_SNAPSHOT_FILES does not reference any database object

APPLSYS.AD_SNAPSHOT_FILES is referenced by following objects:

AD_FILE_SYS_SNAPSHOTS_PKG
AD_FILE_UTIL
AD_PATCH
FND_IMP_SFILEINFO_VL

Anand asked me an interesting question today (August, 31, 2010) after reading this post. How to run update current view snapshot outside of adadmin. A search on My Oracle Support revealed the package

AD_FILE_SYS_SNAPSHOTS_PKG.update_current_view

which seems to be called by adadmin.