getdozer / dozer

Dozer is a real-time data movement tool that leverages CDC from various sources and moves data into various sinks.
https://getdozer.io
GNU Affero General Public License v3.0
1.47k stars 117 forks source link

fix: Use user provided type in Oracle source #2473

Closed chubei closed 2 months ago

chubei commented 3 months ago

We don't want to require CREATE TYPE permission.

To make this work, we need to first create a type. Say the type name is DOZER_VARRAY_OF_VARCHAR2.

CREATE TYPE DOZER_VARRAY_OF_VARCHAR2 AS VARRAY(20) OF VARCHAR2(100);

Then grant permission on that type to the replicate user. Say the replicate user is DOZER:

GRANT EXECUTE ON DOZER_VARRAY_OF_VARCHAR2 TO DOZER;

Then in the configuration, add a new field string_collection_type_name, whose value should be the FULL NAME of the type. Say the user that owns the type is SYS.

string_collection_type_name: SYS.DOZER_VARRAY_OF_VARCHAR2