Oracle PRVT_DBMS_INMEMORY_ADVISOR
Version 26ai

General Information
Library Note Morgan's Library Page Header
The best Oracle News for FY2026

Oracle Database 26ai will be available on generic Linux platforms in January and soon on AIX and Windows
Purpose Internal support for the In-Memory Advisor
AUTHID DEFINER
Dependencies
AWR_PDB_ACTIVE_SESS_HISTORY DBMS_OUTPUT
AWR_PDB_PARAMETER DBMS_STANDARD
AWR_PDB_PDB_IN_SNAP DBMS_WORKLOAD_REPOSITORY
AWR_PDB_SQLSTAT DIUTIL
AWR_PDB_SQL_PLAN HEAT_MAP_STAT$
AWR_PDB_SYS_TIME_MODEL IM_ADVISOR_COMPUTATION$
DBA_HIST_SNAPSHOT IM_ADVISOR_REC_OBJECTS$
DBA_OBJECTS IM_ADVISOR_RESULTS$
DBA_USERS IM_ADVISOR_TASKS$
DBMS_ASSERT PLITBLM
DBMS_ILM V$DATABASE
DBMS_INMEMORY_ADVISE V$PARAMETER
Documented No
Exceptions
Error Code Reason
-20000 heat map is not enabled.
-20000 start_tracking procedure must be have been invoked prior to calling stop_tracking.
First Available 23ai
Security Model Owned by SYS with EXECUTE granted to the DBA role
Source {ORACLE_HOME}/rdbms/admin/prvtinmemadvisor.plb
Subprograms
 
CONV_SNAP_TIME_TO_SNAP_IDS (new 23ai)
Converts AWR snap times to Snap IDs prvt_dbms_inmemory_advisor.conv_snap_time_to_snap_ids(
start_time    IN  TIMESTAMP,
end_time      IN  TIMESTAMP,
snap_dbid     IN  NUMBER,
start_snap_id OUT NUMBER,
end_snap_id   OUT NUMBER);
TBD
 
CONV_WINDOW_DAYS_TO_SNAP_IDS (new 23ai)
Converts AWR window days to Snap IDs prvt_dbms_inmemory_advisor.conv_window_days_to_snap_ids(
time_window_days IN  NUMBER,
snap_dbid        IN  NUMBER,
start_snap_id    OUT NUMBER,
end_snap_id      OUT NUMBER);
TBD
 
GENERATE_RECOMMENDATION_SQL (new 23ai)
Undocumented prvt_dbms_inmemory_advisor.generate_recommenation_sql(
p_task_id       IN  NUMBER,
inmemory_size   IN  NUMBER,
recommended_sql OUT CLOB);
TBD
 
GENERATE_RESULT (new 23ai)
Generate Advisor results

Overload 1
prvt_dbms_inmemory_advisor.generate_result(p_task_id IN NUMBER);
TBD
Overload 2 prvt_dbms_inmemory_advisor.generate_result(
p_task_id   IN  NUMBER,
im_size     IN  NUMBER,
p_imadv_rec OUT sys.dbms_inmemory_advise.inmemory_advisor_recommendation);
TBD
 
GET_IM_ELIGIBLE_ANALYTIC_PCT (new 23ai)
Undocumented

Overload 1
prvt_dbms_inmemory_advisor.get_inmemory_eligible_analytic_pct(
start_snap_id          IN  NUMBER,
end_snap_id            IN  NUMBER,
analytic_percent       OUT NUMBER,
analytic_percent_valid OUT BOOLEAN,
task_id                IN  NUMBER);
TBD
Overload 2 prvt_dbms_inmemory_advisor.get_inmemory_eligible_analytic_pct(
analytic_percent       OUT NUMBER,
im_enabled_snap_pct    OUT NUMBER,
status_code            OUT NUMBER,
start_snap_id       IN     NUMBER,
end_snap_id         IN OUT NUMBER);
TBD
 
GET_LATEST_SNAP_ID (new 23ai)
Given the DBID outputs the most recent snap id prvt_dbms_inmemory_advisor.get_latest_snap_id(
snap_dbid   IN  NUMBER,
end_snap_id OUT NUMBER);
SELECT dbid FROM v$database;

       DBID
-----------
 1472724728


DECLARE
 outVal NUMBER;
BEGIN
  prvt_dbms_inmemory_advisor.get_latest_snap_id(1472724728, outVal);
  dbms_output.put_line(outVal);
END;
/
1573

PL/SQL procedure successfully completed.
 
GET_LATEST_TASK_INFO (new 23ai)
Undocumented prvt_dbms_inmemory_advisor.get_latest_task_info(
p_task_id           OUT NUMBER,
p_start_awr_snap_id OUT NUMBER,
p_end_awr_snap_id   OUT NUMBER);
DECLARE
 tid   NUMBER;
 sasid NUMBER;
 easid NUMBER;
BEGIN
  prvt_dbms_inmemory_advisor.get_latest_task_info(tid, sasid, easid);
  dbms_output.put_line(tid);
  dbms_output.put_line(sasid);
  dbms_output.put_line(easid);
END;
/
0
0
0
 
GET_SNAP_ID_INFO (new 23ai)
Undocumented prvt_dbms_inmemory_advisor.get_snap_id_info(
p_task_id           IN  NUMBER,
p_start_awr_snap_id OUT NUMBER,
p_end_awr_snap_id   OUT NUMBER);
TBD
 
