DBMS_EXT_TABLE_CACHE-Package

In dieser Tabelle werden die Unterprogramme zusammengefasst, die im Package DBMS_EXT_TABLE_CACHE enthalten sind.

Unterprogramm Beschreibung

Prozedur ADD_BY_LIKE

Fügt eine oder mehrere Dateien, die den angegebenen Filtern entsprechen, in einen externen Tabellencache ein.

Prozedur ADD_FILE

Fügt eine Datei in den Cache der externen Tabelle ein.

Prozedur ADD_TABLE

Fügt Dateien aus der angegebenen externen Tabelle in einen externen Tabellencache ein.

CLEAR-Verfahren

Löscht einen externen Tabellencache.

Prozedur CREATE_CACHE

Erstellt einen externen Tabellencache.

Prozedur deaktivieren

Deaktiviert einen externen Tabellencache.

Prozedur DROP_BY_LIKE

Dateien basierend auf den angegebenen Filtern aus einem externen Tabellencache löschen.

Prozedur DROP_CACHE

Löscht einen externen Tabellencache.

Prozedur DROP_FILE

Entfernt die angegebene externe Tabellendatei aus dem externen Tabellencache.

Prozedur aktivieren

Aktiviert einen zuvor deaktivierten externen Tabellencache.

Funktion GET_USER_PROPERTY

Ruft die Caching-Voreinstellung für einen externen Tabellencache ab.

Prozedur RETIRE_FILES

Löscht eine oder mehrere Dateien aus dem Cache, die älter als das angegebene Intervall sind.

Prozedur SET_USER_PROPERTY

Gibt die Caching-Voreinstellung für einen externen Tabellencache an.

Prozedur VALIDATE

Validiert einen externen Tabellencache.

Prozedur ADD_BY_LIKE

Die Prozedur DBMS_EXT_TABLE_CACHE.ADD_BY_LIKE lädt mindestens eine angegebene Datei aus dem Objektspeicher in den externen Tabellencache.

Syntax

DBMS_EXT_TABLE_CACHE.ADD_BY_LIKE (       
      owner        IN VARCHAR2,
      table_name   IN VARCHAR2,
      path_filters IN CLOB,
      esc_char     IN VARCHAR2 DEFAULT NULL,
      force        IN BOOLEAN  DEFAULT FALSE);

Parameter

Parameter Beschreibung

owner

Legt den Schemanamen fest.

table_name

Gibt den Namen der externen Tabelle an.

path_filters

PATH_FILTERS ist eine JSON_ARRAY von Pfadfiltern, die zum Suchen nach angegebenen Mustern in Datei-URLs verwendet werden.

esc_char

Gibt das Escapezeichen an, das in den Pfadfiltern verwendet werden soll. Wenn das Escape-Zeichen im Muster vor "%" oder "_" steht, wird das Sonderzeichen wörtlich interpretiert und nicht als besonderes Musterabgleichszeichen.

Dieser Parameter ist optional, und der Standardwert für diesen Parameter ist NULL.

force

Erzwingt, dass die angegebenen vorhandenen Dateien im Cache überschrieben werden, auch wenn die Dateien nicht geändert wurden.

Dieser Parameter ist optional, und der Standardwert für den Parameter force lautet FALSE.

Beispiel

BEGIN
  DBMS_EXT_TABLE_CACHE.ADD_BY_LIKE (
    owner        => 'SALES', 
    table_name   =>'STORE_SALES',
    path_filters => '["https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/your_namespace/your_bucket/salesdata1.parquet",
                      "https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/your_namespace/your_bucket/salesdata2.parquet"]'
);
END;
/

Hinweis zur Verwendung

  • Standardmäßig überspringt die Prozedur DBMS_EXT_TABLE_CACHE.ADD_BY_LIKE das Laden der Dateien, wenn:
    • Die Dateien wurden zuvor gecacht und sind noch im Cache verfügbar.

    • Die Dateien wurden seit dem letzten Zwischenspeicher nicht mehr geändert.

    Sie können jedoch den Parameter force verwenden, um die Dateien im Cache zu überschreiben, auch wenn die Dateien nicht geändert wurden.

Prozedur ADD_FILE

Die Prozedur DBMS_EXT_TABLE_CACHE.ADD_FILE lädt die angegebene Datei in den Cache der externen Tabelle.

Syntax

DBMS_EXT_TABLE_CACHE.ADD_FILE (       
      owner        IN VARCHAR2,
      table_name   IN VARCHAR2,
      file_url     IN VARCHAR2,
      force        IN BOOLEAN DEFAULT FALSE);

