Oracle DBMS_JSON_DUALITY
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 Interface used by the REST implementation for multi-operation serializable transactions.
AUTHID CURRENT_USER
Dependencies
DBMS_ASSERT JSON_ARRAY_T JSON_OBJECT_T
DBMS_JSON_DUALITY_INT JSON_ELEMENT_T PLITBLM
DBMS_LOB JSON_KEY_LIST VALIDATE_REPORT_ROW_T
DBMS_STANDARD    
Documented Yes
Exceptions
Error Code Reason
ORA-08178 Illegal SERIALIZABLE clause specified for user INTERNAL
First Available 23ai
Pragmas PRAGMA SUPPLEMENTAL_LOG_DATA(DEFAULT, NONE);
Security Model Owned by SYS with EXECUTE granted to PUBLIC
Source {ORACLE_HOME}/rdbms/admin/dbmsdv.sql
{ORACLE_HOME}/rdbms/admin/prvt.plb
Subprograms
 
BEGIN_TRANSACTION (new 23ai)
Begin a duality view serializable transaction dbms_json_duality.begin_transaction;
exec dbms_json_duality.begin_transaction;
     *
ORA-08178: illegal SERIALIZABLE clause specified for user INTERNAL
 
COMMIT_TRANSACTION (new 23ai)
Commit a duality view serializable transaction dbms_json_duality.commit_transaction;
exec dbms_json_duality.commit_transaction;

PL/SQL procedure successfully completed.
 
GENERATE_SCHEMA (new 23ai)
Takes a normalized relational schema represented as a JSON doc and returns the DDL script to generate the schema dbms_json_duality.generate_schema(er_schema IN JSON) RETURN CLOB;
TBD
 
GET_ETAG (new 23ai)
Return the etag for an object dbms_json_duality.get_etag(
view_name IN VARCHAR2,
oid       IN RAW,
etag      IN RAW);
TBD
 
IMPORT (new 23ai)
Imports data from a table with a single JSON column into a Duality View dbms_json_duality.import(
table_owner_name  IN VARCHAR2 DEFAULT NULL,
table_name        IN VARCHAR2,
view_owner_name   IN VARCHAR2 DEFAULT NULL,
viewname          IN VARCHAR2,
err_logowner_name IN VARCHAR2 DEFAULT NULL,
error_log_name    IN VARCHAR2 DEFAULT NULL,
reject_limit      IN NUMBER   DEFAULT NULL);
TBD
 
IMPORT_ALL (new 23ai)
Imports data from multiple tables with single JSON column into corresponding Duality Views dbms_json_duality.import_all(config IN JSON);
TBD
 
INFER_AND_GENERATE_SCHEMA (new 23ai)
Inputs a set of tables with a single JSON column and config params formatted as a JSON doc and returns the DDL script to generate the validated and normalized relational schema representing the JSON tables as a JSON doc. dbms_json_duality.infer_and_generate_schema(config IN JSON) RETURN CLOB;
TBD
 
INFER_SCHEMA (new 23ai)
With a eset of tables with a single JSON column and config params formatted as a JSON doc, returns the validated and normalized relationship schema representing the JSON tables as a JSON document. dbms_json_duality.infer_schema(config IN JSON) RETURN JSON;
TBD
 
REGISTER (new 23ai)
Register an object for modification in a  duality view serializable transaction dbms_json_duality.register(
view_name IN  VARCHAR2,
oid       IN  RAW,
etag      OUT RAW);
TBD
 
VALIDATE_IMPORT_REPORT (new 23ai)
Validates the data imported by import and generates a report for documents that fail validation dbms_json_duality.validate_import_report(
table_owner_name IN VARCHAR2 DEFAULT NULL,
table_name       IN VARCHAR2,
view_owner_name  IN VARCHAR2 DEFAULT NULL,
view_name        IN VARCHAR2)
RETURN validate_report_tab_t PIPELINED;
TBD
 
VALIDATE_SCHEMA_REPORT (new 23ai)
Validates the schema generated by generate_schema or infer_and_generate_schema and generates a report for documents that fail validation dbms_json_duality.validate_schema_report(
table_owner_name IN VARCHAR2 DEFAULT NULL,
table_name       IN VARCHAR2,
view_owner_name  IN VARCHAR2 DEFAULT NULL,
view_name        IN VARCHAR2)
RETURN validate_report_tab_t PIPELINED;
TBD

Related Topics
Built-in Functions
Built-in Packages
Database Security
DBMS_JSON
DBMS_JSON0
DBMS_JSON_DUALITY_INT
DBMS_JSON_INT
DBMS_JSON_SCHEMA
JSON Functionality
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