Kostenloses Containerimage von Autonomous Database verwenden

Mit dem kostenlosen Autonomous Database-Containerimage können Sie Autonomous Database in einem Container in Ihrer eigenen Umgebung ausführen, ohne dass Sie auf die Oracle Cloud Infrastructure-Konsole oder das Internet zugreifen müssen.

Informationen zum kostenlosen Containerimage

Sie können von einem Repository aus auf das kostenlose Autonomous Database-Containerimage zugreifen und es in Ihrer lokalen Umgebung ausführen.

Autonomous Database bietet eine vollständig verwaltete Oracle Database, die auf Oracle Cloud Infrastructure verfügbar ist. Auf Oracle Cloud Infrastructure führen Sie Lebenszyklusmanagementvorgänge aus und führen Autonomous Database mit der Oracle Cloud Infrastructure-Konsole aus. Außerdem stellen Sie eine Verbindung zu Ihrer Datenbank über das öffentliche Internet oder über ein privates Netzwerk her, das Sie einrichten (je nach Netzwerkkonfiguration und Sicherheitsanforderungen).

Hinweis

Autonomous Database unterstützt sowohl die Versionen Oracle Autonomous Database Free Container Image 19c als auch Oracle Autonomous Database Free Container Image 23ai.

Das kostenlose Autonomous Database-Containerimage bietet eine Alternative zur Ausführung von Autonomous Database in einem Container in Ihrer eigenen Umgebung, ohne Zugriff auf die Oracle Cloud Infrastructure-Konsole oder das Internet zu benötigen. Wenn Sie Autonomous Database in einem Container ausführen, bietet der Container eine lokale, isolierte Umgebung mit zusätzlichen Optionen für die Entwicklung, das Testen und die Exploration von Oracle Autonomous Database-Features.

Autonomous Database-Lizenz für kostenloses Containerimage

Beschreibt die Lizenzierung für Autonomous Database Free Container Image.

Autonomous Database Free Container Image unterliegt der Lizenzierung.

Das ausgewählte Containerimage und die gesamte Software, die darin enthalten ist, sind unter Oracle Free Use Terms and Conditions lizenziert, die im Containerimage bereitgestellt werden. Ihre Nutzung des Containers unterliegt den Bedingungen dieser Lizenzen.

Features von Autonomous Database Free Container Image

Das kostenlose Autonomous Database-Containerimage bietet viele der Features, die mit Autonomous Database Serverless verfügbar sind.

  • Jedes kostenlose Containerimage stellt zwei Autonomous Database-Instanzen bereit, eine Instanz mit dem Workload-Typ "Data Warehouse" und eine Instanz mit dem Workload-Typ "Transaktionsverarbeitung".

  • Die Datenbank wird mit dem Workload-Typ "Transaktionsverarbeitung" oder dem Workload-Typ "Data Warehouse" basierend auf dem Workload-Typ gestartet, den Sie beim Hochfahren angeben.

  • Sie können Datenbankvorgänge mit dem Befehlszeilenutility adb-cli ausführen.

  • Die Ressourcenzuweisung für das kostenlose Containerimage beträgt 4 ECPUs und 20 GB Speicher. Sie ermöglicht maximal 30 gleichzeitige Datenbanksessions.

  • Jedes kostenlose Containerimage unterstützt die Autonomous Database-Nutzungsgruppen:

    • Data Warehouse-Workload: Sie stellen eine Verbindung über HIGH-, MEDIUM- oder LOW-Services her

    • Arbeitslast der Transaktionsverarbeitung: Sie stellen eine Verbindung über HIGH-, MEDIUM-, LOW-, TP- oder TPURGENT-Services her

    Weitere Informationen finden Sie in Autonomous Database-Workload-Typen.

  • Das kostenlose Containerimage unterstützt die folgenden integrierten Datenbanktools:

    • Datenbankaktionen

    • Oracle REST Data Services (ORDS)

    • Oracle APEX

    • Oracle Database API für MongoDB

Autonomous Database Free Container Image - Empfehlungen und Einschränkungen

Beschreibt Anforderungen und Einschränkungen für Free Container Image.

Empfehlungen für die Ressourcenzuteilung für das freie Containerimage

Folgendes ist die empfohlene Ressourcenzuweisung für das freie Containerimage:

  • 4 CPUs

  • 8 GB Hauptspeicher

