DB2 Connect Brugervejledning

De almindeligste DB2 Connect-problemer

I dette afsnit beskrives de mest almindelige symptomer på problemer med at oprette forbindelse vha. DB2 Connect. I hvert tilfælde vises følgende oplysninger:

Bemærkninger:

  1. Brugervejledningen (Quick Beginnings) til DB2-produktet og de seneste versionsnoter indeholder de nyeste oplysninger om anbefalede rettelsesniveauer til programmerne.

  2. Ved meddelelser, der vedrører APPC-kommunikation, kan der også være vist en SNA-registreringskode. Oplysninger om en SNA-registreringskode, der er knyttet til en bestemt meddelelse, skal p.t. hentes fra SNA-subsystemet.

    Undertiden er det muligt at se SNA-registreringskoder i systemloggen. Det afhænger af, hvilket SNA-subsystem der anvendes. I visse situationer kan det være nødvendigt at genskabe problemet, mens en SNA-sporing er aktiv, for at få oplysninger om SNA-registreringskoder.

  3. Termen gateway refererer til DB2 Connect Enterprise Edition.

SQL0965 eller SQL0969

Symptom

Meddelelse SQL0965 og SQL0969 kan blive afsendt sammen med en række forskellige returkoder fra DB2 Universal Database til AS/400, DB2 Universal Database til OS/390, DB2 til MVS/ESA og DB2 til VM og VSE.

Hvis du modtager en af meddelelserne, skal du slå den oprindelige SQLCODE op i dokumentationen til det databaseserverprodukt, der har afsendt meddelelsen.

Løsning

Den SQLCODE, der er modtaget fra værtsdatabasen, kan ikke konverteres. Ret fejlen ud fra fejlkoden, og gentag kommandoen.

SQL1338 under CONNECT

Symptom/årsag

Det symbolske destinationsnavn er ikke defineret eller er ikke defineret korrekt.

Det kan f.eks. ske, når der benyttes en APPC-node, og det symbolske destinationsnavn, der er angivet i DB2-nodekataloget, ikke svarer til en CPI-C-indgang i den lokale konfiguration af APPC-kommunikationssubsystemet.

En anden årsag kan være, at der er installeret flere SNA-stakke på din maskine. Kontrollér PATH og LIBPATH for at sikre, at den stak, du vil bruge, står først i kommandoerne.

Løsninger

  1. Kontrollér, at navnet på CPIC Side Information-profilen, der er angivet i DB2-nodekataloget, svarer til SNA-konfigurationen. Der skelnes mellem store og små bogstaver i navnet.
  2. Kontrollér PATH og LIBPATH for at sikre, at den SNA-stak, du vil bruge, står først i kommandoerne.

SQL1403N under CONNECT

Symptom

SQL1403N Det angivne brugernavn og/eller kodeord er forkert.

Løsning

  1. Brugeren kan ikke valideres på DB2 Connect-arbejdsstationen. Find ud af, om brugeren skal valideres på DB2 Connect-arbejdsstationen.

    Hvis det er tilfældet, skal du sikre, at det rigtige kodeord angives i CONNECT-sætningen (hvis det er nødvendigt at angive kodeord).

    Hvis det ikke er tilfældet, må indgangen i systemdatabasekataloget være katalogiseret forkert med værdien AUTHENTICATION SERVER. Det er standardværdien, hvis AUTHENTICATION ikke eksplicit angives. I det tilfælde skal du ændre katalogiseringen til AUTHENTICATION DCS eller CLIENT.

  2. Kodeordet, der skal sendes til serverdatabasen, mangler. Hvis indgangen i systemdatabasekataloget er katalogiseret med AUTHENTICATION DCS, skal der sendes et kodeord fra DB2-klienten til serverdatabasen. På visse platforme, f.eks. AIX, kan kodeordet kun leveres som en del af CONNECT-sætningen.

SQL5043N

Symptom

En eller flere kommunikationsprotokoller er ikke startet. Selve databasesystemet er imidlertid startet.

Måske er TCP/IP-protokollen ikke startet på DB2 Connect-gatewayen. Det kan tidligere have været muligt at oprette forbindelse fra klienten.

Hvis diaglevel = 4, kan db2diag.log indeholde en indgang, der ligner følgende:

   1999-05-30-14.09.55.321092   Instance:svtdbm5   Node:000
   PID:10296(db2tcpcm)   Appid:none
   common_communication  sqlcctcpconnmgr_child   Probe:46
   DIA3205E Socket-adressen "30090", der er angivet i
   TCP/IP-filen SERVICES og kræves af TCP/IP-serveren,
   anvendes af en anden proces.

