Oracle: Add database components to a 23ai CDB
This is how to add database components to a 23ai CDB

Database components often were a big problem: for most databases, application owners did not have any information for what's needed, and export/import also could be a challenge - especially when using Oracle Text.
As I'm migration databases from 19c to 23ai on ExaData, I wanted to use the clone functionality. But cloning a PDB or a Non-CDB has a prerequisite: all the components enabled (enabled - not used or needed) components also have to be configured in the CDB.
Here's what I did to enable these components (I'll keep it short instead of explaining everything or writing novels):
Spatial
The short name for Spatial is SDO; it can be installed by executing
SQL> @?/md/admin/mdinst
Oracle Text
The old name for Oracle Text is SDO. I installed it by executing
# $ORACLE_HOME/perl/bin/perl catcon.pl -n 8 -d $ORACLE_HOME/ctx/admin -b ctxinstlog -c 'CDB$ROOT' catctx.sql --p'ctxsys' --p'SYSAUX' --p'TEMP' --p'nolock'
from command line.
OLAP APS
APS is the OLAP Analytic Workspace. I installed it by executing
SQL> @?/olap/admin/cataps
CATJAVA
The Java subsystem within the database can be installed by executing this:
SQL> @?/rdbms/admin/catjava.sql
SQL> create or replace java system
/
OLS
OLS is the Oracle Label security. Install it using
SQL> @?/rdbms/admin/catols.sql
DV
DataVault is the solution to keep the DBA away from the data. But it has to be installed. Do it like this:
SQL> @?/rdbms/admin/catmac.sql
XOQ
XOQ is the OLAP API. It has to be installed like this:
SQL> @?/olap/admin/catxoq.sql
XDK
XDK is the XML Developer kit. It can be installed by using
SQL> @?/xdk/admin/initxml.sql
JAVAVM
Install JavaVM using
SQL> @?/javavm/install/initjvm.sql