Required settings
- Host name
- Port (default is
1521) - Service account
- Service name of the pluggable database (PDB) to write to, for example
ORCLPDB1 - Schema name
Creating a service account
Run this in the pluggable database Artie writes to:Schemas
In Oracle, a schema is a user. Artie doesn’t create schemas, so the schema you pick, and the staging schema if you set one, has to exist before the pipeline starts:NO AUTHENTICATION creates a schema-only account that nobody can log in as. It’s available from Oracle 18c.
Artie creates and evolves tables inside the schema, and drops its own expired staging tables.
Table and column names
Artie quotes every identifier and writes it in uppercase, so a source column namedorderId lands as ORDERID. Schema names are matched case-insensitively for the same reason.
Table names can be up to 128 bytes and can’t contain double quotes.
Data types
Advanced
Does an Oracle to Oracle pipeline keep the source's column types?
Does an Oracle to Oracle pipeline keep the source's column types?
Yes. When the source is also Oracle, Artie creates each column with the source’s exact type, for example
NUMBER(10,2), VARCHAR2(40 BYTE) or TIMESTAMP(9) WITH LOCAL TIME ZONE. INTEGER lands as the equivalent NUMBER(38,0).It falls back to the mapping above when a type can’t be written as is:LONGandLONG RAW, which Oracle can’t read in aMERGEINTERVALtypesCLOB,NCLOB,BLOBandJSONprimary keysRAWandBLOBcolumns, unless binary values are written as raw bytes rather than base64 text
What happens to a value that's too long for its column?
What happens to a value that's too long for its column?
Artie replaces it with
__artie_exceeded_value, cut to the column’s width if the column is narrower. Primary key values are never replaced, so an oversized key fails the load instead of colliding with another row.Artie reads MAX_STRING_SIZE and the database’s character sets when it connects. With MAX_STRING_SIZE = EXTENDED, a VARCHAR2 column holds up to 32,767 bytes, so fewer values are replaced.