Parameter

Parameter Beschreibung

owner

Legt den Schemanamen fest.

table_name

Gibt den Namen der externen Tabelle an.

file_url

Gibt die Datei-URL an.

force

Erzwingt, dass die angegebenen vorhandenen Dateien im Cache überschrieben werden, auch wenn die Dateien nicht geändert wurden.

Dieser Parameter ist optional, und der Standardwert für den Parameter force lautet FALSE.

Beispiel

BEGIN
  DBMS_EXT_TABLE_CACHE.ADD_FILE (
    owner        => 'SALES', 
    table_name   => 'STORE_SALES',
    file_url     => 'https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/your_namespace/your_bucket/salesdata.parquet'
);
END;
/

Verwendungshinweise

  • Die Prozedur DBMS_EXT_TABLE_CACHE.ADD_FILE überspringt das Laden der Datei in den Cache, wenn die angegebene Datei im Cache vorhanden ist und seit dem letzten Cache nicht mehr geändert wurde.

  • Mit dem Parameter force können Sie die Datei im Cache überschreiben, selbst wenn die Datei nicht geändert wurde.

Prozedur ADD_LATEST_FILES

Die Datei DBMS_EXT_TABLE_CACHE.ADD_LATEST_FILES lädt mindestens eine Datei in den Cache der externen Tabelle. Die Dateien werden basierend auf dem vom Argument SINCE festgelegten Zeitintervall und dem aktuellen Zeitstempel geladen.

Syntax

DBMS_EXT_TABLE_CACHE.ADD_LATEST_FILES (       
      owner        IN  VARCHAR2,
      table_name   IN  VARCHAR2,
      since        IN  INTERVAL DAY TO SECOND,
      max_files    IN  NUMBER,
      force        IN  BOOLEAN DEFAULT FALSE);

Parameter

Parameter Beschreibung

owner

Legt den Schemanamen fest.

table_name

Gibt den Namen der externen Tabelle an.

since

Der Parameter since akzeptiert einen INTERVAL DAY TO SECOND-Wert und wird zur Berechnung des Zeitintervalls zwischen dem Wert since und dem aktuellen Zeitstempel verwendet. Das resultierende Zeitintervall wird dann verwendet, um die Dateien basierend auf ihrer letzten Änderungszeit zu laden.

max_files

Geben Sie den Wert max_files an, um die Anzahl der Dateien zu begrenzen, die in den externen Tabellencache geladen werden können.

Dieser Parameter ist optional und standardmäßig unbegrenzt, wenn er nicht angegeben wird.

force

Erzwingt, dass die angegebenen vorhandenen Dateien im Cache überschrieben werden, auch wenn die Dateien nicht geändert wurden.

Dieser Parameter ist optional, und der Standardwert für diesen Parameter ist FALSE.

Beispiel

BEGIN
  DBMS_EXT_TABLE_CACHE.ADD_LATEST_FILES (
    owner        => 'SALES', 
    table_name   => 'STORE_SALES',
    since        => INTERVAL '7' DAY,
    max_files    => 5,
    force        => TRUE);
END;
/

Hinweis zur Verwendung

  • Standardmäßig überspringt die Prozedur DBMS_EXT_TABLE_CACHE.ADD_LATEST_FILES das Laden der Dateien, wenn:
    • Die angegebenen Dateien wurden zuvor gecacht und sind noch im Cache verfügbar.

    • Die angegebenen Dateien wurden seit dem letzten Zwischenspeichern nicht mehr geändert.

    Sie können jedoch den Parameter force verwenden, um die Dateien im Cache zu überschreiben, auch wenn die Dateien nicht geändert wurden.

Prozedur ADD_TABLE

Die Prozedur DBMS_EXT_TABLE_CACHE.ADD_TABLE lädt eine gesamte Tabelle oder einen bestimmten Prozentsatz der externen Tabelle in den Cache.

Syntax

DBMS_EXT_TABLE_CACHE.ADD_TABLE (       
      owner         IN VARCHAR2,
      table_name    IN VARCHAR2,
      percent_files IN NUMBER DEFAULT NULL,
      force         IN BOOLEAN DEFAULT FALSE);

Parameter

Parameter Beschreibung

owner

Legt den Schemanamen fest.

table_name

Gibt den Namen der externen Tabelle an.

percent_files

Gibt den Prozentsatz der Tabellendaten an, die gecacht werden sollen. Beispiel: 1 auf 100.

Standardmäßig werden alle Dateien geladen.

