Dette avsnittet beskriver de vanligste symptomene på tilkoblingsproblemer som oppstår når du bruker DB2 Connect. I hvert tilfelle får du:
Merknader:
Noen ganger kan du se på SNA-referansekoder ved å se gjennom systemlogger. Dette avhenger av SNA-delsystemet som blir brukt, og i noen situasjoner må du gjenskape problemet mens en SNA-sporing er aktiv, for å hente referansekodeinformasjonen.
Meldingene SQL0965 og SQL0969 kan utstedes med flere ulike returkoder fra DB2 Universal Database for AS/400, DB2 Universal Database for OS/390, DB2 for MVS/ESA og DB2 for VM & VSE.
Hvis du får en av disse meldingene, leser du om den opprinnelige SQL-koden i dokumentasjonen for databasetjenerproduktet som genererte meldingen.
SQL-koden som ble mottatt fra vertsdatabasen, kan ikke konverteres. Løs problemet på grunnlag av feilkoden og send deretter kommandoen som mislyktes, på nytt.
Navnet på den symbolsk mottakeren er ikke definert, eller det er ikke riktig definert.
Dette kan for eksempel skje når en APPC-node blir brukt og navnet på den symbolske mottakeren som er oppgitt i DB2-nodekatalogen, ikke samsvarer med en CPI-C-post i konfigurasjonen for det lokale APPC-kommunikasjonsdelsystemet.
En annen årsak kan være at det er installert flere SNA-stakker på maskinen. Kontroller PATH og LIBPATH og undersøk at stakken du ønsker å bruke, står oppgitt først.
SQL1403N Bruker-IDen og/eller passordet som ble oppgitt, er ugyldig.
Hvis svaret er ja, må du kontrollere at riktig passord er oppgitt i CONNECT-setningen hvis det er nødvendig.
Hvis svaret er nei, må posten i systemets databasekatalog ha blitt katalogisert feil med AUTHENTICATION SERVER (dette er standardverdien hvis AUTHENTICATION ikke er oppgitt eksplisitt). Hvis dette er tilfelle, må du katalogisere posten på nytt med AUTHENTICATION DCS eller CLIENT.
Støtten for en eller flere kommunikasjonsprotokoller ble ikke riktig startet, men selve databasesystemet ble riktig startet.
Det kan hende at TCP/IP-protokollen ikke ble startet på DB2 Connect-portneren. Det kan ha blitt utført en vellykket klienttilkobling tidligere.
Hvis diaglevel = 4, kan db2diag.log inneholde en liknende post, for eksempel:
1997-05-30-14.09.55.321092 Instance:svtdbm5 Node:000 PID:10296(db2tcpcm) Appid:none common_communication sqlcctcpconnmgr_child Probe:46 DIA3205E Socket address "30090" configured in the TCP/IP services file and required by the TCP/IP server support is being used by another process.
Denne advarselen er et symptom som signaliserer at DB2 Connect, som fungerer som en portner for fjerntliggende klienter, har problemer med en eller flere kommunikasjonsprotokoller for klienter. Protokollene kan for eksempel være TCP/IP eller APPC, og meldingen angir vanligvis at en av kommunikasjonsprotokollene som er definert for DB2 Connect, ikke er riktig konfigurert.
Ofte kan årsaken være at DB2COMM-profilvariabelen ikke er definert, eller at den er definert feil. Vanligvis skyldes problemet at det ikke er samsvar mellom DB2COMM-variabelen og navnene som er definert i konfigurasjonen for databasesystemet (for eksempel svcename, nname eller tpname).
Et mulig scenario er at du har hatt en vellykket tilkobling tidligere, og at du senere får feilmeldingen SQL5043, selv om ingen av konfigurasjonene er endret. Dette kan skje hvis du bruker TCP/IP-protokollen og det fjerntliggende systemet avslutter tilkoblingen av en eller annen grunn. Hvis dette skjer, kan det fortsatt finnes en tilkobling på klienten, og noen ganger er det mulig å gjenopprette tilkoblingen uten ytterligere inngrep ved å utføre kommandoene nedenfor.
En av klientene som kobler seg til portneren, har sannsynligvis fortsatt en referanse til TCP/IP-porten. På hver klientmaskin som er koblet til portneren:
SQL30020N Utføringen mislyktes på grunn av en distribuert protokollfeil som vil hindre en vellykket utføring av etterfølgende kommandoer og SQL-setninger.
Du bør kontakte kundeservice hvis du får denne feilen.
Kontroller om du har en ffdc dump (pid.000) i db2dump-katalogen. Formater deretter denne dumpefilen med db2fdump og søk etter "ERROR" i resultatfilen. Filen kan inneholde en MVS ABEND. I dette tilfellet kan du kontrollere om du finner flere opplysninger i MVS-konsollen, og finne avbruddskoden i brukerhåndboken DB2 for MVS Messages and Codes.
SQL30060N "<autorisasjons-ID>" har ikke riktig rettighet til å utføre operasjonen "<operasjon>".
CDB-tabellene ble ikke riktig oppdatert under tilkoblingen til DB2 for MVS eller DB2 for OS/390. Slå opp i:
Tilkobling til feil verts- eller AS/400-databasetjenerplassering - finner ikke måldatabasen.
Feil tjenerdatabasenavn kan være oppgitt i DCS-katalogposten. Når dette skjer, blir SQLCODE -30061 returnert til applikasjonen.
Kontroller DB2-noden, -databasen og DCS-katalogpostene. Feltet Navn på måldatabase i DCS-katalogen må tilsvare navnet i databasen, som er basert på plattformen. For en database DB2 Universal Database for OS/390-database skal navnet for eksempel være det samme som ble brukt i feltet "LOCATION=plasseringsnavn" for BSDS (Boot Strap Data Set), som også blir definert i DSNL004I-meldingen (LOCATION=plassering) når DDF (Distributed Data Facility) blir startet. Les også Databasebegrepet og Oppdatere databasekataloger.
Brukerhåndboken DB2 Connect Begynnerbok inneholder også eksempler som viser hvordan du oppdaterer DB2-katalogene. Les avsnittet "Oppdater DB2-katalogene" i alle kapitlene som beskriver SNA-konfigurasjon, eller les kapittelet "Konfigurere verts- og AS/400-databases for DB2 Connect" og avsnittet "Konfigurere TCP/IP-tilkoblingen".
De riktige kommandoene for en APPC- eller APPN-node er:
db2 catalog appc node <node_name> remote <sym_dest_name> security program db2 catalog dcs database <lokalt_navn> as <reelt_db_navn> db2 catalog database <lokalt_navn> as <kallenavn> at node <nodenavn> authentication dcs
De riktige kommandoene for en TCP/IP-node er:
db2 catalog tcpip node <nodenavne> remote <vertsnavn_eller_adresse> server <portnr_eller_tjenestenavn> db2 catalog dcs database <lokalt_navn> as <reelt_db_navn> db2 catalog database <lokalt_navn> as <kallenavn> at node <nodenavn> authentication dcs
Hvis du vil koble deg til databasen, utsteder du:
db2 connect to <kallenavn> user <bruker_ID> using <passord>
Meldingen SQL30073 blir sendt med returkode 119C. Dette skjer når måltjenerdatabasen ikke støtter kodesettet som DB2-klienten bruker (går gjennom DB2 Connect). Kodesettet blir utledet fra konfigurasjonen av driftsmiljøet som DB2-klienten kjører i.
Du finner flere opplysninger i Administration Guide.
Dette problemet kan ofte løses ved å installere en rettelse på databasesystemet for måltjeneren. Kontakt kundeservice og få tak i og ta i bruk eventuelle rettelser som blir anbefalt for dette symptomet.
Som en midlertidig løsning kan brukeren overstyre standardkodesettet ved å definere DB2CODEPAGE-systemvariabelen. Kontroller landinformasjonen eller definer DB2CODEPAGE=850.
På UNIX-plattformer kan brukeren bytte kodesett ved å definere en annen verdi for LANG-systemvariabelen.
Symptomet består av denne meldingen pluss en SNA-referansekode:
db2 connect to <databasenavn> user <bruker-ID> Oppgi passord for <bruker-ID>: SQL30081N Det er oppdaget en kommunikasjonsfeil. Kommunikasjonsprotokollen som brukes: "APPC". Kommunikasjons-APIen som brukes: "CPI-C". Stedet der feilen ble oppdaget: "". Kommunikasjonsfunksjonen som oppdaget feilen: "cmallc". Protokollspesifikk(e) feilkode(r): "1", "*", "0x10030021". SQLSTATE=08001
I dette eksempelet er referansekoden 030021.
De vanligste referansekodene som er knyttet til denne feilmeldingen, og den foreslåtte løsningen i hvert tilfelle er:
SQL30081N med returkode 1 og SNA-referansekoden 0877002C
Feil nettverksnavn er oppgitt
SQL30081N med returkode 1 og SNA-referansekoden ffff0003
Feil MAC-adresse er oppgitt eller SNA-linken er ikke aktiv.
SQL30081N med returkode 1 og SNA-referansekode 10030021
Det er ikke samsvar mellom LU-typene.
SQL30081N med returkode 1 og SNA-referansekode 084B6031
MAXDBAT i DSNZPARM (på en vertsmaskin med DB2 for MVS eller DB2 for OS/390) er satt til 0
Andre løsninger:
Meldingen SQL30081N blir mottatt med returkode 2 og SNA-referansekoden 08120022.
NUMILU-parameteren på NCP (vertsmaskinenden av linken) kan settes til standardverdien (0). Kontroller dette. Endre NCP-definisjonen om nødvendig før du prøver på nytt, etter at du har aktivert endringen.
Symptomet består av denne meldingen (SNA-referansekoden er ikke nødvendig i dette tilfellet):
db2 connect to <database> user <bruker-ID> SQL30081N Det er oppdaget en kommunikasjonsfeil. Kommunikasjonsprotokollen som brukes: "APPC". Kommunikasjons-APIen som brukes: "CPI-C". Stedet der feilen ble oppdaget: "". Kommunikasjonsfunksjonen som oppdaget feilen: "cmsend". Protokollspesifikk(e) feilkode(r): "9", "*", "0x10086021". SQLSTATE=08001
Problemet er at navnet på transaksjonsprogrammet (TPNAME) ikke er riktig definert på DB2 Connect-systemet. Du kan for eksempel ha oppdatert SNA-konfigurasjonen, men ikke kontrollert den på DB2 Connect-portneren ennå. Du finner flere opplysninger i brukerhåndbøkene DB2 Connect Enterprise Edition for OS/2 and Windows Quick Beginnings og DB2 Connect Personal Edition Begynnerbok.
Symptomet består av denne meldingen (SNA-referansekoden er ikke nødvendig):
SQL30081N Det er oppdaget en kommunikasjonsfeil. Kommunikasjonsprotokollen som brukes: "APPC". Kommunikasjons-APIen som brukes: "CPI-C". Stedet der feilen ble oppdaget: "". Kommunikasjonsfunksjonen som oppdaget feilen: "cmrcv". Protokollspesifikk(e) feilkode(r): "10", "*", "*". SQLSTATE=08001
Kontroller at DB2 er riktig installert.
Hvis du bruker en DB2 Connect for OS/2-portner, kan du få denne meldingen hvis TP-navnet ikke er riktig definert:
Protokollspesifikk(e) feilkode(r): "10", "*", "0x084C0000". SQLSTATE=08001
I CM/2 skal det for eksempel defineres på denne måten:
Transaction program name = 'tpnavn' (brukerdefinert) OS/2 program path and file name = notused
og (på det neste CM/2-konfigurasjonsskjermbildet)
Presentation type - background Operation type - Queued, operator preloaded
SQL30081N Det er oppdaget en kommunikasjonsfeil. Kommunikasjonsprotokollen som brukes: "APPC". Kommunikasjons-APIen som brukes: "CPI-C". Stedet der feilen ble oppdaget: "". Kommunikasjonsfunksjonen som oppdaget feilen: "xcstp". Protokollspesifikk(e) feilkode(r): "20", "*", "*". SQLSTATE=08001
Kontroller at SNA-delsystemet er startet på DB2 Connect-systemet.
Meldingen SQL30081N blir mottatt med returkode 27 og SNA-referansekoden 800Axxxx.
VTAM-baneinformasjonsenheten (PIU) er for stor.
SQL30081N Det er oppdaget en kommunikasjonsfeil. Kommunikasjonsprotokollen som brukes: "TCP/IP". Kommunikasjons-APIen som brukes: "SOCKETS". Sted der feilen ble oppdaget: "". Kommunikasjonsfunksjonen som oppdaget feilen: "connect". Protokollspesifikk(e) feilkode(r): "79", "*", "*". SQLSTATE=08001
Denne feilen kan oppstå hvis en fjerntliggende klient ikke klarer å koble seg til en DB2 Connect-portner. Den kan også oppstå når du kobler deg fra en DB2 Connect-portner til en vertsmaskin.
db2 update dbm cfg using diaglevel 4Når du har startet DB2 og startet det på nytt, ser du i filen db2diag.log for å kontrollere at DB2 TCP/IP-kommunikasjonen er startet. Du får frem utdata som likner på dette:
1998-02-03-12.41.04.861119 Instance:svtdbm2 Node:00 PID:86496(db2sysc) Appid:none common_communication sqlcctcp_start_listen Probe:80 DIA3000I "TCPIP" protocol support was successfully started.
SQL30081N Det er oppdaget en kommunikasjonsfeil. Kommunikasjonsprotokollen som brukes: "TCP/IP". Kommunikasjons-APIen som brukes: "SOCKETS". Sted der feilen ble oppdaget: "9.21.85.159". Kommunikasjonsfunksjonen som oppdaget feilen: "send". Protokollspesifikk(e) feilkode(r): "10032", "*", "*". SQLSTATE=08001
Du kan få denne feilmeldingen når du prøver å koble deg fra en maskin der TCP/IP-kommunikasjonen allerede har mislyktes. Løs problemet ved hjelp av TCP/IP-delsystemet.
På de fleste maskiner er det nok å starte TCP/IP-protokollen på nytt for å løse problemet. I enkelte tilfeller må du kanskje starte hele maskinen på nytt.