Oracle RMAN backup sets → Parquet
Datatypes conversion mapping when exporting a table from Oracle RMAN backup sets using the ArpeOraBackup ADBC driver (--connectiontype backup_rman) to Parquet format.
Platform availability
backup_rman is available on Windows x64 and Linux x64 only. It is not supported on Linux ARM64.
Compared with
adbc_oracleFor the types both connectors read, the mapping is the one of adbc_oracle, with the same values.
| Source | Oracle RMAN backup sets (backup_rman) |
| Format | Parquet |
| FastBCP | 1.6.1.0 |
| Test Status | OK (16/16 Nullable) — Oracle 19c, 23ai and 26ai backups, every compression |
Parquet Schema
| Oracle type | physical_type | converted_type | logical_type |
|---|---|---|---|
NUMBER(10) | INT64 | — | — |
NUMBER | BYTE_ARRAY | UTF8 | StringType() |
NUMBER(18) | INT64 | — | — |
NUMBER(12,4) | FIXED_LEN_BYTE_ARRAY | DECIMAL | DecimalType(scale=4, precision=12) |
NUMBER(38) | FIXED_LEN_BYTE_ARRAY | DECIMAL | DecimalType(scale=0, precision=38) |
VARCHAR2(200) | BYTE_ARRAY | UTF8 | StringType() |
CHAR(10) | BYTE_ARRAY | UTF8 | StringType() |
NVARCHAR2(100) | BYTE_ARRAY | UTF8 | StringType() |
NCHAR(5) | BYTE_ARRAY | UTF8 | StringType() |
BINARY_FLOAT | FLOAT | — | — |
BINARY_DOUBLE | DOUBLE | — | — |
DATE | INT64 | TIMESTAMP_MILLIS | TimestampType(isAdjustedToUTC=0, unit=MILLIS) |
TIMESTAMP(0) | INT64 | TIMESTAMP_MILLIS | TimestampType(isAdjustedToUTC=0, unit=MILLIS) |
TIMESTAMP(6) | INT64 | TIMESTAMP_MICROS | TimestampType(isAdjustedToUTC=0, unit=MICROS) |
TIMESTAMP(9) | INT64 | — | TimestampType(isAdjustedToUTC=0, unit=NANOS) |
RAW(100) | BYTE_ARRAY | — | — |
Notes
NUMBER(p)andNUMBER(p,0)withpup to 18 are written as 64-bit integers; larger precisions andNUMBER(p,s)as decimals of the declared precision and scale.NUMBERwithout precision is written as text: the exact decimal value, without exponent (0.0123).DATEandTIMESTAMPkeep the stored value, without time zone (isAdjustedToUTC=0). The unit follows the declared precision: milliseconds forDATEandTIMESTAMP(0)toTIMESTAMP(3), microseconds forTIMESTAMP(4)toTIMESTAMP(6), nanoseconds forTIMESTAMP(7)toTIMESTAMP(9).- Text is converted to UTF-8 from the database character set (
VARCHAR2,CHAR) or from the national character set (NVARCHAR2,NCHAR).CHARandNCHARvalues keep their trailing spaces, as Oracle stores them. Oracle stores an empty string asNULL: it is exported asNULL. BINARY_FLOATandBINARY_DOUBLEkeep their exact value.
Refused columns
LOB (CLOB, NCLOB, BLOB, BFILE), INTERVAL, ROWID / UROWID, JSON, VECTOR, XMLTYPE and object columns cannot be exported: a table with such a column is refused with a message naming the column. Export the other columns by listing them in --query.