DBMS_CLOUD Oracle-Datentyp-zu-Parkett-Zuordnung verpacken

Beschreibung der Zuordnung von Oracle-Datentypen zu Parquet-Datentypen.

Oracle-Typ Parketttyp
BINARY_DOUBLE DBL
BINARY_FLOAT FLT
DATE DATE
Anzahl (p) DEZIMAL (p,s)
ZAHL(p) DEZIMAL (p)
ZEITSTEMPEL(3) TIMESTAMP_MILLIS
ZEITSTEMPEL(3) TIMESTAMP_MILLIS_UTC
ZEITSTEMPEL(6) TIMESTAMP_MICROS
ZEITSTEMPEL(6) TIMESTAMP_MICROS_UTC
ZEITSTEMPEL(9) TIMESTAMP_NANOS
VARCHAR2(4000) ZEICHENFOLGE

NLS-Sessionparameter

Die NLS-Sessionparameter NLS_DATE_FORMAT, NLS_TIMESTAMP_FORMAT, NLS_TIMESTAMP_TZ_FORMAT und NLS_NUMERIC_CHARACTERS definieren, wie Datum, Zeitstempel, Zeitstempel mit Zeitzonenformat und Radixtrennzeichen für 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 außerdem die Werte dieser Parameter aus der Tabelle NLS_SESSION_PARAMETERS. Autonomous Database verwendet diese Werte, um die Oracle-Datentypen DATE oder TIMESTAMP in Parquet-Typen zu konvertieren.

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

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. Ein Anwendungsfehler wird ausgelöst, wenn Sie versuchen, nach Parquet zu exportieren, und NLS_SESSION_PARAMETERS so eingestellt ist, dass die Formatmaske RR verwendet wird (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. Beispiele:

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 es für die Spalten mit dem Datentyp DATE. Wenn NLS_TIMESTAMP_FORMAT festgelegt ist, gilt es für die Spalten mit dem Datentyp TIMESTAMP. Wenn NLS_TIMESTAMP_TZ_FORMAT festgelegt ist, gilt es für die Spalten mit dem Datentyp TIMESTAMP WITH TIME ZONE.

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