Einschränkungen für kostenloses Containerimage

  • Es gibt keine automatischen Patching- oder Wartungsfenster für das kostenlose Containerimage. Das Repository enthält die neueste Version des kostenlosen Containerimages. Prüfen Sie das Repository, um neuere Versionen von Free Container Image zu finden.

  • Die folgenden integrierten Autonomous Database-Tools werden nicht unterstützt:

    • Grafik
    • Oracle Machine Learning
    • Datentransformationen
  • Wenn Autonomous Database in einem Container ausgeführt wird, stellt der Container eine lokale Autonomous Database-Instanz bereit. Das Containerimage enthält keine Features, die nur über die Oracle Cloud Infrastructure-Konsole oder die APIs verfügbar sind. Einige Features, die datenbankintern verfügbar sind und auch über die Oracle Cloud Infrastructure-Konsole verfügbar sind, können weiterhin über datenbankinterne Befehle verwendet werden, wie das Zurücksetzen des ADMIN-Kennworts. Im Folgenden werden einige der nicht verfügbaren Funktionen aufgeführt:

    Feature Verfügbar oder nicht verfügbar
    Backup der Instanz Nicht verfügbar
    Zeichensatz auswählen Nicht verfügbar
    Instanz klonen Nicht verfügbar
    Elastic Pool erstellen Nicht verfügbar
    Vom Kunden verwaltete Schlüssel Nicht verfügbar
    Umbenennen der Datenbank Nicht verfügbar
    Data Safe Nicht verfügbar
    Compute-Autoscaling deaktivieren Nicht verfügbar
    Integrierte Datenbanktools deaktivieren Nicht verfügbar
    Speicher-Autoscaling deaktivieren Nicht verfügbar
    Disaster-Recovery-Optionen, einschließlich Autonomous Data Guard und backupbasiertes Disaster Recovery. Nicht verfügbar
    Wallet herunterladen Nicht verfügbar
    Integrierte Datenbanktools aktivieren Nicht verfügbar
    Compute-Autoscaling aktivieren Nicht verfügbar
    Speicher-Autoscaling aktivieren Nicht verfügbar
    Elastic Pool beitreten Nicht verfügbar
    Netzwerk-ACLs Nicht verfügbar
    Oracle Cloud Infrastructure-Ereignisse Nicht verfügbar
    Performancehub Nicht verfügbar
    Private Endpunkte Nicht verfügbar
    Real Application Testing Nicht verfügbar
    Resource Principal-basierte Authentifizierung Nicht verfügbar
    Instanz neu starten Nicht verfügbar
    Instanz wiederherstellen Nicht verfügbar
    Wallet rotieren Nicht verfügbar
    Beispielschema Nicht verfügbar
    CPU und Speicher horizontal skalieren Nicht verfügbar
    CPU und Speicher vertikal skalieren Nicht verfügbar
    Instanzpatchebene auswählen Nicht verfügbar
    Instanz starten Nicht verfügbar
    Instanz stoppen Nicht verfügbar
    Hinweis

    Wenn Sie ein kostenloses Containerimage in einem Container ausführen, können Sie eine Instanz starten, eine Instanz stoppen oder eine Instanz neu starten, indem Sie den Container starten, stoppen oder neu starten.

Container Registry-Speicherorte für Autonomous Database Free Container Image

Sie können Autonomous Database Free Container Image an mehreren Standorten abrufen, darunter: Oracle Cloud Infrastructure Registry (Container Registry) und GitHub.

