Installation
What is in the delivery
Section titled “What is in the delivery”The ADM archive contains three things:
| File | What it is |
|---|---|
install.sql | Every database object: tables, views, packages, triggers, jobs, seed data, and the database side of the bundled APEX plug-ins. |
f215.sql | The APEX application export. |
uc_pip.pkw | The wrapped body of uc_pluginspro, which licenses the bundled United Codes plug-ins. |
The AI Pack, if you have licensed it, ships as a separate install_ai.sql and is installed
after the base product — see AI Pack installation.
Prerequisites
Section titled “Prerequisites”- Oracle Database 19c or later. Developed and tested against 19c and 23ai.
- Oracle APEX 24.2 or later. The application export is created from 24.2; importing into an older APEX release will fail.
- ORDS, for the APEX application itself, and for the bundled plug-ins that call back into the database — APEX Office Edit needs a REST endpoint in your workspace.
- A dedicated schema. Install ADM into its own schema rather than alongside an existing
application. Every object is prefixed
adm_, but the schema also receives the plug-in support objects.
Grants
Section titled “Grants”The ADM schema needs these grants, issued as a privileged user:
grant execute on dbms_crypto to your_user; -- checksums, share-link password hashinggrant execute on ctx_ddl to your_user; -- Oracle Text, for full-text searchgrant create any context to your_user; -- the ADM_CONTEXT security contextgrant create job to your_user; -- the scheduled maintenance jobsREST-enable the schema
Section titled “REST-enable the schema”begin ords.enable_schema; commit;end;/Installing
Section titled “Installing”-
Run the database install.
Connect as the ADM schema owner and run the script from the directory it lives in:
Terminal window sqlplus adm/password@db @install.sqlIt writes
install_adm.lognext to itself. The script does not stop on the first error, so read that log:Terminal window grep -iE "ORA-|PLS-|warning" install_adm.log -
Confirm every object compiled.
select object_type, object_namefrom user_objectswhere status = 'INVALID'order by object_type, object_name;This should return no rows.
adm_ociis the one expected exception on a database withoutDBMS_CLOUD— see Object storage. -
Compile the plug-in licensing package and license the plug-ins.
Terminal window sqlplus adm/password@db @uc_pip.pkwThen license each bundled United Codes plug-in with the API key from your licence e-mail. With outbound internet access from the database:
set serveroutput onbeginuc_pluginspro.auto_license(p_plugin => 'UNITEDCODES_SEARCHBOX_PRO', p_api_key => 'your-api-key');end;/Without outbound access, call
uc_pluginspro.manual_licensewith the same arguments, take the request key it prints, and call it again with the licence key you get back. The plug-ins that need licensing, and their exact names, are listed in your delivery notes; what is already licensed is visible inuc_pluginspro_license. -
Import the APEX application.
In the APEX workspace that owns the ADM schema: App Builder → Import, upload
f215.sql, and install it. Keep application ID 215 unless it collides with an existing application; if you change it, also change it in any embedding you set up later.The application authenticates with APEX Accounts by default. Point it at whatever authentication scheme your organisation uses before letting real users in.
-
Create the first admin user.
ADM keeps its own user list, and it starts empty. A database user who has authenticated into the APEX application is still nobody to ADM until they exist in
adm_users.declarel_role_id number;beginadm_context_api.system_login;select role_idinto l_role_idfrom adm_roleswhere role_name = 'ADMIN';adm_user_api.add_user('USERNAME', l_role_id);commit;end;/USERNAMEmust match what the authentication scheme puts intoAPP_USER— for APEX Accounts that is the account name in upper case. Theadm_context_api.system_logincall is what gives the anonymous SQL*Plus session the privileges to create a user; nothing administrative works without a context. See The security model. -
Log in.
Run the application, sign in as the user you just created, and you should land in that user’s home folder. The administration section is reachable from the navigation menu.
After installing
Section titled “After installing”Nothing below is required for a working system.
- Review the settings — upload size limits, how long trashed files are kept, and which optional features are on.
- Enable full-text search — content search depends on Oracle Text and on the indexing queue being worked by the daily job.
- Move file content to OCI Object Storage — if you do not want BLOBs in the database.
- Connect the office editing services — APEX Office Edit and APEX Office Print are separate services with their own URLs and keys.
- Check the scheduled jobs are running — trash cleanup, retention deletion and content indexing all depend on them.
AI Pack
Section titled “AI Pack”The AI Pack is optional, licensed separately, and installed on top of a working base installation.
It has its own prerequisites — the uc_ai library, a vector database and an embedding provider.
Upgrading
Section titled “Upgrading”Applying a new ADM release is a different procedure from a first install.