Search Results cleanup_setup




Overview

ASG_PERF is a diagnostic PL/SQL package owned by APPS in the Oracle E-Business Suite. It is not part of the transactional or functional application flow; instead it exists to measure and report the performance characteristics of the synchronization (synch) process used by the Applications Synchronization Manager (ASG), the infrastructure that keeps the disconnected or mobile client (typically the Field Service / iSupport laptop deployment) consistent with the central EBS database. The package header was created in November 2002 by rsripada and last touched in 2005, which places it in the mature, frozen portion of the codebase — the comment header carries the "noship" tag, confirming it is a development/support utility rather than a customer-facing feature.

Its stated purpose, taken directly from the source header, is to "contain functions to report synch performance." All of its procedures are geared toward isolating where time is spent during a download — the initialization phase versus the query phase — so that support and performance engineers can identify bottlenecks in the synchronization pipeline. It declares several package-level globals (g_num_rows, g_total_rows, g_elapsed_time_in_days, g_elapsed_time, g_total_elapsed_query_time, g_download_init_time, g_total_elapsed_time) that accumulate timing and row-count statistics across a measurement session. The package is compiled with AUTHID CURRENT_USER, meaning all name resolution and privilege checking occur as the invoking schema, not as APPS.

Key Procedures and Functions

ETRM documents ten callable units. They fall into three functional groups.

  • Reporting procedures. GET_FIRST_SYNCH_REPORT reports download initialization and query time statistics for a user's initial (full) synchronization; it has overloads that accept either a user name alone or a user name plus a publication item. GET_INCREMENTAL_SYNCH_REPORT performs the equivalent measurement for a user's incremental (delta) synchronization, again with both a user-only and a user-plus-publication-item overload.
  • Setup and measurement procedures. SETUP_DOWNLOAD prepares the data required to time a download, taking a user name and a first-synch indicator; the source comment explicitly instructs that CLEANUP_SETUP must be called afterwards to reset. SETUP_PUB_ITEM_DOWNLOAD performs the same preparation scoped to a single publication item. COMPUTE_PUB_ITEM_TIME reports the download time for a publication item previously configured through SETUP_PUB_ITEM_DOWNLOAD, and COMPUTE_DOWNLOAD_TIME reports the corresponding overall download time.
  • Utility units. CLEANUP_SETUP resets the state established by the setup procedures, and LOG provides the package's internal logging entry point.

The setup/compute/cleanup triad forms a deliberate measurement protocol: setup establishes the baseline, compute captures the elapsed statistics into the package globals, and cleanup restores the environment so that subsequent measurements are not contaminated.

Tables Accessed

The documented data dictionary references four objects, all resolved through APPS synonyms:

  • ASG_SYSTEM_DIRTY_QUEUE — the persistent queue that drives the synchronization engine. The package accesses it to establish the download state and to reset it during cleanup, which is why the setup procedures must be followed by CLEANUP_SETUP.
  • DBMS_SQL — the dynamic SQL facility. Because the set of publication items and the query shapes vary by configuration, the package builds and executes queries dynamically to time them for each publication item.
  • DUAL — used for scalar evaluations, timings, and function invocations that require no underlying table.
  • V$INSTANCE — the instance-level performance view, consulted to correlate the elapsed timings with the database instance identity, so that measurements taken on different nodes or instances remain distinguishable.

Usage Notes

ASG_PERF is a support and tuning utility, not an application API. It is referenced by zero other packages, so nothing in the EBS codebase depends on it and it can be invoked freely without risk of side effects on standard processing. It is typically called from SQL*Plus or a similar DBA session by a synchronization administrator: the administrator runs SETUP_DOWNLOAD or SETUP_PUB_ITEM_DOWNLOAD, executes the sy