Sie können das kostenlose Autonomous Database-Containerimage an mehreren Standorten abrufen. In den gezeigten Beispielen werden podman-Befehle verwendet (weitere Informationen finden Sie unter Podman).

  1. Starten Sie eine virtuelle Podman-Maschine.
    Beispiel:
    podman machine init 
    podman machine set --cpus 4 --memory 8192 
    podman machine start 
  2. Laden Sie das kostenlose Container-Image herunter.

    Oracle Cloud Infrastructure Registry:

    Beispiel: Verwenden Sie den Befehl podman, um das neueste Image des kostenlosen Containerimages abzurufen:

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

    Oracle Autonomous Database Serverless unterstützt auch 19c-Containerimages.
    • Geben Sie für 19c-Containerimagenamen das Tag latest als Datenbankversion an.

    • Um das kostenlose Autonomous Database-Containerimage 19c abzurufen, verwenden Sie im obigen Beispiel den folgenden Befehl im Imagenamenstag:
      podman pull container-registry.oracle.com/database/adb-free:latest

    Im gesamten Dokument bezieht sich das Imagename-Tag auf die Version latest-23ai.

    Weitere Details und zusätzliche Informationen finden Sie unter "Oracle Autonomous Database Free" in Oracle Cloud Infrastructure Registry.

    GitHub Packages:

    Beispiel: Verwenden Sie den Befehl podman, um das kostenlose Containerimage abzurufen: GitHub Packages:

    podman pull ghcr.io/oracle/adb-free:latest-23ai
  3. Prüfen Sie das Image.

    Beispiel:

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

Kostenloses Containerimage starten

Nachdem Sie das kostenlose Autonomous Database-Containerimage heruntergeladen haben, können Sie das Image in einem Container starten.

Die Datenbank wird mit dem Workload-Typ "Transaktionsverarbeitung" oder dem Workload-Typ "Data Warehouse" basierend auf dem angegebenen Workload-Typ gestartet.

  1. Starten Sie einen Container, um das kostenlose Containerimage auszuführen.

    Beispiel: Mit 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

    Befehlsnotizen:

    • Autonomous Database Serverless unterstützt auch 19c-Containerimages.
      • Geben Sie für 19c-Containerimagenamen das Tag latest als Datenbankversion an.

      • Um im obigen Beispiel einen Container zum Ausführen des kostenlosen Autonomous Database-Containerimages 19c zu starten, verwenden Sie den folgenden Befehl im Imagenamenstag:
        container-registry.oracle.com/database/adb-free:latest
    • Im gesamten Dokument bezieht sich das Imagename-Tag auf die Version latest-23ai.

    • Die WORKLOAD_TYPE kann entweder ATP oder ADW sein. Der Standardwert ist ATP.

    • Standardmäßig wird die Datenbank je nach übergebenem WORKLOAD_TYPE-Wert entweder MYATP oder MYADW genannt. Wenn Sie optional einen anderen Datenbanknamen als den Standardnamen verwenden möchten, können Sie den Parameter DATABASE_NAME festlegen. Der Datenbankname darf nur alphanumerische Zeichen enthalten.

    • Beim Hochfahren des Containers wird die entsprechende MY<WORKLOAD_TYPE>.pdb heruntergeladen und aus einem öffentlichen Object Storage-Bucket integriert.

    • Das Wallet wird mit dem angegebenen WALLET_PASSWORD generiert.

    • Sie müssen die ADMIN_PASSWORD bei der ersten Anmeldung ändern.

    • Prüfen Sie die folgenden Anforderungen, wenn Sie die ADMIN_PASSWORD erstellen oder ändern:
      • Das Kennwort muss zwischen 12 und 30 Zeichen umfassen und mindestens einen Großbuchstaben, einen Kleinbuchstaben und ein numerisches Zeichen enthalten.
      • Das Kennwort darf den Benutzernamen nicht enthalten.
    • Prüfen Sie die folgenden Anforderungen, wenn Sie die WALLET_PASSWORD erstellen oder ändern:
      • Das Kennwort muss zwischen 8 und 30 Zeichen lang sein und alphabetische Zeichen in Kombination mit numerischen Zeichen oder Sonderzeichen enthalten.
    • Bei einem OFS-Mount beginnt der Container mit der Funktion SYS_ADMIN. Außerdem muss auf das virtuelle Gerät /dev/fuse zugegriffen werden können.

    • Diese -p-Optionen geben an, dass die folgenden Ports an den Containerprozess weitergeleitet werden:

      Port Beschreibung
      1.521 TLS
      1.522 mTLS
      8.443 HTTPS-Port für ORDS/APEX und Datenbankaktionen
      27.017 Mongo-API

    Wenn Sie sich hinter einem Unternehmensproxy befinden, fügen Sie -e-Optionen hinzu, um Umgebungsvariablen für Proxys anzugeben. Beispiel: Mit 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

Datenbankvorgänge mit adb-cli ausführen

