Uso de la imagen de contenedor gratuito de Oracle Autonomous Database

Utilice la imagen de contenedor gratuito de Oracle Autonomous Database para ejecutar Autonomous Database en un contenedor de su propio entorno, sin necesidad de acceder a la consola de Oracle Cloud Infrastructure o a Internet.

Acerca de la imagen de contenedor gratuito de Autonomous Database

Puede acceder a la imagen de contenedor gratuita de Oracle Autonomous Database desde un repositorio y ejecutarla en su entorno local.

Autonomous Database proporciona una instancia de Oracle Database totalmente gestionada que está disponible en Oracle Cloud Infrastructure. En Oracle Cloud Infrastructure, realice operaciones de gestión del ciclo de vida y ejecute Autonomous Database mediante la consola de Oracle Cloud Infrastructure y se conecte a la base de datos a través de la red pública de Internet o a través de una red privada que haya configurado (en función de las necesidades de configuración y seguridad de la red).

Nota

Autonomous Database soporta las versiones 19c de Oracle Autonomous Database Free Container Image y 23ai de Oracle Autonomous Database Free Container Image.

La imagen de contenedor gratuito de Oracle Autonomous Database proporciona una alternativa para ejecutar Autonomous Database en un contenedor de su propio entorno, sin necesidad de acceder a la consola de Oracle Cloud Infrastructure o a Internet. Al ejecutar Autonomous Database en un contenedor, este proporciona un entorno local y aislado con opciones adicionales para el desarrollo, la prueba y la exploración de funciones de Oracle Autonomous Database.

Licencia de imagen de contenedor gratuita de Oracle Autonomous Database

Describe las licencias para la imagen de contenedor gratuita de Oracle Autonomous Database.

La imagen de contenedor gratuita de Oracle Autonomous Database está sujeta a licencias.

