Inserting Certain JSON Values Causes Database To Become Unresponsive
(Doc ID 2772673.1)
Last updated on APRIL 17, 2023
Applies to:
Oracle Database - Standard Edition - Version 19.10.0.0.0 and laterInformation 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 |