Mit dem Befehlszeilenutility adb-cli können Datenbankvorgänge ausgeführt werden, nachdem der Container hochgefahren und gestartet wurde.

Um adb-cli zu verwenden, können Sie den folgenden Alias zur Vereinfachung definieren:

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

Verfügbare Befehle

Sie können die Liste der verfügbaren Befehle mit dem folgenden Befehl anzeigen:

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 

Datenbank hinzufügen

Sie können eine Datenbank mit dem folgenden Befehl hinzufügen:

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

Kennwort ändern

Sie können das Admin-Kennwort mit dem folgenden Befehl ändern:

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

Mit einem kostenlosen Containerimage verbinden

Wenn das kostenlose Containerimage in einem Container ausgeführt wird, können Sie eine Verbindung zu einer Autonomous Database-Instanz herstellen.

Um eine Verbindung zu einer Autonomous Database-Instanz herzustellen, die in einem Container ausgeführt wird, können Sie entweder das Wallet einrichten und eine Verbindung herstellen oder eine TLS-Wallet-lose Verbindung verwenden.

Verbindung zu ORDS, APEX oder Database Actions über ein Autonomous Database-Containerimage herstellen

Der Container hostname wird zum Generieren selbstsignierter SSL-Zertifikate verwendet, um HTTPS-Traffic auf Port 8443 zu verarbeiten. Der Zugriff auf Oracle APEX und Database Actions kann über den Containerhost (oder einfach localhost) erfolgen.

Anwendung URL
Oracle APEX https://localhost:8443/ords/apex
Datenbankaktionen https://localhost:8443/ords/sql-developer
Hinweis

Für zusätzliche Datenbanken, die mit dem Befehl adb-cli add-database integriert werden, verwenden Sie die URL-Formate https://localhost:8443/ords/{database_name}/apex und https://localhost:8443/ords/{database_name}/sql-developer, um jeweils auf APEX und Database Actions zuzugreifen.

Verfügbare TNS-Aliasnamen für die Verbindung mit einem Autonomous Database-Containerimage

Sie können einen der folgenden Aliasnamen verwenden, um eine Verbindung zu einem Autonomous Database-Containerimage herzustellen.

Tabelle 3-18: Verfügbare TNS-Aliasnamen

Protokoll Transaktionsverarbeitungs-Workload Data Warehouse-Workload
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

Die TNS-Aliaszuordnungen für diese Verbindungszeichenfolgen befinden sich in $TNS_ADMIN/tnsnames.ora. Informationen zu den Servicenamen in tnsnames.ora finden Sie unter Nebenläufigkeit und Prioritäten in Autonomous Database verwalten.

Verbindung zu einem Autonomous Database-Containerimage mit einem Wallet herstellen

Beschreibt die Schritte zum Herstellen einer Verbindung zu einem Autonomous Database-Containerimage mit einem Wallet.

Führen Sie die folgenden Schritte aus, um ein Wallet einzurichten und eine Verbindung herzustellen:

  1. Kopieren Sie das generierte Wallet auf den Host.

    Wenn Sie den Container starten, generiert Autonomous Database ein Wallet in /u01/app/oracle/wallets/tls_wallet.

    Beispiel: Kopieren Sie das generierte Wallet in den lokalen Ordner /scratch/tls_wallet:

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

    Dadurch wird das Wallet in den Ordner /scratch/tls_wallet kopiert.

  2. Legen Sie den Wert der Umgebungsvariablen TNS_ADMIN auf das Wallet-Verzeichnis fest.

    Beispiel:

    export TNS_ADMIN=/scratch/tls_wallet
  3. Wenn Sie eine Verbindung zu einem Remotehost herstellen möchten, auf dem das kostenlose Containerimage ausgeführt wird, ersetzen Sie localhost in $TNS_ADMIN/tnsnames.ora durch den Remotehost-FQDN.

    Beispiel:

    sed -i 's/localhost/example.com/g' $TNS_ADMIN/tnsnames.ora
  4. Stellen Sie eine Verbindung zur Autonomous Database-Instanz her.

    Beispiel: Verwenden Sie sqlplus, um eine Verbindung zur Autonomous Database-Instanz der Transaktionsverarbeitung-Workload herzustellen:

    sqlplus admin/password@myatp_low_tls

    Beispiel: Verwenden Sie sqlplus, um eine Verbindung zur Autonomous Database-Instanz der Data Warehouse-Workload herzustellen:

    sqlplus admin/password@myadw_low_tls

