The database objects you can create on APEX Shared hosting, the features that are not available on a shared server, and the alternatives for each.
On APEX Shared hosting, many customers run on the same Oracle database. To keep every schema secure and the server stable, each schema gets the privileges a typical APEX application needs — but not those that could affect other customers.
| Object | Available |
|---|---|
| Tables and indexes | Yes |
| Views | Yes |
| Sequences | Yes |
| Procedures, functions and packages | Yes |
| Triggers | Yes |
| Synonyms (private) | Yes |
| APEX applications and APEX automations | Yes |
| RESTful services (ORDS) | On request — open a ticket and we will enable REST for your schema |
That covers the needs of most APEX applications.
| Feature | Alternative |
|---|---|
| Database links to other databases | Exchange data over REST instead, or choose Dedicated DB, where you control the whole database. |
Scheduler jobs created with DBMS_SCHEDULER |
Use APEX Automations (Shared Components → Automations) for scheduled tasks inside your application. |
Object types (CREATE TYPE) |
Use records and collections declared inside packages, or choose Dedicated DB. |
| Materialized views | Use a regular table that you refresh with a procedure or an APEX Automation. |
If you try one of these, Oracle returns ORA-01031: insufficient privileges.
Before you import an application from another server, check its installation scripts for CREATE DATABASE LINK, CREATE TYPE, CREATE MATERIALIZED VIEW or DBMS_SCHEDULER.CREATE_JOB. If you find them, use one of the alternatives above — or contact us and we will suggest the right plan.
Tip: Need full control of the database, including every privilege? APEX Dedicated DB gives you a private Oracle instance with root access.
Our Oracle APEX specialists are happy to help. Critical issues get a first response within 15 minutes, 24/7.