Løsning

Advarslen er et symptom på, at DB2 Connect som gateway for eksterne klienter har problemer med at håndtere en eller flere klientkommunikationsprotokoller. Protokollen kan være TCP/IP, APPC eller en anden, og meddelelsen indikerer, at en af de kommunikationsprotokoller, der er defineret over for DB2 Connect, ikke er konfigureret rigtigt.

Årsagen er ofte, at profilvariablen DB2COMM ikke er defineret eller er defineret forkert. Problemet skyldes som regel manglende overensstemmelse mellem DB2COMM-variablen og de navne, der er defineret i konfigurationen af databasesystemet (f.eks. svcename, nname eller tpname).

SQL5043-fejlmeddelelsen kan også opstå i en situation, hvor det tidligere var muligt at oprette forbindelse, og konfigurationen ikke er ændret. Det kan forekomme, når TCP/IP-protokollen benyttes, hvis det eksterne system af en eller anden årsag afbryder forbindelsen. Når det sker, kan det på klienten se ud, som om forbindelsen stadig findes. Forbindelsen kan muligvis genoprettes vha. nedenstående kommandoer uden anden handling.

En af de klienter, der er forbundet med gatewayen, har sandsynligvis stadig fat i TCP/IP-porten. Udfør følgende kommandoer på hver klient, der er forbundet med gatewayen:

  1. db2 terminate
  2. db2stop

SQL30020

Symptom

SQL30020N Der opstod fejl under udførelsen pga. en distribueret protokolfejl, der påvirker udførelsen af efterfølgende kommandoer og SQL-sætninger.

Løsninger

Denne fejl bør rapporteres til IBM Service.

Se, om der findes en FFDC-dump (pid.000) i biblioteket db2dump. Formatér dumpfilen vha. db2fdump, og søg efter ERROR i resultatfilen. Filen kan indeholde en MVS ABEND. Undersøg i det tilfælde, om der er flere oplysninger på MVS-konsollen, og slå ABEND-koden op i bogen DB2 for MVS Messages and Codes.

SQL30060

Symptom

SQL30060N <autorisations-id> har ikke tilladelse til at udføre funktionen <funktion>.

Løsning

Ved oprettelse af forbindelse til DB2 til MVS eller DB2 til OS/390 er CDB-tabellerne (Communications Database) ikke opdateret korrekt. Se i:

SQL30061

Symptom

Der oprettes forbindelse til en forkert værts- eller AS/400-databaseserverplacering. Det er ikke muligt at finde databasen.

Løsning

Der kan være angivet et forkert navn på serverdatabasen i kataloget over databaseforbindelser. I det tilfælde sendes SQLCODE -30061 tilbage til applikationen.

Kontrollér indgangene i DB2-katalogerne (node, database og databaseforbindelser (DCS)). Måldatabasenavnet i kataloget over databaseforbindelser skal svare til navnet på databasen baseret på platformen. For en DB2 Universal Database til OS/390-database skal navnet f.eks. være det samme som det, der benyttes i "LOCATION=placnavn"-feltet i BSDS (Boot Strap Data Set), og som også vises i DSNL004I-meddelelsen (LOCATION=placering), når DDF (Distributed Data Facility) startes. Se også Begrebet database og Opdatering af databasekataloger.

Bogen Kom godt i gang (Quick Beginnings) til DB2 Connect indeholder også eksempler på, hvordan DB2-katalogerne opdateres. Se afsnittet "Opdatér DB2-kataloger" i hvert af de kapitler, der beskriver SNA-konfiguration, eller afsnittet "Konfiguration af TCP/IP-forbindelse" i kapitlet "Konfigurér værts- og AS/400-databaser til DB2 Connect".

Til en APPC- eller APPN-node benyttes følgende kommandoer:

   db2 catalog appc node <nodenavn> remote <sym_destnavn> security program
   db2 catalog dcs database <lokalt_navn> as <reelt_dbnavn>
   db2 catalog database <lokalt_navn> as <alias> at node <nodenavn> 
                authentication dcs

Til en TCP/IP-node benyttes følgende kommandoer:

   db2 catalog tcpip node <nodenavn> remote <værtsnavn_eller_adresse>
                server <portnr_eller_servicenavn>
   db2 catalog dcs database <lokalt_navn> as <reelt_dbnavn> 
   db2 catalog database <lokalt_navn> as <alias> at node <nodenavn>
                authentication dcs

Derefter oprettes forbindelse til databasen vha. følgende kommando:

   db2 connect to <alias> user <brugernavn> using <kodeord>

