dblink-nél jött szembe egy probléma, amit nemnagyon látok megoldhatónak (illetve nagyobbacska beavatkozást igényel, ami bármilyen következménnyel is járhat, bár ez persze mindenre igaz, kezdve a számítógép bekapcsolásával).
Mondjuk én a LOCAL.LOC-NET adatbázisban vagyok, és DBLINK-et nyitok REMOTE.REMDOMAIN adatbázisra. Namostan tegyük fel, hogy a DBLINK neve rögzített (mert bele van heggesztve különféle nézetekbe/programokba), és abban a névben nincs .pont. Hanem mondjuk SZEMELYZETI_DBLINK. Tehát ilyesmit ténykedek:
create database link SZEMELYZETI_DBLINK
connect to HR identified by HR
using 'TNSNAMES-ENTRY';
Most jön az első jó hír: a DBLINK igazi neve SZEMELYZETI_DBLINK.LOC-NET lesz. Sebaj, azért egy-s-más működik (pl. SELECT COUNT(*) FROM DUAL@SZEMELYZETI_DBLINK)
Próbálunk valami bonyolultabbat, és jön a második jó hír: az Ora ránk pirít, hogy aljas módon beraktunk egy érvénytelen -hyphen jelet a névbe, és ez bizony szintaktikus hiba.
Google barátunk sok okos tanácshoz elvezet, a legtöbben azt mondják, hogy a távoli gép domain nevének van jelentősége. Hát nincs: valamilyen lelki okból a lokális domain-nevet csapja dblink nevéhez; kivéve, ha a névben eleve van egy vagy több .pont karakter.
További zsákutca: dblink-hez nem lehet szinonímát csinálni, csak a dblink-et át elért objektumhoz. (Tehát ha kétszáz kell, akkor nyilván kétszáz szinonímát csinálok, nem? Hát nem.)
Tehát csak két lehetőséget vélek látni:
1. nevezzük a dblink-et SZEMELYZETI.DBLINK-re
2. nevezzük át az adatbázist LOCAL.LOCNET-re
Ha egyik sem megy, akkor gondolkodóba esünk.
PS: ja és van egy global_names nevű session-paraméter, ami jobb, ha false, különben csak REMOTE.REMDOMAIN@VALAMI nevű dblink-et szeret a derék Ora a REMOTE.REMDOMAIN adatbázishoz. (Ez nagyon megkönnyítené a különféle migrációkat, élesítéseket, szolgáltatás-áthelyezéseket, az már biztos. (gyk: ez irónia volt))