Oracle DBMS_NOTIFICATIONS
Version 26ai

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

Oracle Database 26ai is now availble. If you haven't you downloaded already: Why?
Purpose Should be used by DBAs to set, update, and delete notifications in CDB$ROOT.
AUTHID CURRENT_USER
Constants
Name Data Type Value
 Metadata
version VARCHAR2(16) '1'
 Notification Types
TYPE_MAINTENANCE VARCHAR2(32) 'Maintenance'
TYPE_CUSTOMER_ACTION VARCHAR2(32) 'CustomerAction'
 MAINTENANCE_NOTIF Types
EXPECTED_START_DATE VARCHAR2(32) 'expectedStartDate'
EXPECTED_END_DATE VARCHAR2(32) 'expectedEndDate'
ACTUAL_START_DATE VARCHAR2(32) 'actualStartDate'
ACTUAL_END_DATE VARCHAR2(32) 'actualEndDate'
PRODUCT VARCHAR2(32) 'product'
STATUS VARCHAR2(32) 'status'
OP_MODE VARCHAR2(32) 'operationMode'
CUSTOMER_ACTION VARCHAR2(32) 'customerAction'
DATABASE_IMPACT VARCHAR2(32) 'databaseImpact'
DESCRIPTION VARCHAR2(32) 'description'
PATCH_ID VARCHAR2(32) 'patchID'
DB_UNIQUE_NAME VARCHAR2(32) 'dbUniqueName'
DBID VARCHAR2(32) 'DBID'
ADDITIONAL_DATA VARCHAR2(32) 'additionalData'
 Notification Additional Data Sub-Parameters
INSTANCES VARCHAR2(32) 'instances'
COMPLETED_INSTANCES VARCHAR2(32) 'completedInstances'
INPROGRESS_INSTANCES VARCHAR2(32) 'inProgressInstances'
BATCHES VARCHAR2(32) 'batches'
COMPLETED_BATCHES VARCHAR2(32) 'completedBatches'
FROM_VERSION VARCHAR2(32) 'fromVersion'
TO_VERSION VARCHAR2(32) 'toVersion'
DRAIN_TIME VARCHAR2(32) 'drainTime'
PDBS VARCHAR2(32) 'pdbs'
CON_DBID VARCHAR2(32) 'con_dbid'
 Notification JSON Doc
JSON_DOC VARCHAR2(32) 'JsonDoc'
 Notification UTIL Parameter
DATETIME_FORMAT_DEFAULT VARCHAR2(32) 'YYYY-MM-DD"T"HH24:MI:SSTZH:TZM'
NOTIF_TYPE VARCHAR2(32) 'type'
NOTIF_TIME VARCHAR2(32) 'time'
Dependencies
DBMS_OUTPUT JSON_KEY_LIST NOTIFICATIONID
DBMS_SYS_ERROR JSON_OBJECT_T NOTIFICATION_SEQ
JSON_ELEMENT_T NOTIFICATION PLITBLM
Documented No
First Available 23ai
Security Model Owned by SYS with EXECUTE granted to the EXECUTE_CATALOG_ROLE role.

Two new Oracle maintained roles, NOTIFICATIONS_ADMIN and NOTIFICATIONS_USER are used for management.
In addition the MAINTPLAN_APP role is likely relevant to notifications
Source {ORACLE_HOME}/rdbms/admin/dbmsnotifications.sql
{ORACLE_HOME}/rdbms/admin/prvtnotifications.plb

catmaintplanv.sql - creates the MAINTPLAN_APP role.
Subprograms
 
DELETE_NOTIF (new 23ai)
Delete notification based on notification id or notification id with notification as selector dbms_notifications.delete_notif(id IN sys.db$notificationid);
TBD
 
GET_NOTIF (new 23ai)
Return specific notification record based on notification id or notification id with notification selector

Overload 1
dbms_notifications.get_notif(
id    IN  sys.db$notificationid,
notif OUT sys.db$notification);
TBD
Return the cursor of specific notification record based on notification_id

Overload 2
dbms_notifications.get_notif(
id          IN  sys.db$notificationid,
notifcursor OUT SYS_REFCURSOR);
TBD
 
INSERT_NOTIF (new 23ai)
Insert notification with details into the notification table dbms_notifications.insert_notif(
notif IN  sys.db$notification,
id    OUT sys.db$notificationid);
TBD
 
INSERT_NOTIF_IMPL (new 23ai)
Implement inserting a notification with notification_id dbms_notifications.insert_notif_impl(
notif IN sys.db$notification,
id#   IN NUMBER);
TBD
 
UPDATE_NOTIF (new 23ai)
Update a notification with detail, notification_id cannot be NULL dbms_notifications.update_notif(
id    IN sys.db$notificationid,
notif IN sys.db$notification);
TBD

Related Topics
Built-in Functions
Built-in Packages
Database Security
Roles
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