Прочетох документацията на Oracle и не е много трудно.
Трябва да добавите OID към вашите типове дефиниции и в двете бази данни.
Можете да използвате GUID като OID.
SELECT SYS_OP_GUID() FROM DUAL;
SYS_OP_GUID()
--------------------------------
AE34B912631948F0B274D778A29F6C8C
Сега създайте своя UDT и в двете бази данни с СЪЩОТО OID.
create type testlinktype oid 'AE34B912631948F0B274D778A29F6C8C' as object
( v1 varchar2(10) , v2 varchar2(20) );
/
Сега създайте таблица:
create table testlink
( name testlinktype);
insert into testlink values (testlinktype ('RC','AB'));
commit;
Сега можете да избирате от таблицата чрез dblink в другата база данни:
select * from [email protected]_ora10;
NAME(V1, V2)
--------------------------
TESTLINKTYPE('RC', 'AB')
Ако получите грешка ORA-21700, когато се опитате да изберете чрез dblink за първи път, просто свържете отново.