Search Results ad_snapshot_files




Overview

The AD_SNAPSHOT_FILES table is a core data object within the Applications DBA (AD) product family of Oracle E-Business Suite (EBS) 12.1.1 and 12.2.2. It functions as a detailed inventory, recording every file captured within a specific system snapshot. A snapshot, in the EBS context, is a point-in-time record of the application's file system and database state, primarily used for patching, upgrades, and system diagnostics. This table provides the critical link between a high-level snapshot record and the granular details of the individual files that constitute the application's codebase at that moment, enabling precise change tracking and version control across the complex EBS environment.

Key Information Stored

The table's primary purpose is to associate a snapshot with its constituent files and their specific versions. Its structure is defined by key foreign key relationships. The central column is SNAPSHOT_FILE_ID, which serves as the unique primary key for each record in this table. Other crucial columns include SNAPSHOT_ID, which links to the parent snapshot in the AD_SNAPSHOTS table, and FILE_ID, which references the master file definition in the AD_FILES table. To record the exact version of a file present in the snapshot, the table stores FILE_VERSION_ID, linking to the AD_FILE_VERSIONS table. For files that are components of larger entities (like JAR or ZIP files), the CONTAINING_FILE_ID column points to the parent file's FILE_ID, establishing a hierarchical relationship within the snapshot.

Common Use Cases and Queries

This table is essential for post-patch analysis, auditing, and troubleshooting. Administrators use it to answer questions such as: "Which files were changed by the last patch?" or "What version of a specific form or library was deployed last month?" A typical query involves joining AD_SNAPSHOT_FILES with AD_SNAPSHOTS (for snapshot metadata like creation date) and AD_FILES (for file paths and names). For example, to list all files in the most recent snapshot, one might use a query pattern like:

  • SELECT f.FILE_NAME, f.FILE_PATH, sf.FILE_VERSION_ID FROM APPLSYS.AD_SNAPSHOT_FILES sf, APPLSYS.AD_FILES f, APPLSYS.AD_SNAPSHOTS s WHERE sf.FILE_ID = f.FILE_ID AND sf.SNAPSHOT_ID = s.SNAPSHOT_ID AND s.SNAPSHOT_NAME = '&snapshot_name' ORDER BY f.FILE_PATH;

Comparing FILE_VERSION_ID for a given FILE_ID across two different SNAPSHOT_IDs is the standard method for identifying file-level changes between snapshots.

Related Objects

AD_SNAPSHOT_FILES is a central junction table with documented foreign key relationships to several key AD tables, forming the backbone of the EBS file tracking system.

  • AD_SNAPSHOTS: The parent table. The column AD_SNAPSHOT_FILES.SNAPSHOT_ID references AD_SNAPSHOTS.SNAPSHOT_ID, defining which snapshot the file record belongs to.
  • AD_FILES: Referenced twice. AD_SNAPSHOT_FILES.FILE_ID links to AD_FILES.FILE_ID to identify the specific file. AD_SNAPSHOT_FILES.CONTAINING_FILE_ID also links to AD_FILES.FILE_ID to identify a file's parent container.
  • AD_FILE_VERSIONS: The column AD_SNAPSHOT_FILES.FILE_VERSION_ID references AD_FILE_VERSIONS.FILE_VERSION_ID, pinpointing the exact version of the file that existed in the snapshot.