tags: oracle

Oracle database release 26ai docker pull (13th April 2026):

Tag OS/Arch Size Pull Command Last Updated Image ID
latest linux/amd64 3.92 GB docker pull container-registry.oracle.com/database/enterprise:latest 3 months ago 9b7d6e7bea97
23.26.1.0 linux/amd64 3.92 GB docker pull container-registry.oracle.com/database/enterprise:23.26.1.0 3 months ago 9b7d6e7bea97
19.19.0.0 linux/arm64 3.16 GB docker pull container-registry.oracle.com/database/enterprise:19.19.0.0 1.3 years ago 5e85749c169f
19.3.0.0 linux/amd64 3.38 GB docker pull container-registry.oracle.com/database/enterprise:19.3.0.0 2.6 years ago 291fd8c7958b
21.3.0.0 linux/amd64 3.48 GB docker pull container-registry.oracle.com/database/enterprise:21.3.0.0 2.6 years ago 35e92315f1f8
12.2.0.1 linux/amd64 2.76 GB docker pull container-registry.oracle.com/database/enterprise:12.2.0.1 8.7 years ago 12a359cd0528
12.2.0.1-slim linux/amd64 1.5 GB docker pull container-registry.oracle.com/database/enterprise:12.2.0.1-slim 8.7 years ago 27c9559d36ec

kmaau@compaq8100 ~ $ docker login container-registry.oracle.com
Username: kianming.aau@bmo.com
Password: [passw0rd]
WARNING! Your credentials are stored unencrypted in '/home/kmaau/.docker/config.json'.
Configure a credential helper to remove this warning. See https://docs.docker.com/go/credential-store/
Login Succeeded

kmaau@compaq8100 ~ $ ls -ld ${HOME}/.docker
drwx------ 3 kmaau kmaau 4096 Mar  7 17:02 /home/kmaau/.docker
kmaau@compaq8100 ~ $ ls -l ${HOME}/.docker
drwx------ 6 kmaau kmaau 4096 Mar 15 01:17 buildx
-rw------- 1 kmaau kmaau  129 Mar  7 00:19 config.json
kmaau@compaq8100 ~ $ cat ${HOME}/.docker/config.json | jq
{
  "auths": {
    "container-registry.oracle.com": {
      "auth": "a2lhbm1pb..........Q0ZuRQ=="
    }
  }
}

kmaau@compaq8100 ~ $ docker pull container-registry.oracle.com/database/enterprise:latest
latest: Pulling from database/enterprise
41fec24cd635: Pulling fs layer 
0914dfef6d23: Pulling fs layer 
20150b7adf1d: Pulling fs layer 
8ecd6e80f2cb: Waiting 
f49af1eca5d4: Waiting 
3aa20556799b: Waiting 
1ab9f2bad80c: Pulling fs layer 
67874a7f0724: Waiting 
f69a0ed6e0f5: Waiting 
41fec24cd635: Downloading [==================>                                ]  40.01MB/105.5MB
f1d3ae666fec: Waiting 
989a99cbd1fd: Waiting 
26914f5ddca6: Waiting 
ca9d1428074d: Pulling fs layer 
524333c96a57: Waiting 
5b17a2f8e1e9: Waiting 
3e0d211f77f5: Waiting 
a6a9205ed54f: Waiting 
16304cdb4eae: Waiting 
5bf857a7dc62: Waiting 
0c1525f69360: Waiting 
f4543ad3c4bf: Waiting 
9253301d7214: Pulling fs layer 
2b4bc6a16053: Waiting 
d9a04f808203: Waiting 
d480f047babc: Waiting 
Digest: sha256:224c51ce1555ff7b75882a84b621c52b6d5ece00c96b0c5cd84e667333ad5cd7
Status: Downloaded newer image for container-registry.oracle.com/database/enterprise:latest
container-registry.oracle.com/database/enterprise:latest

kmaau@compaq8100 ~ $ docker image list
                                                                                       i Info →   U  In Use
IMAGE                                                      ID             DISK USAGE   CONTENT SIZE   EXTRA
container-registry.oracle.com/database/enterprise:latest   9b7d6e7bea97       8.05GB             0B        
  

Spin up Oracle database 26ai docker:


kmaau@compaq8100 ~ $ free --human
               total        used        free      shared  buff/cache   available
Mem:            15Gi       3.9Gi       211Mi        10Mi        11Gi        11Gi                             ---how much memory we have?
Swap:          2.0Gi       339Mi       1.7Gi

kmaau@compaq8100 ~ $ sudo su -
root@compaq8100:~# groupadd oinstall
root@compaq8100:~# grep oinstall /etc/group
oinstall:x:1001:
root@compaq8100:~# useradd --home-dir /home/oracle --create-home --gid oinstall --password passw0rd --shell /bin/bash --comment "Oracle" oracle
root@compaq8100:~# grep oracle /etc/passwd
oracle:x:1001:1001:Oracle:/home/oracle:/bin/bash
root@compaq8100:~# id -a oracle
uid=1001(oracle) gid=1001(oinstall) groups=1001(oinstall)

root@compaq8100:~# usermod --groups docker oracle                                                            ---grants oracle permission to run docker
root@compaq8100:~# id -a oracle
uid=1001(oracle) gid=1001(oinstall) groups=1001(oinstall),986(docker)

root@compaq8100:~# vi /etc/sudoers.d/oracle
::
::

root@compaq8100:~# cat /etc/sudoers.d/oracle
oracle     ALL=(ALL) NOPASSWD:ALL

root@compaq8100:~# su - oracle                                                                               ---login as oracle
oracle@compaq8100:~$ whoami; pwd
oracle
/home/oracle
oracle@compaq8100:~$ echo ${SHELL}
/bin/bash