force

Erzwingt, dass die angegebenen Dateien im Cache überschrieben werden, auch wenn die Dateien nicht geändert wurden.

Dieser Parameter ist optional, und der Standardwert für force ist FALSE.

Beispiel

BEGIN
  DBMS_EXT_TABLE_CACHE.ADD_TABLE (
    owner         => 'SALES', 
    table_name    => 'STORE_SALES',
    percent_files => 50);
END;
/

Verwendungshinweise

  • Die DBMS_EXT_TABLE_CACHE.ADD_TABLE versucht, die gesamte Tabelle oder einen bestimmten Prozentsatz des Dateiinhalts im Cache zu cachen.

  • Die Parameter percent_files und force schließen sich gegenseitig aus.

  • Standardmäßig überspringt die Prozedur DBMS_EXT_TABLE_CACHE.ADD_TABLE das Laden der Dateien, wenn:
    • Die angegebenen Dateien wurden zuvor gecacht und sind noch im Cache verfügbar.

    • Die angegebenen Dateien wurden seit dem letzten Zwischenspeichern nicht mehr geändert.

    Sie können jedoch den Parameter force verwenden, um die Dateien im Cache zu überschreiben, auch wenn die Dateien nicht geändert wurden.

CLEAR-Verfahren

Mit der Prozedur DBMS_EXT_TABLE_CACHE.CLEAR werden alle Dateien aus einem externen Tabellencache entfernt, während der Cache beibehalten wird.

Syntax

DBMS_EXT_TABLE_CACHE.CLEAR (       
      owner         IN VARCHAR2,
      table_name    IN VARCHAR2);

Parameter

Parameter Beschreibung

owner

Legt den Schemanamen fest.

table_name

Gibt den Namen der externen Tabelle an.

Beispiel

BEGIN
  DBMS_EXT_TABLE_CACHE.CLEAR (
    owner         => 'SALES', 
    table_name    => 'STORE_SALES');
END;
/

Prozedur CREATE_CACHE

Die Prozedur DBMS_EXT_TABLE_CACHE.CREATE_CACHE erstellt einen externen Tabellencache in einer Autonomous Database-Instanz.

Syntax

DBMS_EXT_TABLE_CACHE.CREATE_CACHE (       
      owner            IN    VARCHAR2,
      table_name       IN    VARCHAR2,
      partition_type   IN    VARCHAR2);

Parameter

Parameter Beschreibung

owner

Legt den Schemanamen fest.

table_name

Gibt den Namen der externen Tabelle an.

partition_type

Gültige Werte für den Parameter partition_type:
  • FILE: Partitioniert den externen Tabellencache mit den unsichtbaren Spalten FILE$PATH und FILE$NAME.

  • PATH: Partitioniert den externen Tabellencache mit der unsichtbaren Spalte FILE$PATH.

file$path: Gibt den Dateipfadtext bis zum Anfang des Objektnamens an.

file$name: Gibt den Objektnamen an, einschließlich des gesamten Textes, der auf das letzte "/" folgt.

Weitere Informationen finden Sie unter Metadatenspalten für externe Tabellen.

Beispiel

BEGIN
    DBMS_EXT_TABLE_CACHE.CREATE_CACHE (      
      owner          => 'SALES',
      table_name     => 'STORE_SALES',
      partition_type => 'FILE');                                                                 
END;                                                                 
/

Hinweis zur Verwendung

  • DBMS_EXT_TABLE_CACHE.CREATE_CACHE erstellt den externen Tabellencache in einer Autonomous Database-Instanz. Das Erstellen eines Caches ähnelt dem Erstellen einer Tabelle im Datenbankschema.

Prozedur deaktivieren

Die Prozedur DBMS_EXT_TABLE_CACHE.DISABLE deaktiviert den angegebenen externen Tabellencache. Der Cache wird als deaktiviert gekennzeichnet. Die Daten im Cache werden jedoch beibehalten.

Syntax

DBMS_EXT_TABLE_CACHE.DISABLE (       
      owner        IN VARCHAR2,
      table_name   IN VARCHAR2
);

Parameter

Parameter Beschreibung

owner

Legt den Schemanamen fest.

table_name

Gibt den Namen der externen Tabelle an.

Beispiel

BEGIN
    DBMS_EXT_TABLE_CACHE.DISABLE (      
      owner          => 'SALES',
      table_name     => 'STORE_SALES');                                                                 
END;                                                                 
/