INSERT_TASK (new 23ai)
Undocumented prvt_dbms_inmemory_advisor.insert_task(
p_task_id       IN NUMBER,
p_start_snap_id IN NUMBER,
p_start_time    IN TIMESTAMP,
p_flag          IN NUMBER);
TBD
 
IS_INMEM_ELIGIBLE_INTERNAL (new 23ai)
Undocumented

Overload 1
prvt_dbms_inmemory_advisor.is_inmem_eligible_internal(
snap_dbid                      IN  NUMBER,
start_snap_id                  IN  NUMBER,
end_snap_id                    IN  NUMBER,
max_accepted_idle_time_pct     IN  NUMBER,
analytic_threshold_pct         IN  NUMBER,
awr_analytic_operations_weight IN  NUMBER,
awr_analytic_dbtime_weight     IN  NUMBER,
ash_analytic_count_weight      IN  NUMBER,
inmem_eligible                 OUT BOOLEAN,
analysis_summary               OUT VARCHAR2);
TBD
 
IS_IN_MEM_ENABLED (new 23ai)
Undocumented prvt_dbms_inmemory_advisor.is_in_mem_enabled(
snap_dbid     IN  NUMBER,
start_snap_id IN  NUMBER,
end_snap_id   IN  NUMBER,
in_mem_enabled OUT BOOLEAN);
TBD
 
SET_DBID (new 23ai)
Undocumented prvt_dbms_inmemory_advisor.set_dbid(
snap_dbid IN  NUMBER,
dbid      OUT NUMBER);
TBD
 
SET_MIN_WALLCLOCK_TIME_MINS (new 23ai)
Undocumented prvt_dbms_inmemory_advisor.set_min_wallclock_time_mins(
min_wallclock_time_mins IN NUMBER);
exec prvt_dbms_inmemory_advisor.set_min_wallclock_time_mins(10);

PL/SQL procedure successfully completed.
 
SET_PRINT_TO_SCREEN (new 23ai)
Undocumented prvt_dbms_inmemory_advisor.set_print_to_screen(val IN BOOLEAN);
exec prvt_dbms_inmemory_advisor.set_print_to_screen(TRUE);

PL/SQL procedure successfully completed.
 
SET_PRINT_TO_TRACE (new 23ai)
Undocumented prvt_dbms_inmemory_advisor.set_print_to_trace(val IN BOOLEAN);
exec prvt_dbms_inmemory_advisor.set_print_to_trace(TRUE);

PL/SQL procedure successfully completed.
 
START_TRACKING_INTERNAL (new 23ai)
Undocumented prvt_dbms_inmemory_advisor.start_tracking_internal(task_id OUT NUMBER);
DECLARE
 outVal NUMBER;
BEGIN
  prvt_dbms_inmemory_advisor.start_tracking_internal(outVal);
  dbms_output.put_line(outVal);
END;
/
*
ORA-20000: Heat map is not enabled.
 
STOP_TRACKING_INTERNAL (new 23ai)
Undocumented prvt_dbms_inmemory_advisor.stop_tracing_internal;
exec prvt_dbms_inmemory_advisor.stop_tracing_internal;
*
ORA-20000: start_tracking procedure must be have been invoked prior to calling stop_tracking.
 
TRACE (new 23ai)
Undocumented prvt_dbms_inmemory_advisor.trace(trace_info IN VARCHAR2);
exec prvt_dbms_inmemory_advisor.trace('ZZYZX');

PL/SQL procedure successfully completed.
 
UPDATE_HEAT_MAP_ROW_FLAG (new 23ai)
Undocumented prvt_dbms_inmemory_advisor.update_heat_map_row_flag(p_flag IN NUMBER);
TBD
 
UPDATE_TASK (new 23ai)
Undocumented prvt_dbms_inmemory_advisor.update_task(
p_task_id     IN NUMBER,
p_end_snap_id IN NUMBER,
p_end_time    IN TIMESTAMP,
p_flag        IN NUMBER);
TBD
 
UPDATE_TASK_ERROR (new 23ai)
Undocumented prvt_dbms_inmemory_advisor.update_task_error(
p_task_id IN NUMBER,
p_error   IN NUMBER);
TBD
 
VALIDATE_SNAPSHOT_IDS (new 23ai)
Undocumented prvt_dbms_inmemory_advisor.validate_snapshot_ids(
snap_dbid     IN NUMBER,
start_snap_id IN NUMBER,
end_snap_id   IN NUMBER,
task_id       IN NUMBER);
TBD
 
VALIDATE_TASK (new 23ai)
Undocumented prvt_dbms_inmemory_advisor.validate_task(p_task_id IN NUMBER) RETURN NUMBER;
TBD
 
VERIFY_HEAT_MAP (new 23ai)
Undocumented prvt_dbms_inmemory_advisor.verify_heat_map(task_id IN NUMBER);
exec prvt_dbms_inmemory_advisor.verify_heat_map;
     *
ORA-20000: Heat map is not enabled.

exec prvt_dbms_inmemory_advisor.verify_heat_map(1573);
     *
ORA-20000: Heat map is not enabled.

Related Topics
Built-in Functions
Built-in Packages
Database Security
DBMS_INMEMORY
DBMS_INMEMORY_ADMIN
DBMS_INMEMORY_ADVISE
DBMS_MEMOPTIMIZE
PRVT_DBMS_INMEMORY_ADMIN
What's New In 21c
What's New In 26ai

Morgan's Library Page Footer
This site is maintained by Daniel Morgan. Last Updated: This site is protected by copyright and trademark laws under U.S. and International law. © 1998-2026 Daniel A. Morgan All Rights Reserved