Este documento de información de licencia está específicamente destinado a Oracle Database en Imagen de contenedor gratuita de Oracle Autonomous Database. Este documento forma parte de la documentación del producto o del programa bajo las condiciones del acuerdo de licencia de Oracle y tiene el objetivo de ayudarle a comprender las ediciones del programa, los derechos, las restricciones, los requisitos, los derechos de licencia especiales y/o las condiciones de tecnología de terceros con licencia independiente asociadas a los programas de software de Oracle que se tratan en este documento (los "Programas"). La información de otras ediciones de Oracle Database (como Enterprise Edition) se agregará a este documento una vez que se publiquen. Los productos o los componentes de uso autorizado o restringido que se identifican en este documento y no se proporcionan con un Programa concreto se pueden obtener del sitio web de Oracle Software Delivery Cloud (https://edelivery.oracle.com) o de los medios que Oracle pueda proporcionar. Si tiene alguna pregunta relacionada con sus derechos y obligaciones de licencia, póngase en contacto con su representante de ventas de Oracle, revise la información que se proporciona en Software Investment Guide de Oracle (http://www.oracle.com/us/corporate/pricing/software-investment-guide/index.html) y/o póngase en contacto con el representante de los servicios de gestión de licencias de Oracle que le corresponda de la lista http://www.oracle.com/us/corporate/license-management-services/index.html.

Consulte Manual de usuario de información sobre licencias de base de datos para obtener más información.

Funciones de la imagen de contenedor gratuita de Oracle Autonomous Database

La imagen de contenedor gratuito de Oracle Autonomous Database proporciona muchas de las funciones disponibles con Autonomous Database sin servidor.

  • Cada imagen de contenedor gratis de Autonomous Database proporciona dos instancias de Autonomous Database, una instancia con tipo de carga de trabajo de almacén de datos y una instancia con tipo de carga de trabajo de procesamiento de transacciones.

  • La base de datos se iniciará con el tipo de carga de trabajo de procesamiento de transacciones o con el tipo de carga de trabajo de almacén de datos según el tipo de carga de trabajo que especifique durante el inicio.

  • Puede realizar operaciones de base de datos mediante la utilidad de línea de comandos adb-cli.

  • La asignación de recursos de Imagen de contenedor gratis de Autonomous Database es de 4 ECPU y 20 GB de almacenamiento, y permite un máximo de 30 sesiones de base de datos simultáneas.

  • Cada imagen de contenedor gratuita de Autonomous Database soporta los grupos de consumidores de Autonomous Database:

    • Carga de trabajo del almacén de datos: se conecta a través de servicios ALTO, MEDIO o BAJO

    • Carga de trabajo de procesamiento de transacciones: se conecta a través de los servicios HIGH, MEDIUM, LOW, TP o TPURGENT

    Consulte Acerca de los tipos de carga de trabajo de Autonomous Database para obtener más información.

  • La imagen de contenedor gratuito de Autonomous Database proporciona soporte para las siguientes herramientas de base de datos incorporadas:

    • Database Actions

    • Oracle REST Data Services (ORDS)

    • Oracle APEX

    • API de Oracle Database para MongoDB

Recomendaciones y restricciones de la imagen de contenedor gratis de Oracle Autonomous Database

Describe los requisitos y restricciones de la imagen de contenedor gratuita de Autonomous Database.

Recomendaciones para la asignación de recursos para la imagen de contenedor libre de Autonomous Database

A continuación se muestra la asignación de recursos recomendada para la imagen de contenedor gratuito de Autonomous Database:

  • 4 CPU

  • 8 GB de memoria

Restricciones para la imagen de contenedor gratis de Autonomous Database

  • No hay ventanas automáticas de aplicación de parches o mantenimiento para la imagen de contenedor libre de Autonomous Database. El repositorio proporciona la última versión de la imagen de contenedor gratuito de Autonomous Database. Compruebe el repositorio para buscar versiones más recientes de la imagen de contenedor gratuita de Autonomous Database.

  • Las siguientes herramientas incorporadas de Autonomous Database no están soportadas:

    • grafo
    • Oracle Machine Learning
    • Transformaciones de datos
  • Cuando Autonomous Database se ejecuta en un contenedor, este proporciona una instancia de Autonomous Database local. La imagen de contenedor no incluye las funciones que solo están disponibles a través de la consola de Oracle Cloud Infrastructure o las API. Algunas funciones que están disponibles en la base de datos y también disponibles a través de la consola de Oracle Cloud Infrastructure se pueden seguir utilizando mediante comandos en la base de datos, como el restablecimiento de la contraseña ADMIN. A continuación, se muestran algunas de las funciones que no están disponibles:

    Función Disponible o no disponible
    Copia de Seguridad de una Instancia No Disponible
    Seleccionar Juego de Caracteres No Disponible
    clonar una instancia No Disponible
    Creación de un pool flexible No Disponible
    Claves gestionadas por el cliente No Disponible
    Cambio de nombre de base de datos No Disponible
    Data Safe No Disponible
    Desactivar escala automática de recursos informáticos No Disponible
    Desactivar herramientas de base de datos incorporadas No Disponible
    Desactivar la escala automática de almacenamiento No Disponible
    Opciones de recuperación ante desastres, incluidos Autonomous Data Guard y Backup-Based Disaster Recovery. No Disponible
    Descargar cartera No Disponible
    Activar herramientas de base de datos incorporadas No Disponible
    Activar escala automática de recursos informáticos No Disponible
    Activar la escala automática de almacenamiento No Disponible
    Unión a un pool flexible No Disponible
    ACL de red No Disponible
    Eventos de Oracle Cloud Infrastructure No Disponible
    Hub de rendimiento No Disponible
    Puntos finales privados No Disponible
    Real Application Testing No Disponible
    Autenticación basada en entidad de recurso No Disponible
    Reiniciar Instancia No Disponible
    Restaurar una instancia No Disponible
    Rotar cartera No Disponible
    Esquema de Ejemplo No Disponible
    Reducir la CPU y el almacenamiento No Disponible
    Escalar verticalmente CPU y almacenamiento No Disponible
    Selección del Nivel de Parche de Instancia No Disponible
    Iniciar Instancia No Disponible
    Parar Instancia No Disponible
    Nota

    Al ejecutar Imagen de contenedor libre de Autonomous Database en un contenedor, puede iniciar una instancia, parar una instancia o reiniciar una instancia iniciando, parando o reiniciando el contenedor.

Ubicaciones de Container Registry para imagen de contenedor gratuita de Oracle Autonomous Database

Hay varias ubicaciones en las que puede obtener la imagen de contenedor gratuita de Oracle Autonomous Database, incluidas: Oracle Cloud Infrastructure Registry (Container Registry) y GitHub.

Puede obtener la imagen de contenedor gratuita de Oracle Autonomous Database en varias ubicaciones. Los ejemplos que se muestran utilizan comandos podman (consulte Podman para obtener más información).

  1. Inicie una máquina virtual de podman.
    Por ejemplo:
    podman machine init 
    podman machine set --cpus 4 --memory 8192 
    podman machine start 
  2. Obtenga la imagen de contenedor gratuito de Autonomous Database.

    Oracle Cloud Infrastructure Registry:

    Por ejemplo, utilice el comando podman para extraer la imagen de imagen de contenedor libre de Autonomous Database más reciente:

    podman pull container-registry.oracle.com/database/adb-free:latest-23ai
    Nota

    Oracle Autonomous Database Serverless también soporta imágenes de contenedor 19c.
    • Para los nombres de imagen de contenedor 19c, especifique la etiqueta latest como versión de la base de datos.

    • En el ejemplo anterior, para extraer la imagen de contenedor libre de Autonomous Database 19c , utilice el siguiente comando en la etiqueta de nombre de imagen:
      podman pull container-registry.oracle.com/database/adb-free:latest

    En todo el documento, la etiqueta de nombre de imagen hace referencia a la versión latest-23ai.

    Para obtener más información y más información, busque "Oracle Autonomous Database Free" en Oracle Cloud Infrastructure Registry.

    Paquetes GitHub:

    Por ejemplo, utilice el comando podman para extraer la imagen de contenedor libre de Autonomous Database de: Paquetes GitHub:

    podman pull ghcr.io/oracle/adb-free:latest-23ai
  3. Verifique la imagen.

    Por ejemplo:

    podman images container-registry.oracle.com/database/adb-free:latest-23ai

Inicio de la imagen de contenedor gratuita de Autonomous Database

Después de descargar la imagen de contenedor gratuita de Oracle Autonomous Database, puede iniciar la imagen en un contenedor.

La base de datos se iniciará con el tipo de carga de trabajo de procesamiento de transacciones o con el tipo de carga de trabajo de almacén de datos según el tipo de carga de trabajo que especifique.

  1. Inicie un contenedor para ejecutar la imagen de contenedor gratuito de Autonomous Database.

    Por ejemplo, con podman:

    podman run -d \
    -p 1521:1522 \
    -p 1522:1522 \
    -p 8443:8443 \
    -p 27017:27017 \
    -e WORKLOAD_TYPE='ATP' \
    -e WALLET_PASSWORD=*** \
    -e ADMIN_PASSWORD=*** \
    --cap-add SYS_ADMIN \
    --device /dev/fuse \
    --name adb-free \
    container-registry.oracle.com/database/adb-free:latest-23ai

    Notas del comando:

    • Autonomous Database Serverless también soporta imágenes de contenedor 19c.
      • Para los nombres de imagen de contenedor 19c, especifique la etiqueta latest como versión de la base de datos.

      • En el ejemplo anterior, para iniciar un contenedor para ejecutar la imagen de contenedor libre de Autonomous Database 19c, utilice el siguiente comando en la etiqueta de nombre de imagen:
        container-registry.oracle.com/database/adb-free:latest
    • En todo el documento, la etiqueta de nombre de imagen hace referencia a la versión latest-23ai.

    • WORKLOAD_TYPE puede ser ATP o ADW. El valor por defecto es ATP.

    • Por defecto, la base de datos se denomina MYATP o MYADW, según el valor WORKLOAD_TYPE transferido. Opcionalmente, si desea un nombre de base de datos diferente al predeterminado, puede definir el parámetro DATABASE_NAME. El nombre de la base de datos solo puede contener caracteres alfanuméricos.

    • Al iniciar el contenedor, el archivo MY<WORKLOAD_TYPE>.pdb correspondiente se descarga y se conecta desde un cubo público de Object Storage.

    • La cartera se genera con el valor WALLET_PASSWORD proporcionado.

    • Es necesario cambiar ADMIN_PASSWORD al iniciar sesión por primera vez.

    • Asegúrese de comprobar los siguientes requisitos al crear o modificar ADMIN_PASSWORD:
      • La contraseña debe tener entre 12 y 30 caracteres de longitud y debe incluir al menos una letra en mayúsculas, una letra en minúsculas y un carácter numérico.
      • La contraseña no puede contener el nombre de usuario.
    • Asegúrese de comprobar los siguientes requisitos al crear o modificar WALLET_PASSWORD:
      • La contraseña debe tener entre 8 y 30 caracteres e incluir caracteres alfabéticos combinados con caracteres numéricos o especiales.
    • Para un montaje de OFS, el contenedor comienza con la capacidad SYS_ADMIN. Además, se debe poder acceder al dispositivo virtual /dev/fuse.

    • Estas opciones -p especifican que los siguientes puertos se reenvían al proceso de contenedor:

      Puerto Descripción
      1.521 TLS
      1.522 mTLS
      8.443 Puerto HTTPS para ORDS/APEX y Database Actions
      27.017 API de Mongo

    Si está detrás de un proxy corporativo, incluya las opciones -e para especificar variables de entorno para proxies. Por ejemplo, con podman:

    podman run -d \
    -p 1521:1522 \
    -p 1522:1522 \
    -p 8443:8443 \
    -p 27017:27017 \
    -e WORKLOAD_TYPE='ATP' \
    -e WALLET_PASSWORD=*** \
    -e ADMIN_PASSWORD=*** \
    -e http_proxy=http://example-corp-proxy.com:80/ \
    -e https_proxy=http://example-corp-proxy.com:80/ \
    -e no_proxy=localhost,127.0.0.1 \
    -e HTTP_PROXY=http://example-corp-proxy.com:80/  \
    -e HTTPS_PROXY=http://example-corp-proxy.com:80/  \
    -e NO_PROXY=localhost,127.0.0.1 \
    --cap-add SYS_ADMIN \
    --device /dev/fuse \
    --name adb-free \
    container-registry.oracle.com/database/adb-free:latest-23ai

Realizar operaciones de base de datos con adb-cli

La utilidad de línea de comandos adb-cli se puede utilizar para realizar operaciones de base de datos después de que el contenedor esté activo y en ejecución.

Para utilizar adb-cli, puede definir el siguiente alias para mayor comodidad:

alias adb-cli="podman exec <container_name> adb-cli"

Comandos Disponibles

Puede ver la lista de comandos disponibles mediante el siguiente comando:

adb-cli --help 
Usage: adb-cli [OPTIONS] COMMAND [ARGS]... 
    ADB-S Command Line Interface (CLI) to perform container-runtime database operations 
Options: 
    -v, --version Show the version and exit. 
    --help Show this message and exit. 
Commands: 
    add-database 
    change-password 

Agregar Base de Datos

Puede agregar una base de datos mediante el siguiente comando:

adb-cli add-database --workload-type "ATP" --admin-password "Welcome_MY_ATP_1234" 

Cambiar Contraseña

Puede cambiar la contraseña de administrador mediante el siguiente comando:

adb-cli change-password --database-name "MYATP" 
    --old-password "Welcome_MY_ATP_1234" --new-password "Welcome_12345"

Conexión a una imagen de contenedor gratuito de Autonomous Database

Cuando la imagen de contenedor gratuita de Autonomous Database se ejecuta en un contenedor, puede conectarse a una instancia de Autonomous Database.

Para conectarse a una instancia de Autonomous Database que se ejecute en un contenedor, puede configurar la cartera y conectarse o utilizar una conexión sin cartera TLS.

ORDS/APEX/Acciones de base de datos

El contenedor hostname se utiliza para generar certificados SSL autofirmados para servir el tráfico HTTPS en el puerto 8443. Se puede acceder a Oracle APEX y Database Actions mediante el host de contenedor (o simplemente localhost).

Aplicación URL
Oracle APEX https://localhost:8443/ords/apex
Database Actions https://localhost:8443/ords/sql-developer
Nota

Para bases de datos adicionales conectadas mediante el comando adb-cli add-database, utilice los formatos de URL https://localhost:8443/ords/{database_name}/apex y https://localhost:8443/ords/{database_name}/sql-developer para acceder a APEX y Database Actions respectivamente.

Alias de TNS Disponibles

Puede utilizar cualquiera de los siguientes alias para conectarse al contenedor gratuito de Autonomous Database.

Tabla 3-7 Alias de TNS disponibles

Protocolo Carga de trabajo de procesamiento de transacciones Carga de trabajo de Data Warehouse
mTLS
  • myatp_medium
  • myatp_high
  • myatp_low
  • myatp_tp
  • myatp_tpurgent
  • myadw_medium
  • myadw_high
  • myadw_low
TLS
  • myatp_medium_tls
  • myatp_high_tls
  • myatp_low_tls
  • myatp_tp_tls
  • myatp_tpurgent_tls
  • myadw_medium_tls
  • myadw_high_tls
  • myadw_low_tls

Las asignaciones de alias TNS para estas cadenas de conexión están en $TNS_ADMIN/tnsnames.ora. Consulte Gestión de la simultaneidad y las prioridades en Autonomous Database para obtener información sobre los nombres de servicio en tnsnames.ora.

Configurar una cartera y conectar

Realice los siguientes pasos para configurar una cartera y conectarse:

  1. Copie la cartera generada en el host.

    Al iniciar el contenedor, Autonomous Database genera una cartera en /u01/app/oracle/wallets/tls_wallet.

    Por ejemplo, copie la cartera generada en la carpeta local /scratch/tls_wallet:

    podman cp adb-free:/u01/app/oracle/wallets/tls_wallet /scratch/tls_wallet

    De esta forma se copia la cartera en la carpeta: /scratch/tls_wallet.

  2. Defina el valor de la variable de entorno TNS_ADMIN en el directorio de cartera.

    Por ejemplo:

    export TNS_ADMIN=/scratch/tls_wallet
  3. Si desea conectarse a un host remoto en el que se está ejecutando la imagen de contenedor libre de Autonomous Database, sustituya localhost en $TNS_ADMIN/tnsnames.ora por el FQDN de host remoto.

    Por ejemplo:

    sed -i 's/localhost/example.com/g' $TNS_ADMIN/tnsnames.ora
  4. Conéctese a la instancia de Autonomous Database.

    Por ejemplo, utilice sqlplus para conectarse a la instancia de Transaction Processing de carga de trabajo de Autonomous Database:

    sqlplus admin/password@myatp_low_tls

    Por ejemplo, utilice sqlplus para conectarse a la instancia de Autonomous Database de carga de trabajo de Data Warehouse:

    sqlplus admin/password@myadw_low_tls

Configuración de conexión sin monedero TLS y conexión

Para conectarse sin una cartera, debe actualizar el almacén de confianza del cliente con el certificado autofirmado generado al iniciar el contenedor.

Realice los siguientes pasos para configurar una conexión sin cartera TLS y conectarse.

  1. Copie /u01/app/oracle/wallets/tls_wallet/adb_container.cert del contenedor y actualice el almacén de confianza del sistema.

    Por ejemplo:

    podman cp adb-free:/u01/app/oracle/wallets/tls_wallet/adb_container.cert adb_container.cert  
    sudo cp adb_container.cert /etc/pki/ca-trust/source/anchors 
    sudo update-ca-trust 
  2. Conéctese a la instancia de Autonomous Database.

    Por ejemplo, utilice sqlplus para conectarse a la instancia de carga de trabajo de Transaction Processing de Autonomous Database:

    sqlplus admin/password@myatp_low

    Por ejemplo, utilice sqlplus para conectarse a la instancia de Autonomous Database de la carga de trabajo del almacén de datos:

    sqlplus admin/password@myadw_low

Migración de datos entre contenedores gratuitos de Autonomous Database

Cuando hay disponible una nueva versión de la imagen de contenedor gratuito de Autonomous Database, puede migrar datos de un contenedor a otro.

Por ejemplo, utilice los datos existentes que ha creado en un contenedor migrando esos datos a la última versión de Imagen de contenedor libre de Autonomous Database cuando haya una nueva actualización disponible.

  1. Crear un volumen de podman.

    Por ejemplo:

    podman volume create adb_container_volume
  2. Verifique el punto de montaje del volumen.

    El punto de montaje es una ubicación de directorio gestionada por podman.

    podman inspect adb_container_volume
     
    [
         {
              "Name": "adb_container_volume",
              "Driver": "local",
              "Mountpoint": "/share/containers/storage/volumes/adb_container_volume/_data",
              "CreatedAt": "2023-09-11T21:23:34.305877073Z",
              "Labels": {},
              "Scope": "local",
              "Options": {},
              "MountCount": 0,
              "NeedsCopyUp": true,
              "NeedsChown": true
         }
    ]
  3. Inicie el contenedor de origen y monte el volumen en /u01/data en el contenedor.

    Por ejemplo:

    podman run -d \
    -p 1521:1522 \
    -p 1522:1522 \
    -p 8443:8443 \
    -p 27017:27017 \
    -e WORKLOAD_TYPE='ATP' \
    -e WALLET_PASSWORD=*** \
    -e ADMIN_PASSWORD=*** \
    --cap-add SYS_ADMIN \
    --device /dev/fuse \
    --name source_adb_container \
    --volume adb_container_volume:/u01/data \
    container-registry.oracle.com/database/adb-free:latest-23ai
    Nota

    Autonomous Database Serverless también soporta imágenes de contenedor 19c.
    • Para los nombres de imagen de contenedor 19c, especifique la etiqueta latest como versión de la base de datos.

    • En el ejemplo anterior, para iniciar la imagen de contenedor libre de Autonomous Database 19c , utilice el siguiente comando en la etiqueta de nombre de imagen:
      container-registry.oracle.com/database/adb-free:latest

    En todo el documento, la etiqueta de nombre de imagen hace referencia a la versión latest-23ai.

  4. En este ejemplo se asume que ha creado previamente los datos en el esquema, app_user.
  5. Exporte los datos del esquema de app_user al volumen de contenedor.
    1. Conéctese como ADMIN y cree un directorio ORA_EXP_DIR que apunte a /u01/data.
      sqlplus admin/**************@myadw_high
       
      SQL> exec DBMS_CLOUD_CONTAINER_ADMIN.create_export_directory('/u01/data');
      
      SQL> select directory_path from dba_directories where directory_name='ORA_EXP_DIR';
      
      DIRECTORY_PATH
      --------------------------------------------------------------------------------
      /u01/data
    2. Ejecute el trabajo de exportación en modo de esquema y para los esquemas ADMIN y APP_USER.
      SET scan off
      SET serveroutput ON
      SET escape off
        
      DECLARE
          h1 NUMBER;
          s VARCHAR2(1000):=NULL;
          errorvarchar VARCHAR2(100):= 'ERROR';
          tryGetStatus NUMBER := 0;
          success_with_info EXCEPTION;
          PRAGMA EXCEPTION_INIT(success_with_info, -31627);
      BEGIN
          h1 := dbms_datapump.OPEN(operation => 'EXPORT', job_mode => 'SCHEMA', job_name => 'EXPORT_MY_ADW_4', version => 'COMPATIBLE');
          tryGetStatus := 1;
          dbms_datapump.add_file(handle => h1, filename => 'EXPORT_MY_ADW.LOG', directory => 'ORA_EXP_DIR', filetype => DBMS_DATAPUMP.KU$_FILE_TYPE_LOG_FILE);
          dbms_datapump.metadata_filter(handle => h1, name => 'SCHEMA_EXPR', VALUE => 'IN(''ADMIN'', ''APP_USER'')');
          dbms_datapump.add_file(handle => h1, filename => 'MY_ADW_%U.DMP', directory => 'ORA_EXP_DIR', filesize => '500M',  filetype => DBMS_DATAPUMP.KU$_FILE_TYPE_DUMP_FILE);
          dbms_datapump.start_job(handle => h1, skip_current => 0, abort_step => 0);
          dbms_datapump.detach(handle => h1);
          errorvarchar := 'NO_ERROR';
      EXCEPTION
          WHEN OTHERS THEN
          BEGIN
              IF ((errorvarchar = 'ERROR')AND(tryGetStatus=1)) THEN
                  DBMS_DATAPUMP.DETACH(h1);
              END IF;
          EXCEPTION
          WHEN OTHERS THEN
              NULL;
          END;
          RAISE;
      END;
      /
  6. Verifique la exportación.

    Muestre los archivos del contenedor /u01/data.

    podman exec -it source_adb_container bash
    cd /u01/data

    Verifique el log de exportación (export log), compruebe si hay errores y la finalización correcta.

  7. Detenga y elimine el contenedor de origen.
    podman stop source_adb_container
    podman rm source_adb_container
    Nota

    adb_container_volume se activará en reinicios y eliminaciones de contenedores
  8. Inicie un contenedor de destino que monte el mismo volumen en /u01/data en el contenedor.
    podman run -d \
    -p 1521:1522 \
    -p 1522:1522 \
    -p 8443:8443 \
    -p 27017:27017 \
    -e WORKLOAD_TYPE='ATP' \
    -e WALLET_PASSWORD=*** \
    -e ADMIN_PASSWORD=*** \
    --cap-add SYS_ADMIN \
    --device /dev/fuse \
    --name dest_adb_container \
    --volume adb_container_volume:/u01/data \
    container-registry.oracle.com/database/adb-free:latest-23ai
  9. Importe los datos en el contenedor de destino.

    Conéctese como ADMIN y cree un directorio ORA_EXP_DIR que apunte a /u01/data.

    SQL> exec DBMS_CLOUD_CONTAINER_ADMIN.create_export_directory('/u01/data');
     
    PL/SQL procedure successfully completed.
     
    SQL> select directory_path from dba_directories where directory_name='ORA_EXP_DIR';
     
    DIRECTORY_PATH
    --------------------------------------------------------------------------------
    /u01/data
  10. Ejecute los comandos PL/SQL de importación.
    SET scan off
    SET serveroutput ON
    SET escape off
      
    DECLARE
        h1 NUMBER;
        s VARCHAR2(1000):=NULL;
        errorvarchar VARCHAR2(100):= 'ERROR';
        tryGetStatus NUMBER := 0;
        success_with_info EXCEPTION;
        PRAGMA EXCEPTION_INIT(success_with_info, -31627);
    BEGIN
        h1 := dbms_datapump.OPEN(operation => 'IMPORT', job_mode => 'SCHEMA', job_name => 'IMPORT_MY_ADW_4', version => 'COMPATIBLE');
        tryGetStatus := 1;
        dbms_datapump.add_file(handle => h1, filename => 'IMPORT_MY_ADW.LOG', directory => 'ORA_EXP_DIR', filetype => DBMS_DATAPUMP.KU$_FILE_TYPE_LOG_FILE);
        dbms_datapump.metadata_filter(handle => h1, name => 'SCHEMA_EXPR', VALUE => 'IN(''ADMIN'', ''APP_USER'')');
        dbms_datapump.add_file(handle => h1, filename => 'MY_ADW_%U.DMP', directory => 'ORA_EXP_DIR', filesize => '500M',  filetype => DBMS_DATAPUMP.KU$_FILE_TYPE_DUMP_FILE);
        dbms_datapump.start_job(handle => h1, skip_current => 0, abort_step => 0);
        dbms_datapump.detach(handle => h1);
        errorvarchar := 'NO_ERROR';
    EXCEPTION
        WHEN OTHERS THEN
        BEGIN
            IF ((errorvarchar = 'ERROR')AND(tryGetStatus=1)) THEN
                DBMS_DATAPUMP.DETACH(h1);
            END IF;
        EXCEPTION
        WHEN OTHERS THEN
            NULL;
        END;
        RAISE;
    END;
    /
  11. Verifique el log de importación.
  12. Verifique los datos de importación.