Verbindung zu einem Autonomous Database-Containerimage ohne Wallet (TLS) herstellen

Beschreibt die Schritte zum Herstellen einer Verbindung zu einem Autonomous Database-Containerimage ohne Wallet (TLS).

Um eine Verbindung ohne Wallet herzustellen, müssen Sie den Truststore Ihres Clients mit dem selbstsignierten Zertifikat aktualisieren, das beim Containerstart generiert wurde.

Führen Sie die folgenden Schritte aus, um eine TLS-Verbindung einzurichten und eine Verbindung herzustellen.

  1. Kopieren Sie /u01/app/oracle/wallets/tls_wallet/adb_container.cert aus dem Container, und aktualisieren Sie den System-Truststore.

    Beispiel:

    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. Stellen Sie eine Verbindung zur Autonomous Database-Instanz her.

    Beispiel: Verwenden Sie sqlplus, um eine Verbindung zur Autonomous Database-Instanz der Transaktionsverarbeitungs-Workload herzustellen:

    sqlplus admin/password@myatp_low

    Beispiel: Verwenden Sie sqlplus, um eine Verbindung zur Autonomous Database-Instanz der Data Warehouse-Workload herzustellen:

    sqlplus admin/password@myadw_low

Daten zwischen kostenlosen Autonomous Database-Containern migrieren

Wenn eine neue Version des kostenlosen Containerimages verfügbar ist, können Sie Daten von einem Container in einen anderen Container migrieren.

Beispiel: Verwenden Sie vorhandene Daten, die Sie in einem Container erstellt haben, indem Sie diese Daten auf die neueste Version von Free Container Image migrieren, wenn ein neues Update verfügbar ist.

  1. Podman-Volume erstellen

    Beispiel:

    podman volume create adb_container_volume
  2. Prüfen Sie den Volume-Einhängepunkt.

    Der Einhängepunkt ist ein vom Podman verwalteter Verzeichnisspeicherort.

    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. Starten Sie den Quellcontainer, und mounten Sie das Volume im Container in /u01/data.

    Beispiel:

    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
    Hinweis

    Autonomous Database Serverless unterstützt auch 19c-Containerimages.
    • Geben Sie für 19c-Containerimagenamen das Tag latest als Datenbankversion an.

    • Um das kostenlose Autonomous Database-Containerimage 19c zu starten, verwenden Sie im obigen Beispiel den folgenden Befehl im Tag für den Imagenamen:
      container-registry.oracle.com/database/adb-free:latest

    Im gesamten Dokument bezieht sich das Imagename-Tag auf die Version latest-23ai.

  4. In diesem Beispiel wird davon ausgegangen, dass Sie Ihre Daten bereits im Schema app_user erstellt haben.
  5. Exportieren Sie die Daten aus dem Schema von app_user in das Container-Volume.
    1. Melden Sie sich als ADMIN an, und erstellen Sie das Verzeichnis ORA_EXP_DIR, das auf /u01/data verweist.
      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. Führen Sie den Exportjob im Schemamodus und für ADMIN- und APP_USER-Schemas aus.
      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_%L.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. Prüfen Sie den Export.

    Listen Sie die Dateien im Container /u01/data auf.

    podman exec -it source_adb_container bash
    cd /u01/data

    Prüfen Sie das Exportlog (export log), prüfen Sie, ob Fehler aufgetreten sind und der Vorgang erfolgreich abgeschlossen wurde.

  7. Stoppen und entfernen Sie den Quellcontainer.
    podman stop source_adb_container
    podman rm source_adb_container
    Hinweis

    Die adb_container_volume wird über Containerneustarts und -entfernungen hinweg ausgeführt
  8. Starten Sie einen Zielcontainer, der dasselbe Volume im Container in /u01/data mountet.
    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. Daten in Zielcontainer importieren.

    Melden Sie sich als ADMIN an, und erstellen Sie das Verzeichnis ORA_EXP_DIR, das auf /u01/data verweist.

    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. Führen Sie die PL/SQL-Importbefehle aus.
    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_%L.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. Prüfen Sie das Importlog.
  12. Auf dieser Seite prüfen Sie die Importdaten.