Hinweis zur Verwendung

  • DBMS_EXT_TABLE_CACHE.DISABLE löscht keine Daten aus dem externen Tabellencache. Stattdessen wird der Cache als DISABLED markiert, was bedeutet, dass der Optimizer den Cache nicht für Query Rewrites verwenden kann.

Prozedur DROP_BY_LIKE

Die Prozedur DBMS_EXT_TABLE_CACHE.DROP_BY_LIKE löscht eine oder mehrere Dateien aus dem Cache der externen Tabelle. Die Dateien werden basierend auf den angegebenen Filtern gelöscht.

Syntax

DBMS_EXT_TABLE_CACHE.DROP_BY_LIKE (       
      owner        IN VARCHAR2,
      table_name   IN VARCHAR2,
      path_filters IN CLOB,
      esc_char     IN VARCHAR2 DEFAULT NULL);

Parameter

Parameter Beschreibung

owner

Legt den Schemanamen fest.

table_name

Gibt den Namen der externen Tabelle an.

path_filters

PATH_FILTERS ist eine JSON_ARRAY von Pfadfiltern, die zum Suchen nach angegebenen Mustern in Datei-URLs verwendet werden.

esc_char

Gibt das Escapezeichen an, das in den Pfadfiltern verwendet werden soll. Wenn das Escape-Zeichen im Muster vor "%" oder "_" steht, wird das Sonderzeichen wörtlich interpretiert und nicht als besonderes Musterabgleichszeichen.

Dieser Parameter ist optional, und der Standardwert für diesen Parameter ist NULL.

Beispiel

BEGIN
  DBMS_EXT_TABLE_CACHE.DROP_BY_LIKE (
    owner        => 'SALES', 
    table_name   => 'STORE_SALES',
    path_filters => '["https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/your_namespace/your_bucket/salesdata1.parquet",
                      "https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/your_namespace/your_bucket/salesdata2.parquet"]'
);
END;
/

Prozedur DROP_CACHE

Die Prozedur DBMS_EXT_TABLE_CACHE.DROP_CACHE löscht den angegebenen externen Tabellencache. Diese Prozedur löscht den Cache und gibt den mit dem Cache verknüpften Speicherplatz frei.

Syntax

DBMS_EXT_TABLE_CACHE.DROP_CACHE (       
      owner            IN    VARCHAR2,
      table_name       IN    VARCHAR2
);

Parameter

Parameter Beschreibung

owner

Legt den Schemanamen fest.

table_name

Gibt den Namen der externen Tabelle an.

Beispiel

BEGIN
    DBMS_EXT_TABLE_CACHE.DROP_CACHE (      
      owner          => 'SALES',
      table_name     => 'STORE_SALES');                                                             
END;                                                                 
/

Hinweis zur Verwendung

  • Wenn Sie einen Cache löschen, werden seine Metadaten aus dem Data Dictionary entfernt, und alle gecachten Daten werden gelöscht.

Prozedur DROP_FILE

Die Prozedur DBMS_EXT_TABLE_CACHE.DROP_FILE löscht die angegebene Datei aus einem externen Tabellencache.

Syntax

DBMS_EXT_TABLE_CACHE.DROP_FILE (       
      owner        IN VARCHAR2,
      table_name   IN VARCHAR2,
      file_url     IN VARCHAR2);

Parameter

Parameter Beschreibung

owner

Legt den Schemanamen fest.

table_name

Gibt den Namen der externen Tabelle an.

file_url

Gibt die Datei-URL an.

Beispiel

BEGIN
  DBMS_EXT_TABLE_CACHE.DROP_FILE (
    owner        => 'SALES', 
    table_name   => 'STORE_SALES',
    file_url     => 'https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/your_namespace/your_bucket/salesdata.parquet'
);
END;
/

Prozedur aktivieren

Die Prozedur DBMS_EXT_TABLE_CACHE.ENABLE aktiviert einen zuvor deaktivierten externen Tabellencache. Wenn ein Cache erstellt wird, ist er standardmäßig aktiviert.

Syntax

DBMS_EXT_TABLE_CACHE.ENABLE (       
    owner         IN    VARCHAR2,
    table_name    IN    VARCHAR2
);

Parameter

Parameter Beschreibung

owner

Legt den Schemanamen fest.

table_name

Gibt den Namen der externen Tabelle an.

Beispiel

BEGIN
  DBMS_EXT_TABLE_CACHE.ENABLE (
    owner        => 'SALES', 
    table_name   => 'STORE_SALES'
 );
END;
/

Funktion GET_USER_PROPERTY

