Upgrade Autonomous JSON Database to Autonomous Transaction Processing

You can promote an Autonomous JSON Database to an Autonomous Transaction Processing database at any time.

An Autonomous JSON Database is the same as an Autonomous Transaction Processing database, except that an Autonomous JSON Database is limited: You can store only up to 20 GB of data other than JSON document collections.Foot 1 This limitation is appropriate if your use is primarily development of applications that use JSON documents.

If you have a greater need to use data other than JSON data then follow these steps to promote your Autonomous JSON Database to an Autonomous Transaction Processing database:

  1. Open the Oracle Cloud Infrastructure Console by clicking the navigation icon next to Cloud.

  2. From the Oracle Cloud Infrastructure left navigation menu click Oracle Database, and then click Autonomous JSON Database.

  3. Choose your JSON Database from those listed in the compartment, by clicking its name in column Display name.

  4. Do one of the following:

    • From the More actions drop-down list, select Change workload type.

    • In tab Autonomous Database information, under heading General information, item Workload type, click Edit.

  5. Click Convert to confirm that you want to convert this database to Autonomous Transaction Processing.

  6. If you were using the refreshable clone feature with your Autonomous JSON Database then re-create the clone after promotion to Autonomous Transaction Processing. See Using Refreshable Clones with Autonomous Database.

See Autonomous Database Billing Summary for more information.

List the Non-JSON Objects on an Autonomous Database Instance

To assess the space consumed by non-JSON objects you can query the DBA_NONJSON_OBJECTS data dictionary view. Access to DBA_NONJSON_OBJECTS is only granted to the ADMIN user and cannot be granted to any other user.

On Autonomous Database, JSON objects are defined as follows:

  1. Tables that meet all the following conditions:

    • Tables that have one or more JSON columns (either of JSON type or of BLOB type with "is json format OSON" check constraint).

    • Other table columns are of Oracle built-in types, excluding: LONG, LONG RAW, LOB related (CLOB/NCLOB/BLOB/BFILE), and VECTOR.

    • In each table, the sum of the maximum sizes of the non-JSON columns is less than 533 bytes.

  2. Indexes created on top of tables defined as in 1, including JSON search indexes and spatial indexes.
  3. Materialized views created on top of tables, as defined in 1. When a Materialized view is joined among tables defined as in 1 and other tables, it is considered a JSON object.

Any table that does not adhere to these constraints is considered a non-JSON object and all of its dependent objects and the object itself are counted towards the relational storage limit of 20 GB.

Based on this criteria, the possible reasons for being considered a non-JSON object, as shown in the REASON column in the DBA_NONJSON_OBJECTS view are:

Reason Description
NO JSON CONTENT

Table and dependent objects do not contain any JSON columns.

DATA TYPE VIOLATION

Table contains constrained datatypes.

MAXIMUM SIZE OF NON-JSON COLUMNS EXCEEDED

Table exceeds the allotted limit of non-JSON columns.

For example:

SELECT * FROM dba_nonJSON_objects;
OWNER    TABLE_NAME          TABLE_BYTES    REASON                                       TABLE_AND_DEPENDENTS_BYTES 
-------- ------------------- -------------- -------------------------------------------- ----------------------------- 
HR       COUNTRIES                    65536 NO JSON CONTENT                                                      98304 
HR       DEPARTMENTS                  65536 NO JSON CONTENT                                                     131072 
HR       JOBS                         65536 NO JSON CONTENT                                                      98304 
HR       JOB_HISTORY                  65536 NO JSON CONTENT                                                     196608 
HR       EMPLOYEES                    65536 NO JSON CONTENT                                                     262144 
HR       LOCATIONS                    65536 NO JSON CONTENT                                                     196608 
HR       REGIONS                      65536 NO JSON CONTENT                                                      98304 
HR       TOO_MANY_COLUMNS             32768 MAXIMUM SIZE OF NON-JSON COLUMNS EXCEEDED                           327680 
HR       EXCLUDED_COLUMNS             32768 DATA TYPE VIOLATION                                                 622592 

See DBA_NONJSON_OBJECTS View to view information about the non-JSON objects.



Footnote Legend

Footnote 1: You can subscribe to information event AJDNonJsonStorageExceeded, to be informed when the 20 GB limit is exceeded. See About Information Events on Autonomous Database.