Platform: Oracle APEX 24.2.17 on Autonomous Database (Always Free)
Database: Oracle AI Database 26ai (23.26.3.2.0)
Symptom: Every page in App Builder shows “SyntaxError: Unexpected end of JSON input”
Fix: Two SQL statements
The Problem
On August 15, 2026, Oracle automatically upgraded my Always Free Autonomous Database from 19c to Oracle AI Database 26ai. Everything looked fine — the database was up, SQL Workshop worked, my applications ran correctly for end users.
But when I opened any page in APEX App Builder, I got this:
1 error has occurred
• Error: SyntaxError: Unexpected end of JSON input
And the page designer canvas showed:
No page or page has no template
Every single page. Every application. The entire App Builder was broken.
Initial Diagnosis
The first clue came from checking APEX object validity:
SELECT comp_name, version, status
FROM dba_registry
WHERE comp_id = 'APEX';
-- Result: Oracle APEX | 24.2.17 | INVALID
APEX itself was marked INVALID. Drilling deeper:
SELECT object_type, COUNT(*) invalid_count
FROM all_objects
WHERE owner LIKE 'APEX%'
AND status = 'INVALID'
GROUP BY object_type
ORDER BY invalid_count DESC;
Result: Only one invalid object:
PACKAGE BODY 1
Just one package body. That was encouraging. Find which one:
SELECT owner, object_type, object_name, last_ddl_time
FROM all_objects
WHERE owner LIKE 'APEX%'
AND status = 'INVALID';
APEX_240200 | PACKAGE BODY | WWV_FLOW_PROPERTY_DEV | 14-AUG-26
WWV_FLOW_PROPERTY_DEV — the App Builder page designer property editor. The one package responsible for rendering every page in the designer. One invalid object was breaking the entire App Builder.
Finding the Root Cause
Check the compilation errors:
SELECT line, position, text
FROM all_errors
WHERE owner = 'APEX_240200'
AND name = 'WWV_FLOW_PROPERTY_DEV'
AND type = 'PACKAGE BODY'
ORDER BY sequence;
4153 | 22 | PL/SQL: ORA-00942: table or view "SYS"."DBA_PROPERTY_GRAPHS" does not exist
4151 | 11 | PL/SQL: SQL Statement ignored
The package references SYS.DBA_PROPERTY_GRAPHS — a new view introduced in Oracle AI Database 26ai for the Property Graph feature. APEX 24.2 was built to support this feature, so it references the view. But the view wasn’t accessible to the APEX schema after the upgrade.
The Failed Attempts
This is where three hours went. Documenting every failure so you don’t repeat them.
Attempt 1 — Restart the ADB instance
Standard first step for any post-upgrade issue. Restarted from OCI Console. No change.
Attempt 2 — Recompile directly
ALTER PACKAGE apex_240200.wwv_flow_property_dev COMPILE BODY;
-- ORA-01031: insufficient privileges
ADMIN cannot compile objects in the APEX_240200 schema on ADB. Oracle locks this down.
Attempt 3 — Create a stub view in SYS schema
CREATE OR REPLACE VIEW sys.dba_property_graphs AS ...
-- ORA-65040: Operation is not allowed from within a pluggable database
ADB runs in a PDB. Cannot create objects in SYS from inside a PDB.
Attempt 4 — Create a public synonym
CREATE OR REPLACE PUBLIC SYNONYM dba_property_graphs FOR admin.dba_property_graphs;
-- ORA-65040: Operation is not allowed from within a pluggable database
Same restriction. Public synonyms also require CDB level.
Attempt 5 — Create synonym in APEX_240200 schema
CREATE OR REPLACE SYNONYM apex_240200.dba_property_graphs FOR admin.dba_property_graphs;
-- ORA-01031: insufficient privileges
ADMIN cannot create objects in the APEX schema.
Attempt 6 — Create view in APEX_240200 schema
CREATE OR REPLACE VIEW apex_240200.dba_property_graphs AS ...
-- ORA-01031: insufficient privileges
Same.
Attempt 7 — Remove and reinstall APEX
@apxremov.sql
-- ORA-01031: insufficient privileges
Cannot remove Oracle-managed APEX on ADB. Oracle owns it.
Attempt 8 — Reinstall APEX over existing installation
@apexins.sql SYSAUX SYSAUX TEMP /i/
-- FAIL - Precondition for Phase 1 failed: APEX_240200 already exists
-- ORA-20001: Prerequisite checks failed
Cannot reinstall without removing first. Cannot remove. Circular problem.
Attempt 9 — Use Database Vault patch mode
EXEC DBMS_MACADM.ENABLE_PATCH_MODE;
-- PLS-00302: component 'ENABLE_PATCH_MODE' must be declared
Procedure doesn’t exist in 26ai.
Attempt 10 — APEX internal compile
APEX_240200.WWV_FLOW_UPGRADE.COMPILE_INVALID_OBJECTS;
-- ORA-06550: insufficient privilege to access object
ADMIN doesn’t have execute privilege on APEX internal packages.
The Discovery That Changed Everything
After all those failures, I ran a broader check on what Property Graph objects actually existed:
SELECT owner, object_name, object_type, status
FROM all_objects
WHERE UPPER(object_name) LIKE '%PROPERTY%GRAPH%'
ORDER BY owner, object_type;
PUBLIC | ALL_PROPERTY_GRAPHS | SYNONYM | VALID
PUBLIC | CDB_PROPERTY_GRAPHS | SYNONYM | VALID
PUBLIC | DBA_PROPERTY_GRAPHS | SYNONYM | VALID
PUBLIC | USER_PROPERTY_GRAPHS | SYNONYM | VALID
SYS | ALL_PROPERTY_GRAPHS | VIEW | VALID
SYS | CDB_PROPERTY_GRAPHS | VIEW | VALID
SYS | DBA_PROPERTY_GRAPHS | VIEW | VALID ← IT EXISTS
SYS | USER_PROPERTY_GRAPHS | VIEW | VALID
SYS.DBA_PROPERTY_GRAPHS EXISTS and is VALID.
The view was not missing. It existed all along. The problem was not a missing view — it was a missing GRANT. Oracle’s upgrade process created the view but did not grant SELECT on it to the APEX_240200 schema. The package body failed to compile because APEX_240200 couldn’t see the view, even though the view was right there.
The Fix
Two statements:
-- Step 1: Grant SELECT on the new 26ai view to APEX schema
GRANT SELECT ON sys.dba_property_graphs TO apex_240200;
-- Grant succeeded.
-- Step 2: Recompile all invalid APEX objects
BEGIN
DBMS_UTILITY.COMPILE_SCHEMA(
schema => 'APEX_240200',
compile_all => FALSE,
reuse_settings => TRUE
);
END;
/
-- PL/SQL procedure successfully completed.
Verify:
SELECT status, last_ddl_time
FROM all_objects
WHERE owner = 'APEX_240200'
AND object_name = 'WWV_FLOW_PROPERTY_DEV'
AND object_type = 'PACKAGE BODY';
VALID | 15-AUG-26
Open App Builder. Page designer loads. Problem solved.
Why This Happened
Oracle AI Database 26ai introduced the Property Graph feature with three new data dictionary views:
SYS.DBA_PROPERTY_GRAPHSSYS.ALL_PROPERTY_GRAPHSSYS.USER_PROPERTY_GRAPHS
These are documented as “available starting with Oracle AI Database 26ai.”
APEX 24.2 was built to support Property Graph integration in the App Builder. The package WWV_FLOW_PROPERTY_DEV (the page designer property editor) references SYS.DBA_PROPERTY_GRAPHS to enumerate available property graphs for use in APEX pages.
When Oracle upgraded the ADB from 19c to 26ai, the new views were created correctly. But Oracle’s upgrade script did not include a GRANT SELECT ON sys.dba_property_graphs TO apex_240200 statement. This was an oversight in the upgrade script — the views were created, the APEX package expected them, but the grant connecting the two was never executed.
Result: WWV_FLOW_PROPERTY_DEV failed to compile. App Builder’s page designer uses this package to render every page. One missing GRANT broke the entire visual designer.
The Root Cause in One Sentence
Oracle’s 26ai upgrade created SYS.DBA_PROPERTY_GRAPHS but forgot to grant SELECT on it to APEX_240200, causing the page designer package to fail compilation and breaking App Builder for every page in every application.
Complete Diagnostic and Fix Script
-- ============================================================
-- APEX 24.2 Page Designer Fix After Oracle 26ai Upgrade
-- Run as ADMIN in SQL Workshop
-- ============================================================
-- Step 1: Confirm APEX is invalid
SELECT comp_name, version, status
FROM dba_registry
WHERE comp_id = 'APEX';
-- Step 2: Find invalid objects
SELECT owner, object_type, object_name
FROM all_objects
WHERE owner LIKE 'APEX%'
AND status = 'INVALID';
-- Step 3: Find the compilation error
SELECT line, position, text
FROM all_errors
WHERE owner = 'APEX_240200'
AND name = 'WWV_FLOW_PROPERTY_DEV'
AND type = 'PACKAGE BODY'
ORDER BY sequence;
-- Step 4: Confirm view exists but APEX cannot see it
SELECT owner, object_name, object_type, status
FROM all_objects
WHERE UPPER(object_name) LIKE '%PROPERTY%GRAPH%'
ORDER BY owner, object_type;
-- Step 5: THE FIX
GRANT SELECT ON sys.dba_property_graphs TO apex_240200;
-- Step 6: Recompile
BEGIN
DBMS_UTILITY.COMPILE_SCHEMA(
schema => 'APEX_240200',
compile_all => FALSE,
reuse_settings => TRUE
);
END;
/
-- Step 7: Verify
SELECT status
FROM all_objects
WHERE owner = 'APEX_240200'
AND object_name = 'WWV_FLOW_PROPERTY_DEV'
AND object_type = 'PACKAGE BODY';
-- Expected: VALID
-- Step 8: Confirm zero invalid APEX objects
SELECT COUNT(*) still_invalid
FROM all_objects
WHERE owner LIKE 'APEX%'
AND status = 'INVALID';
-- Expected: 0
Key Lessons
1. One invalid package can break the entire App Builder. WWV_FLOW_PROPERTY_DEV is the page designer’s backbone. When it’s invalid, every page shows “No page or page has no template.” The error message is misleading — it suggests a template problem, but the real cause is a compilation failure in the property editor.
2. Check ALL_OBJECTS before assuming the view is missing. The error message said ORA-00942: table or view does not exist. The natural assumption was that the view was missing. It wasn’t — it existed but lacked the right GRANT. Always verify with all_objects before attempting to create anything.
3. ADMIN on Always Free ADB cannot modify Oracle-managed schemas. You cannot ALTER PACKAGE in APEX_240200, cannot CREATE in SYS, cannot run APEX removal scripts. Oracle manages these schemas. Work within what ADMIN can do — GRANT privileges and DBMS_UTILITY.COMPILE_SCHEMA are both available.
4. DBMS_UTILITY.COMPILE_SCHEMA is the right recompilation tool. It recompiles all invalid objects in a schema without needing to own the schema. ADMIN can run it on APEX_240200 even though ADMIN cannot compile individual packages directly.
5. Upgrade scripts sometimes miss GRANTs. This is a known pattern in Oracle upgrades — new objects are created but grants to dependent schemas are missed. When something breaks after an upgrade, check privileges before assuming the object is missing.
Environment
- Database: Oracle AI Database 26ai Enterprise Edition (23.26.3.2.0)
- APEX: 24.2.17
- Platform: Oracle Autonomous Database Always Free (ca-toronto-1)
- Upgrade: Automatic Oracle-managed upgrade from 19c to 26ai
- Time to fix: ~3 hours of diagnosis, 2 SQL statements to fix
If You Hit This Problem
Run this immediately:
GRANT SELECT ON sys.dba_property_graphs TO apex_240200;
BEGIN
DBMS_UTILITY.COMPILE_SCHEMA('APEX_240200', FALSE, TRUE);
END;
/
If that doesn’t work — check all_errors for WWV_FLOW_PROPERTY_DEV to see which view or object is missing, grant SELECT on it to apex_240200, and recompile. The pattern is the same even if the specific missing object is different in future versions.
Published on gradeupnow.in
Tags: Oracle APEX, Oracle 26ai, Autonomous Database, APEX troubleshooting, WWV_FLOW_PROPERTY_DEV, DBA_PROPERTY_GRAPHS, APEX page designer broken, Oracle upgrade