SQL30073 med returkode 119C under CONNECT

Symptom

Meddelelse SQL30073 afsendes med returkode 119C. Det sker, når databasen på serveren ikke understøtter den tegntabel, der anvendes på DB2-klienten (der går via DB2 Connect). Tegntabellen afledes af konfigurationen af det styresystem, hvor DB2-klienten kører.

Der er flere oplysninger i Administration Guide.

Løsning

Problemet kan ofte løses, ved at der installeres en rettelse på serverdatabasesystemet. Kontakt din serviceorganisation, og installér den rettelse, der anbefales til dette symptom.

Brugeren kan som en midlertidig løsning angive systemvariablen DB2CODEPAGE, så standardtegntabellen erstattes. Undersøg sprogkonventionerne (locale), eller angiv DB2CODEPAGE=850.

På UNIX-platforme kan brugeren muligvis skifte til en anden tegntabel ved at sætte systemvariablen LANG til en anden værdi.

SQL30081N med returkode 1

Symptom

Symptomet er følgende meddelelse og en SNA-registreringskode:

  db2 connect to <databasenavn> user <brugerid>
  Indtast det aktuelle kodeord for <brugerid>:
 
  SQL30081N  Der er fundet en kommunikationsfejl.
  Kommunikationsprotokol
  Anvendt kommunikations-API: "CPI-C"
  Placering, hvor
  fejlen er opdaget: "". Kommunikationsfunktion, der
  opdagede fejlen:
  "cmallc". Protokolspecifikke fejlkoder: "1", "*",
  "0x10030021".
  SQLSTATE=08001

Løsninger

I dette eksempel er registreringskoden 10030021.

Nedenfor vises de mest almindelige registreringskoder, der er knyttet til denne fejlmeddelelse, og forslag til en løsning:

  1. SQL30081N med returkode 1 og SNA-registreringskode 0877002C
    

    Der er angivet et forkert netværksnavn.

  2. SQL30081N med returkode 1 og SNA-registreringskode ffff0003
    

    Der er angivet en forkert MAC-adresse, eller SNA-linket er ikke aktivt.

  3. SQL30081N med returkode 1 og SNA-registreringskode 10030021
    

    Der er uoverensstemmelse mellem LU-typerne.

  4. SQL30081N med returkode 1 og SNA-registreringskode 084B6031
    

    MAXDBAT i DSNZPARM (på et DB2 til MVS- eller DB2 til OS/390-system) er sat til 0

Andre forslag:

  1. Når du opretter Local LU-profilen, skal LU'en defineres som standard-LU. På skærmbilledet SNA Feature i CM/2 skal du enten:
  2. Kontrollér, at SNA er startet på DB2 Connect-gatewayen
  3. Hvis du benytter DB2 til MVS eller DB2 til OS/390, skal du kontrollere, at DDF-adresseområdet (Distributed Data Facility) er startet, og at DB2 er aktiv.

SQL30081N med returkode 2

Symptom

Meddelelse SQL30081N modtages med returkode 2 og SNA-registreringskode 08120022.

Løsning

NUMILU-parameteren i NCP (i værtssystemets ende af linket) kan være sat til 0 (standardværdien). Kontrollér, om det er tilfældet. Ret NCP-definitionen, og aktivér ændringen, inden du forsøger igen.

SQL30081N med returkode 9

Symptom

Symptomet er følgende meddelelse (i dette tilfælde er SNA-registreringskoden ikke nødvendig):

   db2 connect to <database> user <brugerid>
 
  SQL30081N  Der er fundet en kommunikationsfejl.
  Kommunikationsprotokol
  Anvendt kommunikations-API: "CPI-C"
  Placering, hvor
  fejlen er opdaget: "". Kommunikationsfunktion, der
  opdagede fejlen:
  "cmsend". Protokolspecifikke fejlkoder: "9", "*",
  "0x10086021".
  SQLSTATE=08001

Løsning

Problemet er, at TPNAME (Transaction Program Name) ikke er defineret korrekt på DB2 Connect-systemet. Du kan f.eks. have opdateret SNA-konfigurationen, men endnu ikke valideret den på DB2 Connect-gatewayen. Der er flere oplysninger i DB2 Connect Enterprise Edition for OS/2 and Windows Quick Beginnings eller DB2 Connect Personal Edition Kom godt i gang.

SQL30081N med returkode 10

Symptom

