Šodien, tā kā ETL mezgla mašīna vēlas piekļūt jaunam datu bāzes serverim, tai ir jākonfigurē tnsnames.ora, un pēc rezultāta konfigurēšanas tiek ziņots par kļūdu, izveidojot savienojumu ar datu bāzi:
ORA-12547: TNS:lost contact
Sākumā es domāju, ka tas ir nepareizi konfigurēts tnsnames.ora, bet pēc salīdzināšanas un pārbaudes šī iespēja tika izslēgta. Tā kā tā pati konfigurācija citos resursdatoros ir pārbaudīta, lai izveidotu savienojumu ar šo datu bāzes serveri.
Pēc tam es meklēju daudz informācijas internetā saskaņā ar šo kļūdu "ORA-12547: TNS: zaudēts kontakts", daži teica, ka trūkst programmatūras pakotņu, un daži teica, ka ir problēma ar failu atļauju iestatījumiem datu bāzes resursdatorā, bet tie neatbilst šoreiz radušajai situācijai.
Vēlāk es nolēmu apskatīt žurnālus, pārbaudīju datu bāzes uzraudzības žurnāla listener.log un konstatēju, ka tajā ir šādi kļūdu ziņojumi: 20-MAY-2016 15:46:03 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=db01)(USER=grid))(COMMAND=status)(ARGUMENTS=64)(SERVICE=LISTENER)(VERSION=186647552)) * status * 0 Ienākošais savienojums no 192.168.24.1 noraidīts 2016. GADA 20. MAIJS 15:46:06 * 12546
TNS-12546: TNS:permission denied
TNS-12560: TNS:protocol adapter error TNS-00516: Atļauja atteikta
atsauce un pārbaudīja datu bāzes servera sqlnet.ora konfigurāciju un konstatēja, ka tas bija tāpēc, ka tika iestatīts datu bāzes piekļuves IP ierobežojums, tas ir, tikai norādītais IP varēja piekļūt datu bāzei.
Tā kā tā ir divu mezglu RAC datu bāze, sqlnet.ora modificēšana zem režģa lietotāja ir pievienot ETL mezgla IP adresi IP baltajam sarakstam, lai piekļūtu datu bāzei. Pēc modifikācijas restartējiet klausīšanos (lsnrctl pārlādēšana), pretējā gadījumā joprojām tiks ziņots par kļūdu. |