Die Funktion gibt die Caching-Voreinstellung für das angegebene Schema zurück und gibt eine Number zurück.

Syntax


DBMS_EXT_TABLE_CACHE.GET_USER_PROPERTY (
    property_name   IN   VARCHAR2,
    owner           IN   VARCHAR2 DEFAULT NULL);

RETURN NUMBER;

Parameter

Parameter Beschreibung

property_name

Gibt den Namen der Eigenschaft an.

Folgende gültige Werte sind für property_name verfügbar:
  • MAX_CACHE_PERCENT

  • MAX_CACHE_SIZE

owner

Legt den Schemanamen fest.

Rückgabewerte

Rückgabewert Beschreibung

Der Wert MAX_CACHE_SIZE oder MAX_CACHE_SIZE in Number.

Je nach Parameter property_name ist die zurückgegebene Zahl der Wert MAX_CACHE_SIZE oder MAX_CACHE_SIZE.

Beispiel

SET SERVEROUTPUT ON
    DECLARE
    max_cache_sz NUMBER,
    BEGIN
    max_cache_sz := DBMS_EXT_TABLE_CACHE.GET_USER_PROPERTY (
        property_name       => 'MAX_CACHE_SIZE',         
        owner               => 'SALES');                                                                
END;                                                                 
/

Prozedur RETIRE_FILES

Die DBMS_EXT_TABLE_CACHE.RETIRE_FILES löscht Dateien aus dem Cache, die älter als das angegebene Intervall sind. Die Dateien werden basierend auf dem Zeitintervall gelöscht, das mit dem Parameterwert BEFORE berechnet wird.

Syntax

DBMS_EXT_TABLE_CACHE.RETIRE_FILES (       
    owner        IN VARCHAR2,
    table_name   IN VARCHAR2,
    before       IN INTERVAL DAY TO SECOND
);

Parameter

Parameter Beschreibung

owner

Legt den Schemanamen fest.

table_name

Gibt den Namen der externen Tabelle an.

before

Der Parameter before akzeptiert einen INTERVAL DAY TO SECOND-Wert und wird zur Berechnung des Zeitintervalls zwischen dem Wert before und dem aktuellen Zeitstempel verwendet. Das resultierende Zeitintervall wird dann verwendet, um die Dateien aus dem Cache zu löschen.

Beispiel

BEGIN
 DBMS_EXT_TABLE_CACHE.RETIRE_FILES (
    owner        => 'SALES', 
    table_name   => 'STORE_SALES',
    before       => INTERVAL '30' DAY);
END;
/

Prozedur SET_USER_PROPERTY

Die Prozedur DBMS_EXT_TABLE_CACHE.SET_USER_PROPERTY legt die Caching-Voreinstellung für ein Schema fest.

Syntax

DBMS_EXT_TABLE_CACHE.SET_USER_PROPERTY (         
    property_name    IN    VARCHAR2,         
    property_value   IN    NUMBER,                   
    owner            IN    VARCHAR2 DEFAULT NULL);

Parameter

Parameter Beschreibung

property_name

Gibt den Namen der Eigenschaft an.

Folgende gültige Werte sind für property_name verfügbar:
  • MAX_CACHE_PERCENT

  • MAX_CACHE_SIZE

property_value

Gibt den Eigenschaftswert an.

owner

Legt den Schemanamen fest.

Beispiel

BEGIN
    DBMS_EXT_TABLE_CACHE.SET_USER_PROPERTY (
    property_name  => 'MAX_CACHE_PERCENT',          
    property_value => 100,                   
    owner          => 'SALES');                                                                
END;                                                                 
/

Prozedur VALIDATE

Die Prozedur DBMS_EXT_TABLE_CACHE.VALIDATE validiert den externen Tabellencache. Ein Fehler wird gemeldet, wenn die referenzierte externe Tabelle nicht in der Datenbank gefunden wurde.

Syntax

DBMS_EXT_TABLE_CACHE.VALIDATE (       
      owner            IN    VARCHAR2,
      table_name       IN    VARCHAR2,
      raise_errors     IN    BOOLEAN DEFAULT TRUE);

Parameter

Parameter Beschreibung

owner

Legt den Schemanamen fest.

table_name

Gibt den Namen der externen Tabelle an.

raise_errors

Meldet, wenn ein externer Tabellencache als ungültig markiert ist.

Beispiel

BEGIN
  DBMS_EXT_TABLE_CACHE.VALIDATE (
    owner         => 'SALES', 
    table_name    => 'STORE_SALES',
    raise_errors  => TRUE);
END;
/