Nykyään, koska ETL-solmukone haluaa päästä uuteen tietokantapalvelimeen, sen täytyy konfiguroida tnsnames.ora, ja kun tulos on konfiguroitu, tietokantaan yhdistettäessä raportoidaan virhe:
ORA-12547: TNS:lost contact
Aluksi luulin, että tnsnames.ora oli väärin konfiguroitu, mutta vertailun ja varmistuksen jälkeen tämä mahdollisuus suljettiin pois. Koska sama konfiguraatio muissa isännöissä on varmistettu yhdistävän tähän tietokantapalvelimeen.
Seuraavaksi etsin paljon tietoa internetistä tämän virheen "ORA-12547: TNS: lost contact" perusteella, jotkut sanoivat, että ohjelmistopaketteja puuttui, toiset taas tiedostojen käyttöoikeusasetuksissa tietokantapalvelimessa, mutta ne eivät vastanneet tällä kertaa kohtaamalla tilannetta.
Myöhemmin päätin katsoa lokit, tarkistin tietokannan valvontalokin listener.log ja huomasin, että siellä oli seuraavat virheilmoitukset: 20-MAY-2016 15:46:03 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=db01)(USER=grid))(COMMAND=status)(ARGUMENTS=64)(SERVICE=LISTENER)(VERSION=186647552)) * status * 0 Saapuva yhteys osoitteesta 192.168.24.1 hylätty 20. TOUKOKUUTA 2016 15:46:06 * 12546
TNS-12546: TNS:permission denied
TNS-12560: TNS:protocol adapter error TNS-00516: Lupa evätty
viitaten ja tarkistiin tietokantapalvelimen sqlnet.ora-konfiguraation ja totesi, että se johtui siitä, että tietokannan pääsy-IP-rajoitus oli asetettu, eli vain määritelty IP-osoite pääsi tietokantaan.
Koska kyseessä on kahden solmun RAC-tietokanta, sqlnet.ora:n muokkaaminen ruudukon käyttäjällä tarkoittaa ETL-solmun IP-osoitteen lisäämistä IP-valkoiseen listalle, jotta tietokantaan pääsee käsiksi. Muokkauksen jälkeen käynnistä kuuntelu uudelleen (lsnrctl reload), muuten virhe raportoidaan silti. |