# Oracle AI Database Server Release 26ai Container Image Documentation
Oracle AI Database Server Release 26ai is an industry leading relational
database server. The Oracle AI Database server container image contains the Oracle AI Database server Release 26ai Enterprise Edition running on Oracle Linux 8. This image contains a default database in a multitenant configuration with one pluggable database.
For more information on Oracle AI Database server Release 26ai, refer to
[http://docs.oracle.com/en/database/](http://docs.oracle.com/en/database/).
## Using This Image
### Starting an Oracle AI Database Server Instance
To start an Oracle AI Database server instance, run the following
command where `` is the name of the container:
```
$ podman run -d --name
container-registry.oracle.com/database/enterprise:latest
```
**Note:** The password for connecting to the Database is auto-generated.
Refer to the section titled "Changing the Default Password for
SYS User" to change the password.
Oracle AI Database server is ready to use when the `STATUS` field
shows `(healthy)` in the `podman ps` output.
### Connecting to Oracle AI Database Server Container
When the Oracle AI Database server indicates that the container has started and
the `STATUS` field displays `(healthy),`client applications can connect to
the database.
### Connecting From Within the Container
You can connect to the Oracle AI Database server by executing a SQL\*Plus
command from within the container using one of the following commands:
```
$ podman exec -it sqlplus / as sysdba
```
```
$ podman exec -it sqlplus sys/@ as sysdba
```
```
$ podman exec -it sqlplus system/@
```
```
$ podman exec -it sqlplus pdbadmin/@
```
### Connecting From Outside the Container
By default, the Oracle AI Database server exposes port 1521 for Oracle client
connections over Oracle's SQL\*Net protocol. SQL\*Plus or any Oracle
Java Database Connectivity (JDBC) client can be used to connect to the
database server from outside of the container.
To connect from outside of the container, start the container
with `-p` option as described in the detailed `podman run` command in the
section titled "Custom Configurations".
Discover the mapped port by running the following command:
`$ podman port `
To connect from outside of the container using SQL\*Plus, execute the
following:
```
$ sqlplus sys/@//localhost:/ as sysdba
```
```
$ sqlplus system/@//localhost:/
```
```
$ sqlplus pdbadmin/@//localhost:/
```
### Database Alert Logs
You can access the database alert log using the following command
where `` is the name of the container:
`$ podman logs `
### Changing the Default Password for SYS User
On the first startup of the container, a random password is generated
for the database, if not provided. The user has to mandatorily change the
password after the database is created and the corresponding container is healthy.
Using the `podman exec` command, change the password for those accounts by
invoking the `setPassword.sh` script that is found in the container. Note
that the container must be running. For example:
`$ podman exec ./setPassword.sh `
This new password will be used afterwards.
### Custom Configurations
The Oracle AI Database server container also provides configuration parameters
that can be used when starting the container. Following is a detailed
`podman run` command supporting all custom configurations:
```
podman run -d --name \
-p :1521 -p :5500 \
-e ORACLE_SID= \
-e ORACLE_PDB= \
-e ORACLE_PWD= \
-e INIT_SGA_SIZE= \
-e INIT_PGA_SIZE= \
-e ORACLE_CHARACTERSET= \
-e ENABLE_ARCHIVELOG=true \
-v [:]/opt/oracle/oradata \
container-registry.oracle.com/database/enterprise:latest
Parameters:
--name: The name of the container (default: auto generated).
-p: The port mapping of the host port to the container port.
Two ports are exposed: 1521 (Oracle Listener), 5500 (OEM Express).
-e ORACLE_SID: The Oracle AI Database SID that should be used (default:ORCLCDB).
-e ORACLE_PDB: The Oracle AI Database PDB name that should be used (default: ORCLPDB1).
-e ORACLE_PWD: The Oracle AI Database SYS, SYSTEM and PDBADMIN password (default: auto generated).
-e INIT_SGA_SIZE: The total memory in MB that should be used for all SGA components (optional).
-e INIT_PGA_SIZE: The target aggregate PGA memory in MB that should be used for all server processes attached to the instance (optional).
-e ORACLE_CHARACTERSET: The character set to use when creating the database (default: AL32UTF8).
-e ENABLE_ARCHIVELOG: To enable archive log mode when creating the database (default: false). Supported 19.3 onwards.
-v /opt/oracle/oradata
The data volume to use for the database. Has to be writable by the Unix "oracle" (uid: 54321) user inside the container
If omitted the database will not be persisted over container recreation.
-v /opt/oracle/scripts/startup | /docker-entrypoint-initdb.d/startup
Optional: A volume with custom scripts to be run after database startup.
For further details see the "Running scripts after setup and on
startup" section below.
-v /opt/oracle/scripts/setup | /docker-entrypoint-initdb.d/setup
Optional: A volume with custom scripts to be run after database setup.
For further details see the "Running scripts after setup and on startup" section below.
```
The supported configuration options are:
- ORACLE_SID
This parameter changes the Oracle system identifier (SID) of the
database. This parameter is optional and the default value is set to
`ORCLCDB`.
- ORACLE_PDB
This parameter modifies the name of the pluggable database (PDB).
This parameter is optional and the default value is set to `ORCLPDB1`.
- ORACLE_PWD
This parameter modifies the password for the SYS, SYSTEM, and
PDBADMIN users. This parameter is optional and the default value is
randomly generated. This password can be changed later as described
in the section titled "Changing the Default Password for SYS User".
- INIT_SGA_SIZE
This parameter modifies the memory in MB that should be used for all
SGA components. This parameter is optional, and the default value is
calculated during database creation if it isn't provided. Refer to the section "Setting the SGA and PGA memory" for more details.
- INIT_PGA_SIZE
This parameter modifies the target aggregate memory in MB that should
be used for all server processes attached to the instance. This parameter
is optional, and the default value is calculated during database creation
if it isn't provided. Refer to the section "Setting the SGA and PGA memory" for more details.
- ORACLE_CHARACTERSET
This parameter modifies the character set of the database. This
parameter is optional and the default value is set to AL32UTF8.
- ENABLE_ARCHIVELOG
This parameter enables the ARCHIVELOG mode while creating the database for the first time. Default value of this parameter is `false`.
### Reusing the Existing Database
The Oracle AI Database server image uses podman data volumes to store data
files, redo logs, audit logs, alert logs, and trace files. The data
volume is mounted within the container at `/opt/oracle/oradata`. To start
a database with a data volume, use the `podman run` command as follows:
```
$ podman run -d --name -v
OracleDBData:/opt/oracle/oradata
container-registry.oracle.com/database/enterprise:latest
```
OracleDBData is the data volume that is created by podman and mounted
within the container in the path `/opt/oracle/oradata`. During the first
instance, data files are created in the new data volume. After the
container is destroyed, the data files are kept persistent and can be
reused to start another container with the same data files if the same
ORACLE_SID parameter is provided. When using data volumes created by
podman, the file system used by podman affects the performance of the Oracle
AI Database server. The performance on the `ext4` file system is better compared to the `btrfs` file system.
To use a directory on the host system for the data volume, run the
following:
```
$ podman run -d --name -v
:/opt/oracle/oradata
container-registry.oracle.com/database/enterprise:latest
```
### Setting the SGA and PGA memory
The SGA and PGA memory can be set during database by specifying the INIT_SGA_SIZE and INIT_PGA_SIZE parameters, respectively, in the `podman run` command. Provide the values in MB without any units appended to the value.
For example:
```
-e INIT_SGA_SIZE=1536
```
These parameters are optional. If they are not specified, the values are automatically calculated during database creation. If these parameters are included in the `podman run` command, when reusing existing data files, even though these values are visible in the container environment, they are not set inside the database. The values set at the time of database creation will continue to be used.
### Performing Operations That Require Database Shutdown/Startup
To perform database operations that require a restart, run the maintenance scripts, `/home/oracle/shutDown.sh` and `/home/oracle/startUp.sh` instead of running the `shutdown immediate` and `startup` commands, respectively, as the latter will cause the container to exit.
### Resource Requirements
The minimum requirements for the container are 25 GB disk space and 4 GB memory.
### Running Scripts After Setup and On Startup
You can configure the container images to run scripts after setup and on startup. Currently, the `.sh` and `.sql` extensions are supported. For post-setup scripts, mount the volume `/opt/oracle/scripts/setup` to include scripts in this directory. For post-startup scripts, mount the volume `/opt/oracle/scripts/startup` to include scripts in this directory. Both these locations are also represented by the symbolic link `/docker-entrypoint-initdb.d.` This provides synergy with other database container images. You can decide whether to place the setup and startup scripts under `/opt/oracle/scripts` or `/docker-entrypoint-initdb.d`.
After the database is set up or started, the scripts in those folders are executed against the database in the container. SQL scripts are executed as `sysdba` and shell scripts are executed as the current user. To ensure proper order, Oracle recommends that you prefix your scripts with a number. For example, `01_users.sql`, `02_permissions.sql`, and so on.
**Note:** The startup scripts are executed after the database setup is completed for the first time.
The following example mounts the local directory `myScripts` to `/opt/oracle/scripts/startup` which is then used to search for for custom startup scripts:
```
$ podman run -d --name -v
/home/oracle/myScripts:/opt/oracle/scripts/startup
container-registry.oracle.com/database/enterprise:latest
```
______
Oracle AI Database Server Release 26ai Container Image Documentation
[Copyright ©](https://docs.oracle.com/cd/E23003_01/html/en/cpyr.htm) 2006, 2026, Oracle and/or its affiliates.