My Oracle Support Banner

Inserting Certain JSON Values Causes Database To Become Unresponsive (Doc ID 2772673.1)

Last updated on JUNE 25, 2021

Applies to:

Oracle Database - Standard Edition - Version 19.10.0.0.0 and later
Information in this document applies to any platform.

Symptoms

On : 19.10.0.0.0 version,

ACTUAL BEHAVIOR
---------------
Inserting certain JSON values causes database to become unresponsive

We are currently testing upgrade of Oracle 18 to Oracle 19, and has found this blocking issue.

Below is the reproducing example.

Server running is Oracle 19.10.0.0 standard edition docker image built as described in https://github.com/oracle/docker-images/tree/main/OracleDatabase/SingleInstance/samples/applypatch and https://blog.sqlora.com/en/upgrading-a-19c-database-on-docker/. Note that we run docker only in for the purpose of testing the compatibility with our applications. In production we also run Enterprise Edition.

The same example runs successfully on Oracle 19.3.0.0 docker image.

Reproducing example:

Login:
sqlplus SYS/Oracle123@//localhost:1521/ORCLPDB1 as SYSDBA

Create table:
create table test
(
  "JSON" BLOB
  constraint test_JSON
  check (json IS JSON FORMAT JSON STRICT WITH UNIQUE KEYS)
);

Insert JSON value:
INSERT INTO test(json)
VALUES (utl_raw.cast_to_raw('{
  "b": {
  "c": [
  {
  "d": {
  "e": "f"
  },
  "g": "h",
  "i": true,
  "isSummary": true,
  "bindingx": {},
  "m": [
  {
  "j": "v2",
  "map": "q"
  }
  ]
  }
  ]
  }
}'));

Insert never completes, and database is using 100% CPU.

If I change the "isSummary" to either "isSummar" og "isSummaryx", it is inserted correctly without delay.

Cause

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


In this Document
Symptoms
Cause
Solution
References


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.