Skip to main content

Migrate Data from Oracle 12c to 18c XE

Docker Compose

services:
  oracle-db-18c:
    image: gvenzl/oracle-xe:18.4.0-full
    ports:
      - "1523:1521"   # Oracle Database listener port
      - "5503:5500"   # Oracle Enterprise Manager Express port
    environment:
      - ORACLE_PASSWORD=oracle  # Set initial SYS and SYSTEM password
    volumes:
      - oracle-data-18c:/opt/oracle/oradata  # Persist Oracle XE database files
      - oracle-dump-18c:/opt/oracle/admin/XE/dpdump  # Persist Oracle XE dump files
    networks:
      - app-network-18c

volumes:
  oracle-data-18c:
  oracle-dump-18c:

networks:
  app-network-18c:
    driver: bridge

Create Table Space

CREATE BIGFILE TABLESPACE JTCCM 
    DATAFILE 
        'DB01' SIZE 104857600 REUSE AUTOEXTEND ON NEXT 104857600 MAXSIZE UNLIMITED 
    BLOCKSIZE 8192 
    ONLINE 
    SEGMENT SPACE MANAGEMENT AUTO 
    EXTENT MANAGEMENT LOCAL AUTOALLOCATE;

Create User

ALTER SESSION SET CONTAINER=XEPDB1;
CREATE USER DB01 IDENTIFIED BY DB01 QUOTA UNLIMITED ON DB01;
GRANT CONNECT, RESOURCE TO DB01;

Copy Dump File to Container

docker cp BACKUP_ISO_xe11g.DMP 776c1be28c4d:/u01/app/oracle/admin/XE/dpdump/

Import Dump File

impdp system/oracle@localhost:1523/XEPDB1 dumpfile=BACKUP.DMP logfile=BACKUP.LOG REMAP_SCHEMA=DB_SRC:DB_DST