oracle@compaq8100:~$ vi ${HOME}/docker-compose.yml
::
::

oracle@compaq8100:~$ cat ${HOME}/docker-compose.yml 
services:
  oracle26ai:
    image: container-registry.oracle.com/database/enterprise:latest
    container_name: oracle26ai
    hostname: ora26ai.example.net
    ports:
      - "${ORACLE_LISTENER_PORT:-1521}:1521"
      - "${ORACLE_OEM_PORT:-5500}:5500"
    environment:
      ORACLE_SID: ${ORACLE_SID:-ORCLCDB}
      ORACLE_PDB: ${ORACLE_PDB:-ORCLPDB1}
      ORACLE_PWD: ${ORACLE_PWD:-P#ssw0rd}
      INIT_SGA_SIZE: ${INIT_SGA_SIZE:-}
      INIT_PGA_SIZE: ${INIT_PGA_SIZE:-}
      ORACLE_CHARACTERSET: ${ORACLE_CHARACTERSET:-AL32UTF8}
      ENABLE_ARCHIVELOG: "true"
    volumes:
      - ${ORADATA_VOLUME:-./oradata}:/opt/oracle/oradata
    networks:
      - oracle_network
networks:
  oracle_network:
    driver: bridge

oracle@compaq8100:~$ ls -ld ${HOME}/oradata
ls: cannot access '/home/oracle/oradata': No such file or directory
oracle@compaq8100:~$ mkdir ${HOME}/oradata
oracle@compaq8100:~$ ls -ld ${HOME}/oradata
drwxr-xr-x 2 oracle oinstall 4096 Apr 13 17:14 /home/oracle/oradata
oracle@compaq8100:~$ chmod 777 ${HOME}/oradata
oracle@compaq8100:~$ ls -ld ${HOME}/oradata
drwxrwxrwx 2 oracle oinstall 4096 Apr 13 17:24 /home/oracle/oradata

oracle@compaq8100:~$ docker compose up --detach

oracle@compaq8100:~$ docker compose logs --follow
[+] up 2/2
 ✔ Network oracle_oracle_network Created                                                                                             0.1s
 ✔ Container oracle26ai          Created                                                                                             0.6s
Attaching to oracle26ai
oracle26ai  | [2026:04:13 21:44:08]: Acquiring lock .ORCLCDB.create_lck with heartbeat 30 secs
oracle26ai  | [2026:04:13 21:44:08]: Lock acquired
oracle26ai  | [2026:04:13 21:44:08]: Starting heartbeat
oracle26ai  | [2026:04:13 21:44:08]: Lock held .ORCLCDB.create_lck
oracle26ai  | ORACLE EDITION: ENTERPRISE
oracle26ai  | Prepare for db operation
oracle26ai  | 8% complete
oracle26ai  | Copying database files
oracle26ai  | 31% complete
oracle26ai  | Creating and starting Oracle instance
oracle26ai  | 32% complete
oracle26ai  | 36% complete
oracle26ai  | 39% complete
oracle26ai  | 42% complete
oracle26ai  | 46% complete
oracle26ai  | Completing Database Creation
oracle26ai  | 51% complete
oracle26ai  | 53% complete
oracle26ai  | 54% complete
oracle26ai  | Creating Pluggable Databases
oracle26ai  | 58% complete
oracle26ai  | 77% complete
oracle26ai  | Executing Post Configuration Actions
oracle26ai  | 100% complete
oracle26ai  | Database creation complete. For details check the logfiles at:
oracle26ai  |  /opt/oracle/cfgtoollogs/dbca/ORCLCDB.
oracle26ai  | Database Information:
oracle26ai  | Global Database Name:ORCLCDB
oracle26ai  | System Identifier(SID):ORCLCDB
oracle26ai  | Look at the log file "/opt/oracle/cfgtoollogs/dbca/ORCLCDB/ORCLCDB.log" for further details.
oracle26ai  | 
oracle26ai  | SQL*Plus: Release 23.26.1.0.0 - Production on Mon Apr 13 21:56:29 2026
oracle26ai  | Version 23.26.1.0.0
oracle26ai  | 
oracle26ai  | Copyright (c) 1982, 2025, Oracle.  All rights reserved.
oracle26ai  | 
oracle26ai  | 
oracle26ai  | Connected to:
oracle26ai  | Oracle AI Database 26ai Enterprise Edition Release 23.26.1.0.0 - Production
oracle26ai  | Version 23.26.1.0.0
oracle26ai  | 
oracle26ai  | SQL> 
oracle26ai  | System altered.
oracle26ai  | 
oracle26ai  | SQL> 
oracle26ai  | Pluggable database altered.
oracle26ai  | 
oracle26ai  | SQL> 
oracle26ai  | PL/SQL procedure successfully completed.
oracle26ai  | 
oracle26ai  | SQL> SQL> 
oracle26ai  | Session altered.
oracle26ai  | 
oracle26ai  | SQL> 
oracle26ai  | User created.
oracle26ai  | 
oracle26ai  | SQL> 
oracle26ai  | Grant succeeded.
oracle26ai  | 
oracle26ai  | SQL> 
oracle26ai  | Grant succeeded.
oracle26ai  | 
oracle26ai  | SQL> 
oracle26ai  | Grant succeeded.
oracle26ai  | 
oracle26ai  | SQL> 
oracle26ai  | User altered.
oracle26ai  | 
oracle26ai  | SQL> SQL> Disconnected from Oracle AI Database 26ai Enterprise Edition Release 23.26.1.0.0 - Production
oracle26ai  | Version 23.26.1.0.0
oracle26ai  | The Oracle base remains unchanged with value /opt/oracle
oracle26ai  | 
oracle26ai  | Executing user defined scripts
oracle26ai  | /opt/oracle/runUserScripts.sh: running /opt/oracle/scripts/extensions/setup/registerService.sh
oracle26ai  | 
oracle26ai  | /opt/oracle/runUserScripts.sh: running /opt/oracle/scripts/extensions/setup/swapLocks.sh
oracle26ai  | [2026:04:13 21:56:32]: Releasing lock .ORCLCDB.create_lck
oracle26ai  | [2026:04:13 21:56:32]: Lock released .ORCLCDB.create_lck
oracle26ai  | [2026:04:13 21:56:33]: Acquiring lock .ORCLCDB.exist_lck with heartbeat 30 secs
oracle26ai  | [2026:04:13 21:56:33]: Lock acquired
oracle26ai  | [2026:04:13 21:56:33]: Starting heartbeat
oracle26ai  | [2026:04:13 21:56:33]: Lock held .ORCLCDB.exist_lck
oracle26ai  | 
oracle26ai  | DONE: Executing user defined scripts
oracle26ai  | 
oracle26ai  | The Oracle base remains unchanged with value /opt/oracle
oracle26ai  | #########################
oracle26ai  | DATABASE IS READY TO USE!
oracle26ai  | #########################
oracle26ai  | The following output is now a tail of the alert.log:
oracle26ai  | 2026-04-13T21:56:27.625327+00:00
oracle26ai  | ORCLPDB1(3):CREATE BIGFILE TABLESPACE "USERS" LOGGING  DATAFILE  SIZE 7M AUTOEXTEND ON NEXT  1280K MAXSIZE UNLIMITED  
            | EXTENT MANAGEMENT LOCAL  SEGMENT SPACE MANAGEMENT  AUTO
oracle26ai  | ORCLPDB1(3):Tablespace created: USERS ts# 6
oracle26ai  | ORCLPDB1(3):Completed: CREATE BIGFILE TABLESPACE "USERS" LOGGING  DATAFILE  SIZE 7M AUTOEXTEND ON NEXT  1280K MAXSIZE UNLIMITED  
            | EXTENT MANAGEMENT LOCAL  SEGMENT SPACE MANAGEMENT  AUTO
oracle26ai  | ORCLPDB1(3):ALTER DATABASE DEFAULT TABLESPACE "USERS"
oracle26ai  | ORCLPDB1(3):Completed: ALTER DATABASE DEFAULT TABLESPACE "USERS"
oracle26ai  | 2026-04-13T21:56:29.727203+00:00
oracle26ai  | ALTER SYSTEM SET local_listener='' SCOPE=BOTH;
oracle26ai  | ALTER PLUGGABLE DATABASE ORCLPDB1 SAVE STATE
oracle26ai  | Completed: ALTER PLUGGABLE DATABASE ORCLPDB1 SAVE STATE
oracle26ai  | 2026-04-13T22:00:03.050352+00:00
oracle26ai  | Begin automatic SQL Tuning Advisor run for special tuning task "SYS_AUTO_SQL_TUNING_TASK".
oracle26ai  | End automatic SQL Tuning Advisor run for special tuning task "SYS_AUTO_SQL_TUNING_TASK".
oracle26ai  | 2026-04-13T22:00:24.673304+00:00
oracle26ai  | Resize operation completed for file# 11, fname /opt/oracle/oradata/ORCLCDB/datafile/o1_mf_undotbs1_nxts1lg8_.dbf, 
            | old size 35840K, new size 40960K
oracle26ai  | 2026-04-13T22:00:39.598405+00:00
oracle26ai  | Resize operation completed for file# 11, fname /opt/oracle/oradata/ORCLCDB/datafile/o1_mf_undotbs1_nxts1lg8_.dbf, 
            | old size 40960K, new size 46080K
oracle26ai  | 2026-04-13T22:00:54.238596+00:00
oracle26ai  | Thread 1 cannot allocate new log, sequence 2
oracle26ai  | Private strand flush not complete
oracle26ai  |   Current log# 1 seq# 1 mem# 0: /opt/oracle/oradata/ORCLCDB/onlinelog/o1_mf_1_nxts552l_.log
oracle26ai  | 2026-04-13T22:00:57.408993+00:00
oracle26ai  | Thread 1 advanced to log sequence 2 (LGWR switch),  current SCN: 2082569
oracle26ai  |   Current log# 2 seq# 2 mem# 0: /opt/oracle/oradata/ORCLCDB/onlinelog/o1_mf_2_nxts5537_.log
oracle26ai  | 2026-04-13T22:01:01.855463+00:00
oracle26ai  | ARC2 (PID:4504): Archived Log entry 1 added for B-1230500902.T-1.S-1 LOS:0x00000000001f4ebf NXS:0x00000000001fc709 
            | NAB:383959 ID 0xb2e81da3 LAD:1 [krse.c:4883]
oracle26ai  | 2026-04-13T22:01:20.561245+00:00
oracle26ai  | Resize operation completed for file# 11, fname /opt/oracle/oradata/ORCLCDB/datafile/o1_mf_undotbs1_nxts1lg8_.dbf, 
            | old size 46080K, new size 51200K
oracle26ai  | 2026-04-13T22:01:54.190396+00:00
oracle26ai  | Resize operation completed for file# 11, fname /opt/oracle/oradata/ORCLCDB/datafile/o1_mf_undotbs1_nxts1lg8_.dbf, 
            | old size 51200K, new size 56320K
oracle26ai  | 2026-04-13T22:02:26.506417+00:00
oracle26ai  | Resize operation completed for file# 11, fname /opt/oracle/oradata/ORCLCDB/datafile/o1_mf_undotbs1_nxts1lg8_.dbf, 
            | old size 56320K, new size 61440K
oracle26ai  | 2026-04-13T22:05:54.948110+00:00
oracle26ai  | Resize operation completed for file# 3, fname /opt/oracle/oradata/ORCLCDB/datafile/o1_mf_sysaux_nxts36dx_.dbf, 
            | old size 696320K, new size 706560K
oracle26ai  | 2026-04-13T22:05:55.308726+00:00
oracle26ai  | ORCLPDB1(3):Resize operation completed for file# 13, fname 
            | /opt/oracle/oradata/ORCLCDB/4F5F8C38583111CEE063020012AC6CF3/datafile/o1_mf_sysaux_nxtsmgp7_.dbf, old size 409600K, new size 419840K
oracle26ai  | 2026-04-13T22:10:54.696895+00:00
oracle26ai  | TABLE SYS.ACTIVITY_TABLE$: ADDED INTERVAL PARTITION SYS_P329 (1) VALUES LESS THAN (106)
oracle26ai  | 2026-04-13T22:55:57.791875+00:00
oracle26ai  | ORCLPDB1(3):TABLE SYS.ACTIVITY_TABLE$: ADDED INTERVAL PARTITION SYS_P288 (1) VALUES LESS THAN (106)
oracle26ai  | 2026-04-13T23:05:58.935353+00:00
oracle26ai  | Resize operation completed for file# 3, fname /opt/oracle/oradata/ORCLCDB/datafile/o1_mf_sysaux_nxts36dx_.dbf, 
            | old size 706560K, new size 716800K
oracle26ai  | 2026-04-13T23:05:58.935358+00:00
oracle26ai  | ORCLPDB1(3):Resize operation completed for file# 13, fname 
            | /opt/oracle/oradata/ORCLCDB/4F5F8C38583111CEE063020012AC6CF3/datafile/o1_mf_sysaux_nxtsmgp7_.dbf, old size 419840K, new size 440320K
oracle26ai  | 2026-04-14T00:05:53.930816+00:00
oracle26ai  | --ATTENTION--
oracle26ai  | Heavy swapping observed on system
oracle26ai  | WARNING: Heavy swapping observed on system in last 5 mins.
oracle26ai  | Heavy swapping can lead to timeouts, poor performance, and instance eviction.
oracle26ai  | 2026-04-14T01:06:07.170470+00:00
oracle26ai  | Resize operation completed for file# 3, fname /opt/oracle/oradata/ORCLCDB/datafile/o1_mf_sysaux_nxts36dx_.dbf, old size 716800K, new size 727040K
oracle26ai  | 2026-04-14T02:06:10.991247+00:00
oracle26ai  | ORCLPDB1(3):Resize operation completed for file# 13, fname 
            | /opt/oracle/oradata/ORCLCDB/4F5F8C38583111CEE063020012AC6CF3/datafile/o1_mf_sysaux_nxtsmgp7_.dbf, old size 440320K, new size 450560K

oracle@compaq8100:~$ docker compose ps --all
NAME       IMAGE                          COMMAND                SERVICE    CREATED     STATUS                PORTS
oracle26ai container-registry.oracle.com/ "/bin/sh -c 'exec $O…" oracle26ai 1 hours ago Up 1 hours (healthy)  0.0.0.0:1521->1521/tcp, [::]:1521->1521/tcp,
           database/enterprise:latest                                                                         0.0.0.0:5500->5500/tcp, [::]:5500->5500/tcp

oracle@compaq8100:~$ sudo lsof -P -i TCP:1521,5500
COMMAND      PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
docker-pr 163874 root    8u  IPv4 620582      0t0  TCP *:1521 (LISTEN)
docker-pr 163881 root    8u  IPv6 620583      0t0  TCP *:1521 (LISTEN)
docker-pr 163896 root    8u  IPv4 618913      0t0  TCP *:5500 (LISTEN)
docker-pr 163902 root    8u  IPv6 618914      0t0  TCP *:5500 (LISTEN)

oracle@compaq8100:~$ sudo du -sh ${HOME}/oradata
4.4G    /home/oracle/oradata

oracle@compaq8100:~$ sudo tree oradata
oradata
├── dbconfig
│   └── ORCLCDB
│       ├── dbs
│       │   ├── c-3001562275-20260413-00
│       │   ├── c-3001562275-20260414-00
│       │   ├── hc_ORCLCDB.dat
│       │   ├── init.ora
│       │   ├── lkORCLCDB
│       │   ├── orapwORCLCDB
│       │   ├── snapcf_ORCLCDB.f
│       │   └── spfileORCLCDB.ora
│       ├── listener.ora
│       ├── oratab
│       ├── sqlnet.ora
│       └── tnsnames.ora
└── ORCLCDB
    ├── 48945B67D122C623E063399B5E6478E6
    │   └── datafile
    │       ├── o1_mf_sysaux_nxts3zp6_.dbf
    │       ├── o1_mf_system_nxts2q35_.dbf
    │       ├── o1_mf_temp_nxts5lqg_.tmp
    │       └── o1_mf_undotbs1_nxts4j4y_.dbf
    ├── 4F5F8C38583111CEE063020012AC6CF3
    │   └── datafile
    │       ├── o1_mf_sysaux_nxtsmgp7_.dbf
    │       ├── o1_mf_system_nxtsmgop_.dbf
    │       ├── o1_mf_temp_nxtsn8x9_.tmp
    │       ├── o1_mf_undotbs1_nxtsmgp8_.dbf
    │       └── o1_mf_users_nxtsncmp_.dbf
    ├── archive_logs
    │   ├── 1_1_1230500902.dbf
    ├── controlfile
    │   └── o1_mf_nxts53nf_.ctl
    ├── datafile
    │   ├── o1_mf_sysaux_nxts36dx_.dbf
    │   ├── o1_mf_system_nxts1mq8_.dbf
    │   ├── o1_mf_temp_nxts5jy1_.tmp
    │   ├── o1_mf_undotbs1_nxts1lg8_.dbf
    │   └── o1_mf_users_nxts4gw6_.dbf
    └── onlinelog
        ├── o1_mf_1_nxts552l_.log
        ├── o1_mf_2_nxts5537_.log
        └── o1_mf_3_nxts553v_.log
15 directories, 37 files
  

Access the database:


oracle@compaq8100:~$ sqlplus sys/P#ssw0rd@//localhost/ORCLCDB AS SYSDBA
SQL*Plus: Release 23.26.1.0.0 - Production on Mon Apr 13 22:53:57 2026
Version 23.26.1.0.0
Copyright (c) 1982, 2025, Oracle.  All rights reserved.
Connected to:
Oracle AI Database 26ai Enterprise Edition Release 23.26.1.0.0 - Production
Version 23.26.1.0.0

SQL> SET LINESIZE 200;
SQL> COLUMN banner FORMAT A80
SQL> SELECT banner FROM v$version;
BANNER
--------------------------------------------------------------------------------
Oracle AI Database 26ai Enterprise Edition Release 23.26.1.0.0 - Production

SQL> SELECT name, cdb, database_role, open_mode, log_mode, force_logging FROM v$database;
NAME      CDB DATABASE_ROLE    OPEN_MODE            LOG_MODE     FORCE_LOGGING
--------- --- ---------------- -------------------- ------------ ---------------------------------------
ORCLCDB   YES PRIMARY          READ WRITE           ARCHIVELOG   NO

SQL> ALTER DATABASE FORCE LOGGING;
Database altered.

SQL> SELECT force_logging FROM v$database;
FORCE_LOGGING
---------------------------------------
YES

SQL> COLUMN name FORMAT A70;
SQL> SELECT sequence#, thread#, first_time, next_time, name FROM v$archived_log ORDER BY first_time;
 SEQUENCE#    THREAD# FIRST_TIM NEXT_TIME NAME
---------- ---------- --------- --------- ----------------------------------------------------------------------
         1          1 13-APR-26 13-APR-26 /opt/oracle/oradata/ORCLCDB/archive_logs/1_1_1230500902.dbf

SQL> ALTER SYSTEM ARCHIVE LOG CURRENT;
System altered.

SQL> SELECT sequence#, thread#, first_time, next_time, name FROM v$archived_log ORDER BY first_time;
 SEQUENCE#    THREAD# FIRST_TIM NEXT_TIME NAME
---------- ---------- --------- --------- ----------------------------------------------------------------------
         1          1 13-APR-26 13-APR-26 /opt/oracle/oradata/ORCLCDB/archive_logs/1_1_1230500902.dbf
         2          1 13-APR-26 14-APR-26 /opt/oracle/oradata/ORCLCDB/archive_logs/1_2_1230500902.dbf

SQL> ARCHIVE LOG LIST;
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            /opt/oracle/oradata/ORCLCDB/archive_logs
Oldest online log sequence     3
Next log sequence to archive   2
Current log sequence           1

SQL> SHOW con_name;
CON_NAME
------------------------------
CDB$ROOT
SQL> SHOW con_id;
CON_ID
------------------------------
1
SQL> SHOW PDBS;
    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 ORCLPDB1                       READ WRITE NO

SQL> COLUMN TABLESPACE_NAME FORMAT A20
SQL> COLUMN FILE_NAME FORMAT A100

SQL> SELECT file_id, tablespace_name, file_name, bytes/1024/1024 AS size_mb FROM cdb_data_files
     WHERE con_id=(SELECT con_id FROM v$pdbs WHERE name='PDB$SEED') ORDER BY file_id;
no rows selected                                                                                             ---pdb$seed is just a template

SQL> SELECT file_id, tablespace_name, file_name, bytes/1024/1024 AS size_mb FROM cdb_data_files 
     WHERE con_id=(SELECT con_id FROM v$pdbs WHERE name='ORCLPDB1') ORDER BY file_id;
   FILE_ID TABLESPACE_NAME      FILE_NAME                                                                                               SIZE_MB
---------- -------------------- ---------------------------------------------------------------------------------------------------- ----------
        12 SYSTEM               /opt/oracle/oradata/ORCLCDB/4F5F8C38583111CEE063020012AC6CF3/datafile/o1_mf_system_nxtsmgop_.dbf            350
        13 SYSAUX               /opt/oracle/oradata/ORCLCDB/4F5F8C38583111CEE063020012AC6CF3/datafile/o1_mf_sysaux_nxtsmgp7_.dbf            440
        14 UNDOTBS1             /opt/oracle/oradata/ORCLCDB/4F5F8C38583111CEE063020012AC6CF3/datafile/o1_mf_undotbs1_nxtsmgp8_.dbf          100
        15 USERS                /opt/oracle/oradata/ORCLCDB/4F5F8C38583111CEE063020012AC6CF3/datafile/o1_mf_users_nxtsncmp_.dbf               7

SQL> SELECT tablespace_name, used_space, tablespace_size, used_percent FROM sys.dba_tablespace_usage_metrics ORDER BY 4;
TABLESPACE_NAME                USED_SPACE TABLESPACE_SIZE USED_PERCENT
------------------------------ ---------- --------------- ------------
TEMP                                    0         4194302            0
UNDOTBS1                             4128      4294967293   .000096112
USERS                                 776        10803727   .007182706
SYSAUX                              86000        10893711   .789446314
SYSTEM                             141528        10944911   1.29309411
  

Create a new pluggable database:


#
# it is easier to clone a new pluggable database from the sample ORCLPDB1:
#
SQL> ALTER PLUGGABLE DATABASE ORCLPDB1 CLOSE IMMEDIATE;     
Pluggable database altered.
SQL> ALTER PLUGGABLE DATABASE ORCLPDB1 OPEN READ ONLY;
Pluggable database altered.

SQL> SHOW PDBS;
    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 ORCLPDB1                       MOUNTED

SQL> CREATE PLUGGABLE DATABASE SCOTT FROM ORCLPDB1;                                                          ---put the source ORCLPDB1 in READONLY
Pluggable database created.

SQL> SELECT con_id, name, open_mode FROM v$pdbs WHERE name='SCOTT';
    CON_ID NAME                                                                   OPEN_MODE
---------- ---------------------------------------------------------------------- ----------
         4 SCOTT                                                                  MOUNTED  

SQL> ALTER PLUGGABLE DATABASE SCOTT OPEN;
Pluggable database altered.

SQL> SELECT con_id, name, open_mode FROM v$pdbs WHERE name='SCOTT';
    CON_ID NAME                                                                   OPEN_MODE
---------- ---------------------------------------------------------------------- ----------
         4 SCOTT                                                                  READ WRITE

SQL> ALTER PLUGGABLE DATABASE SCOTT SAVE STATE;                                                              ---if don’t save the state: the PDB will come up MOUNTED after a restart
Pluggable database altered.

SQL> COLUMN PDB_NAME FORMAT A10;
SQL> SELECT p.name AS pdb_name, t.tablespace_name, t.contents, t.status FROM cdb_tablespaces t JOIN v$pdbs p ON t.con_id=p.con_id 
     WHERE p.name='SCOTT' ORDER BY p.name, t.tablespace_name;
PDB_NAME   TABLESPACE_NAME      CONTENTS              STATUS
---------- -------------------- --------------------- ---------
SCOTT      SYSAUX               PERMANENT             ONLINE
SCOTT      SYSTEM               PERMANENT             ONLINE
SCOTT      TEMP                 TEMPORARY             ONLINE
SCOTT      UNDOTBS1             UNDO                  ONLINE
SCOTT      USERS                PERMANENT             ONLINE

SQL> SELECT file_id, tablespace_name, file_name, bytes/1024/1024 AS size_mb FROM cdb_data_files
     WHERE con_id=(SELECT con_id FROM v$pdbs WHERE name='SCOTT') ORDER BY file_id;
   FILE_ID TABLESPACE_NAME      FILE_NAME                                                                                               SIZE_MB
---------- -------------------- ---------------------------------------------------------------------------------------------------- ----------
        16 SYSTEM               /opt/oracle/oradata/ORCLCDB/4F642D88ED165164E063020012AC33E3/datafile/o1_mf_system_nxvf0y0h_.dbf            350
        17 SYSAUX               /opt/oracle/oradata/ORCLCDB/4F642D88ED165164E063020012AC33E3/datafile/o1_mf_sysaux_nxvf0y12_.dbf            440
        18 UNDOTBS1             /opt/oracle/oradata/ORCLCDB/4F642D88ED165164E063020012AC33E3/datafile/o1_mf_undotbs1_nxvf0y13_.dbf          100
        19 USERS                /opt/oracle/oradata/ORCLCDB/4F642D88ED165164E063020012AC33E3/datafile/o1_mf_users_nxvf0y16_.dbf               7

SQL> SELECT con_id, file_id, file_name, tablespace_name, bytes/1024/1024 AS size_mb FROM cdb_temp_files WHERE con_id=(SELECT con_id FROM v$pdbs WHERE name='SCOTT');
    CON_ID    FILE_ID FILE_NAME                                                                                            TABLESPACE_NAME         SIZE_MB
---------- ---------- ---------------------------------------------------------------------------------------------------- -------------------- ----------
         4          5 /opt/oracle/oradata/ORCLCDB/4F642D88ED165164E063020012AC33E3/datafile/o1_mf_temp_nxvf0y15_.dbf       TEMP                         20

SQL> SELECT con_id, tablespace_name, file_name, bytes / 1024 / 1024 AS size_mb, autoextensible, maxbytes / 1024 / 1024 AS max_size_mb
     FROM cdb_data_files WHERE con_id = (SELECT con_id FROM v$pdbs WHERE name = 'SCOTT') AND tablespace_name='USERS';
    CON_ID TABLESPACE_NAME      FILE_NAME                                                                                               SIZE_MB AUT MAX_SIZE_MB
---------- -------------------- ---------------------------------------------------------------------------------------------------- ---------- --- -----------
         4 USERS                /opt/oracle/oradata/ORCLCDB/4F642D88ED165164E063020012AC33E3/datafile/o1_mf_users_nxvf0y16_.dbf               7 YES    33554432

#
# SCOTT.USERS table is autoextensible, but we increase its databafile nevertheless:
#
SQL> ALTER SESSION SET CONTAINER=SCOTT;
Session altered.

SQL> ALTER DATABASE DATAFILE '/opt/oracle/oradata/ORCLCDB/4F642D88ED165164E063020012AC33E3/datafile/o1_mf_users_nxvf0y16_.dbf' RESIZE 256M;
Database altered.
SQL> SELECT con_id, tablespace_name, file_name, bytes / 1024 / 1024 AS size_mb, autoextensible, maxbytes / 1024 / 1024 AS max_size_mb
     FROM cdb_data_files WHERE con_id = (SELECT con_id FROM v$pdbs WHERE name = 'SCOTT') AND tablespace_name='USERS';
    CON_ID TABLESPACE_NAME      FILE_NAME                                                                                               SIZE_MB AUT MAX_SIZE_MB
---------- -------------------- ---------------------------------------------------------------------------------------------------- ---------- --- -----------
         4 USERS                /opt/oracle/oradata/ORCLCDB/4F642D88ED165164E063020012AC33E3/datafile/o1_mf_users_nxvf0y16_.dbf             256 YES    33554432

SQL> exit
Disconnected from Oracle AI Database 26ai Enterprise Edition Release 23.26.1.0.0 - Production
Version 23.26.1.0.0
  

Create a new user “kmaau” to access the SCOTT database:


oracle@compaq8100:~$ sqlplus system/P#ssw0rd@//localhost/SCOTT
SQL*Plus: Release 23.26.1.0.0 - Production on Mon Apr 13 23:44:49 2026
Version 23.26.1.0.0
Copyright (c) 1982, 2025, Oracle.  All rights reserved.
Last Successful login time: Mon Apr 13 2026 17:54:01 -04:00
Connected to:
Oracle AI Database 26ai Enterprise Edition Release 23.26.1.0.0 - Production
Version 23.26.1.0.0

SQL> CREATE USER kmaau IDENTIFIED BY p#ssw0rd DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP;
User created.

SQL> ALTER USER kmaau QUOTA UNLIMITED ON USERS;
User altered.

SQL> GRANT CONNECT, RESOURCE TO kmaau;
Grant succeeded.

SQL> COLUMN username FORMAT A20;
SQL> SELECT username, tablespace_name, bytes / 1024 / 1024 AS used_mb, max_bytes / 1024 / 1024 AS quota_mb FROM dba_ts_quotas WHERE username = 'KMAAU';
USERNAME             TABLESPACE_NAME         USED_MB   QUOTA_MB
-------------------- -------------------- ---------- ----------
KMAAU                USERS                         0 -9.537E-07                                              ---Quota_MB = negative indicates unlimited quota

SQL> exit
Disconnected from Oracle AI Database 26ai Enterprise Edition Release 23.26.1.0.0 - Production
Version 23.26.1.0.0
  

Load sample data: Refers: https://github.com/gvenzl/sample-data.git


oracle@compaq8100:~$ cd ${HOME}
oracle@compaq8100:~$ git clone https://github.com/gvenzl/sample-data.git
Cloning into 'sample-data'...
remote: Enumerating objects: 92, done.
remote: Counting objects: 100% (33/33), done.
remote: Compressing objects: 100% (20/20), done.
remote: Total 92 (delta 17), reused 13 (delta 13), pack-reused 59 (from 2)
Receiving objects: 100% (92/92), 37.35 MiB | 9.32 MiB/s, done.
Resolving deltas: 100% (36/36), done.

oracle@compaq8100:~$ ls -ld ${HOME}/sample-data
drwxr-xr-x 7 oracle oinstall 4096 Apr 14 00:52 /home/oracle/sample-data
oracle@compaq8100:~$ ls -l ${HOME}/sample-data
drwxr-xr-x 2 oracle oinstall  4096 Apr 14 00:52 countries-cities-currencies
drwxr-xr-x 2 oracle oinstall  4096 Apr 14 00:52 departments-and-employees
-rw-r--r-- 1 oracle oinstall 13698 Apr 14 00:52 LICENSE
drwxr-xr-x 3 oracle oinstall  4096 Apr 14 00:52 national-parks
-rw-r--r-- 1 oracle oinstall  1326 Apr 14 00:52 README.md
drwxr-xr-x 2 oracle oinstall  4096 Apr 14 00:52 solar-system

oracle@compaq8100:~$ cd ${HOME}/sample-data/countries-cities-currencies
oracle@compaq8100:~/sample-data/countries-cities-currencies$ ls -l
-rw-r--r-- 1 oracle oinstall  10465 Apr 14 00:52 cities.csv
-rw-r--r-- 1 oracle oinstall  15326 Apr 14 00:52 countries.csv
-rw-r--r-- 1 oracle oinstall   1647 Apr 14 00:52 currencies_countries.csv
-rw-r--r-- 1 oracle oinstall   3234 Apr 14 00:52 currencies.csv
-rw-r--r-- 1 oracle oinstall 118616 Apr 14 00:52 install.sql
-rw-r--r-- 1 oracle oinstall  12040 Apr 14 00:52 README.md
-rw-r--r-- 1 oracle oinstall    102 Apr 14 00:52 regions.csv
-rw-r--r-- 1 oracle oinstall    580 Apr 14 00:52 uninstall.sql

oracle@compaq8100:~/sample-data/countries-cities-currencies$ sqlplus kmaau/p#ssw0rd@//localhost:1521/SCOTT
SQL*Plus: Release 23.26.1.0.0 - Production on Tue Apr 14 00:55:54 2026
Version 23.26.1.0.0
Copyright (c) 1982, 2025, Oracle.  All rights reserved.
Connected to:
Oracle AI Database 26ai Enterprise Edition Release 23.26.1.0.0 - Production
Version 23.26.1.0.0

SQL> @install.sql;
Table created.
Table created.
::
::
::
::
1 row created.
1 row created.
Commit complete.

Verification
-------------
Verification:
Table                  provided     actual
-------------------- ---------- ----------
regions                       7          7
countries                   196        196
cities                      204        204
currencies                  146        146
currencies_countries        203        203
Thank you!
--------------------------------------------------------------------------------
The installation is finished, please check the verification output above!
If the 'provided' and 'actual' row counts match, the installation was successful
.
If the row counts do not match, please check the above output for error messages
.

SQL> SELECT * FROM regions;
RE NAME
-- -------------
AF Africa
AN Antarctica
AS Asia
EU Europe
NA North America
OC Oceania
SA South America
7 rows selected.

SQL> exit
Disconnected from Oracle AI Database 26ai Enterprise Edition Release 23.26.1.0.0 - Production
Version 23.26.1.0.0
  

Shutdown gracefully:


oracle@compaq8100:~/sample-data/countries-cities-currencies$ cd ${HOME}
oracle@compaq8100:~$ sqlplus sys/P#ssw0rd@//localhost:1521/ORCLCDB AS SYSDBA
SQL*Plus: Release 23.26.1.0.0 - Production on Tue Apr 14 01:02:11 2026
Version 23.26.1.0.0
Copyright (c) 1982, 2025, Oracle.  All rights reserved.
Connected to:
Oracle AI Database 26ai Enterprise Edition Release 23.26.1.0.0 - Production
Version 23.26.1.0.0

SQL> SHOW PDBS;
    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 ORCLPDB1                       READ ONLY  NO
         4 SCOTT                          READ WRITE NO

SQL> SHUTDOWN IMMEDIATE;
Database closed.
Database dismounted.
ORACLE instance shut down.
ERROR:
ORA-12514: Cannot connect to database. Service ORCLCDB is not registered with                                ---this is OK
the listener at host 127.0.0.1 port 1521.
(CONNECTION_ID=T2WAhjbwTyzgYwEBAH94mQ==)
Help: https://docs.oracle.com/error-help/db/ora-12514/
Warning: You are no longer connected to ORACLE.

SQL> exit

oracle@compaq8100:~$ docker compose logs
::
::
::
oracle26ai  | Shutting down ORACLE instance (immediate) (OS id: 27671)
oracle26ai  | Shutdown is initiated by sqlplus@compaq8100 (TNS V1-V3).
oracle26ai  | Stopping background process SMCO.
oracle26ai  | 2026-04-14T05:03:39.455695+00:00
oracle26ai  | Shutting down instance: further logons disabled
oracle26ai  | 2026-04-14T05:04:08.127311+00:00
oracle26ai  | Stopping background process CJQ0
oracle26ai  | 2026-04-14T05:04:09.008448+00:00
oracle26ai  | Process termination requested for pid 4822 (Q003) [source = rdbms], [info = 2] [request issued by pid: 4816, uid: 54321]
oracle26ai  | 2026-04-14T05:04:10.145880+00:00
oracle26ai  | Stopping background process MMNL.
oracle26ai  | 2026-04-14T05:04:17.174244+00:00
oracle26ai  | Stopping background process MMON.
oracle26ai  | 2026-04-14T05:04:19.258085+00:00
oracle26ai  | alter pluggable database all close immediate
oracle26ai  | 2026-04-14T05:04:19.461518+00:00
oracle26ai  | ORCLPDB1(3):JIT: pid 4516 requesting stop
oracle26ai  | 2026-04-14T05:04:19.464854+00:00
oracle26ai  | ORCLPDB1(3):Stopped service orclpdb1
oracle26ai  | 2026-04-14T05:04:19.496097+00:00
oracle26ai  | SCOTT(4):JIT: pid 4518 requesting stop
oracle26ai  | 2026-04-14T05:04:19.509962+00:00
oracle26ai  | SCOTT(4):Stopped service scott
oracle26ai  | Buffer Cache flush started: 3-4
oracle26ai  | 2026-04-14T05:04:20.811799+00:00
oracle26ai  | Buffer Cache flush finished: 3-4
oracle26ai  | 2026-04-14T05:04:20.857354+00:00
oracle26ai  | Completed: Pluggable database ORCLPDB1 closed services=None
oracle26ai  | 2026-04-14T05:04:21.443671+00:00
oracle26ai  | Completed: Pluggable database SCOTT closed services=None
oracle26ai  | Completed: alter pluggable database all close immediate
oracle26ai  | 2026-04-14T05:04:21.669159+00:00
oracle26ai  | PDB$SEED(2):JIT: pid 27671 requesting stop
oracle26ai  | License high water mark = 21
oracle26ai  | 2026-04-14T05:04:23.165508+00:00
oracle26ai  | Waiting for dispatcher 'D000' to shutdown
oracle26ai  | 2026-04-14T05:04:26.166831+00:00
oracle26ai  | 
oracle26ai  | Data Pump shutdown in progress
oracle26ai  | ALTER DATABASE CLOSE NORMAL
oracle26ai  | alter pluggable database all close immediate
oracle26ai  | Completed: alter pluggable database all close immediate
oracle26ai  | alter pluggable database all close immediate
oracle26ai  | Completed: alter pluggable database all close immediate
oracle26ai  | Stopping change tracking
oracle26ai  | 2026-04-14T05:04:28.626345+00:00
oracle26ai  | Thread 1 closed at log sequence 3
oracle26ai  | Successful close of redo thread 1
oracle26ai  | 2026-04-14T05:04:30.116868+00:00
oracle26ai  | Completed: ALTER DATABASE CLOSE NORMAL
oracle26ai  | ALTER DATABASE DISMOUNT
oracle26ai  | Completed: ALTER DATABASE DISMOUNT
oracle26ai  | 2026-04-14T05:04:31.108264+00:00
oracle26ai  | JIT: pid 27671 requesting stop
oracle26ai  | 2026-04-14T05:04:45.946482+00:00
oracle26ai  | JIT: pid 27671 requesting stop
oracle26ai  | SHUTDOWN: waiting for detached processes 'PXMN' to terminate.
oracle26ai  | 2026-04-14T05:04:53.461743+00:00
oracle26ai  | Instance shutdown complete (OS id: 27671)

oracle@compaq8100:~$ docker compose ps --all
NAME         IMAGE                                                      COMMAND                  SERVICE      CREATED       STATUS                       PORTS
oracle26ai   container-registry.oracle.com/database/enterprise:latest   "/bin/sh -c 'exec $O…"   oracle26ai   7 hours ago   Exited (137) 7 minutes ago