DBMS_CLOUD-Package - Datentypzuordnung von Oracle zu Parquet

Beschreibt die Zuordnung von Oracle-Datentypen zu Parquet-Datentypen.

Oracle-spezifischer Typ Parkettart
BINARY_DOUBLE DBL
BINARY_FLOAT FLT
DATE DATE
NUMBER(p,s) DECIMAL(p,s)
ANZAHL(p) DEZIMAL (p)
TIMESTAMP(3) TIMESTAMP_MILLIS
TIMESTAMP(3) TIMESTAMP_MILLIS_UTC
TIMESTAMP(6) TIMESTAMP_MICROS
TIMESTAMP(6) TIMESTAMP_MICROS_UTC
TIMESTAMP(9) TIMESTAMP_NANOS
VARCHAR2(4000) STRING

NLS-Sessionparameter

Die NLS-Sessionparameter NLS_DATE_FORMAT, NLS_TIMESTAMP_FORMAT, NLS_TIMESTAMP_TZ_FORMAT und NLS_NUMERIC_CHARACTERS definieren, wie das Datum, der Zeitstempel, der Zeitstempel mit dem Zeitzonenformat und das Radixtrennzeichen für den Zeitstempel mit Dezimalmarkierung angezeigt werden sollen, wenn eine Tabelle mit diesen Spaltentypen abgefragt wird.

Wenn Sie Daten mit DBMS_CLOUD.EXPORT_DATA exportieren und die Parquet-Ausgabe angeben, liest Autonomous Database die Werte dieser Parameter aus der Tabelle NLS_SESSION_PARAMETERS. Autonomous Database konvertiert die Oracle-Datentypen DATE oder TIMESTAMP mit diesen Werten in Parquet-Typen.

Die Parameter NLS_SESSION_PARAMETERS unterstützen eine RR-Formatmaske (Spezifikation mit zwei Zeichen im Jahr).

Die Formatmaske RR für das Jahr wird für diese Parameter nicht unterstützt, wenn Sie Daten mit DBMS_CLOUD.EXPORT_DATA in Parquet exportieren. Wenn Sie versuchen, in Parkett zu exportieren, und NLS_SESSION_PARAMETERS die Formatmaske RR verwenden soll, wird ein Anwendungsfehler ausgelöst (der Standardwert für das Format RR hängt vom Wert des Parameters NLS_TERRITORY ab).

Wenn einer der Parameter NLS_DATE_FORMAT, NLS_TIMESTAMP_FORMAT oder NLS_TIMESTAMP_TZ_FORMAT die Formatmaske RR verwendet, müssen Sie den Formatwert in einen unterstützten Wert ändern, um Daten mit DBMS_CLOUD.EXPORT_DATA in Parquet zu exportieren. Beispiel:

ALTER SESSION SET NLS_DATE_FORMAT = "MM/DD/YYYY";
ALTER SESSION SET NLS_TIMESTAMP_FORMAT = 'YYYY-MM-DD HH:MI:SS.FF';
ALTER SESSION SET  NLS_TIMESTAMP_TZ_FORMAT='YYYY-MM-DD HH:MI:SS.FF TZH:TZM';
Nachdem Sie den Wert geändert haben, können Sie die Änderung prüfen, indem Sie die View NLS_SESSION_PARAMETERS abfragen:
SELECT value FROM NLS_SESSION_PARAMETERS 
       WHERE parameter IN ('NLS_DATE_FORMAT','NLS_TIMESTAMP_FORMAT','NLS_TIMESTAMP_TZ_FORMAT');

Wenn NLS_DATE_FORMAT festgelegt ist, gilt dies für die Spalten mit dem Datentyp DATE. Wenn NLS_TIMESTAMP_FORMAT festgelegt ist, gilt dies für die Spalten mit dem Datentyp TIMESTAMP. Wenn NLS_TIMESTAMP_TZ_FORMAT festgelegt ist, gilt dies für die Spalten mit dem Datentyp TIMESTAMP WITH TIME ZONE.

Weitere Informationen finden Sie unter Datums- und Uhrzeitparameter und NLS-Data Dictionary Views.