Symptomet er følgende meddelelse (SNA-registreringskoden er ikke nødvendig):

  SQL30081N  Der er fundet en kommunikationsfejl.
  Kommunikationsprotokol
  Anvendt kommunikations-API: "CPI-C"
  Placering, hvor
  fejlen er opdaget: "". Kommunikationsfunktion, der
  opdagede fejlen:
  "cmrcv". Protokolspecifikke fejlkoder: "10", "*", "*".
  SQLSTATE=08001

Løsning

Kontrollér, at DB2 er installeret korrekt.

Hvis du bruger DB2 Connect til OS/2-gatewayen, kan du få vist følgende, hvis TP-navnet ikke er defineret korrekt:

   Protokolspecifikke fejlkoder: "10", "*", "0x084C0000".
   SQLSTATE=08001

I det tilfælde skal navnet defineres som følger (i CM/2):

   Transaction program name        = 'tpname'    (user defined)
   OS/2 program path and file name = notused

og (på næste konfigurationsskærmbillede i CM/2)

   Presentation type - background
   Operation type - Queued, operator preloaded

SQL30081N med returkode 20

Symptom

   
  SQL30081N  Der er fundet en kommunikationsfejl.
  Kommunikationsprotokol
  Anvendt kommunikations-API: "CPI-C"
  Placering, hvor
  fejlen er opdaget: "". Kommunikationsfunktion, der
  opdagede fejlen:
  "xcstp". Protokolspecifikke fejlkoder: "20", "*", "*".
  SQLSTATE=08001

Løsning

Sørg for, at SNA-subsystemet er startet på DB2 Connect-systemet.

SQL30081N med returkode 27

Symptom

Meddelelse SQL30081N modtages med returkode 27 og SNA-registreringskode 800Axxxx.

Løsning

PIU (Path Information Unit) i VTAM er for stor.

SQL30081N med returkode 79

Symptom

   
  SQL30081N  Der er fundet en kommunikationsfejl.
  Kommunikationsprotokol
  Anvendt kommunikations-API: "SOCKETS"
  Placering
  fejlen er opdaget: "". Kommunikationsfunktion, der
  opdagede fejlen:
  "connect". Protokolspecifikke fejlkoder: "79", "*", "*".
  SQLSTATE=08001

Løsninger

Fejlen kan opstå i en situation, hvor en ekstern klient forsøger at oprette forbindelse til en DB2 Connect-gateway. Den kan også opstå ved oprettelse af forbindelse fra DB2 Connect-gatewayen til et værtssystem.

  1. Profilvariablen DB2COMM kan være defineret forkert på DB2 Connect-gatewayen. Kontrollér, om det er tilfældet. F.eks. skal kommandoen db2set db2comm=tcpip stå i filen sqllib/db2profile, når DB2 Extended Enterprise Edition køres på AIX.
  2. Der kan være forskel på det TCP/IP-servicenavn og -portnummer, der er angivet på DB2-klienten og på DB2 Connect-gatewayen. Undersøg værdierne i TCP/IP-filen services på begge maskiner.
  3. Kontrollér, at DB2 er startet på DB2 Connect-gatewayen. Angiv diaglevel til 4 i konfigurationen af databasesystemet vha. følgende kommando:
    db2 update dbm cfg using diaglevel 4
    
    Når du har stoppet og genstartet DB2, skal du i filen db2diag.log kontrollere, at DB2 TCP/IP-kommunikationen er startet. Filen skal indeholde en indgang, der ligner følgende:
       1999-02-03-12.41.04.861119   Instance:svtdbm2   Node:00
       PID:86496(db2sysc)   Appid:none
       common_communication  sqlcctcp_start_listen   Probe:80
       DIA3000I "TCPIP"-protokollen er startet.
    

SQL30081N med protokolspecifik fejlkode 10032

Symptom

   
  SQL30081N  Der er fundet en kommunikationsfejl.
  Kommunikationsprotokol
  Anvendt kommunikations-API: "SOCKETS"
  Placering
  fejlen er opdaget: "9.21.85.159".
  Kommunikationsfunktion, der opdagede
  fejlen: "send". Protokolspecifikke fejlkoder: "10032",
   "*", "*".
  SQLSTATE=08001

Løsning

Fejlmeddelelsen kan blive modtaget, når du prøver at afbryde forbindelsen til en maskine, hvor TCP/IP-kommunikationen allerede er afbrudt. Løs problemet med TCP/IP-subsystemet.

På de fleste maskiner kan problemet løses ved at genstarte TCP/IP-protokollen. Undertiden er det nødvendigt at genstarte hele maskinen.


[ Øverst på siden | Forrige side | Næste side | Indholdsfortegnelse | Stikordsregister ]