Komunikaty

SQL0900 - SQL0999

SQL0900NAplikacja jest w stanie błędu. Połączenie z bazą danych nie istnieje.

Objaśnienie: Połączenie z bazą danych nie istnieje. Mogła to powodować jedna z następujących przyczyn:

Działanie użytkownika: Ponownie ustanów połączenie aktywne albo przez przełączenie do istniejącego połączenia uśpionego (używając CONNECT TO lub SET CONNECTION), albo przez ponowne nawiązanie nowego połączenia (używając CONNECT).

sqlcode: -900

sqlstate: 08003

SQL0901NInstrukcja SQL nie została wykonana z powodu niegroźnego błędu systemowego. Można wykonywać kolejne instrukcje SQL. (Przyczyna "<przyczyna>".)

Objaśnienie: Wystąpił błąd, który został spowodowany błędem systemowym. Wykonywanie instrukcji SQL zakończyło się z powodu "<przyczyna>" (występuje tylko po angielsku i jest użyteczny tylko dla inżyniera serwisu IBM).

Działanie użytkownika: Zapisz numer komunikatu (SQLCODE) i przyczynę "<przyczyna>".

Jeśli śledzenie było aktywne, wywołaj z poziomu komend systemu operacyjnego program Independent Trace Facility. Zajrzyj do rozdziału dotyczącego Independent Trace Facility w podręczniku Troubleshooting Guide, aby zapoznać się z informacjami o sposobie jego użycia. Następnie skontaktuj się z inżynierem serwisu technicznego, dysponując następującymi informacjami:

Użytkownicy systemów stowarzyszeń: Ogranicz wystąpienie problemu do źródła danych nieodpowiadającego na żądanie (zapoznaj się z podręcznikiem Problem Determination Guide, aby określić, które źródło danych nie przetworzyło instrukcji SQL) i wykonaj odpowiednie czynności diagnostyczne dla źródła danych. Procedury wykrywania problemów mogą być różne dla różnych źródeł danych; zapoznaj się z odpowiednią dokumentacją.

sqlcode: -901

sqlstate: 58004

SQL0902CWystąpił błąd systemowy (kod przyczyny = "<kod-przyczyny>"). Nie można przetwarzać kolejnych instrukcji SQL.

Objaśnienie: Wystąpił błąd systemowy.

Działanie użytkownika: Zapisz numer komunikatu (SQLCODE) i kod przyczyny w komunikacie.

Jeśli śledzenie było aktywne, wywołaj z poziomu komend systemu operacyjnego program Independent Trace Facility. Zajrzyj do rozdziału dotyczącego Independent Trace Facility w podręczniku Troubleshooting Guide, aby zapoznać się z informacjami o sposobie jego użycia. Następnie skontaktuj się z inżynierem serwisu technicznego, dysponując następującymi informacjami:

Użytkownicy systemów stowarzyszeń: Ogranicz wystąpienie problemu do źródła danych nieodpowiadającego na żądanie (zapoznaj się z podręcznikiem Problem Determination Guide, aby określić, które źródło danych nie przetworzyło instrukcji SQL) i wykonaj odpowiednie czynności diagnostyczne dla źródła danych. Procedury wykrywania problemów mogą być różne dla różnych źródeł danych; zapoznaj się z odpowiednią dokumentacją.

sqlcode: -902

sqlstate: 58005

SQL0903NInstrukcja COMMIT nie powiodła się, transakcja została wycofana. Kod przyczyny: "<kod_przyczyny>".

Objaśnienie: Jeden lub kilka serwerów biorących udział w bieżącej jednostce pracy nie mogło przygotować bazy danych do zatwierdzenia. Instrukcja COMMIT nie powiodła się i wycofano zmiany z transakcji.

Możliwe kody przyczyn:

01
Połączenie z jedną z baz danych biorących udział w jednostce pracy zostało utracone.

Użytkownicy systemów stowarzyszeń: jeśli podłączona baza danych jest bazą serwera stowarzyszonego, w której są używane nazwy zastępcze (nicknames), zostało utracone połączenie z jednym ze źródeł danych wymagane dla nazwy zastępczej.

02
Jedna z baz danych albo węzłów biorących udział w jednostce pracy została udostępniona, ale nie mogła zostać przygotowana do zatwierdzenia.

Użytkownicy systemów stowarzyszeń: jeśli podłączona baza danych jest bazą serwer stowarzyszony, w której są używane nazwy zastępcze (nicknames), jedno ze źródeł danych, wymagane dla nazwy zastępczej nie może zostać przygotowane do zatwierdzenia.

03
DB2 Data Links Manager biorący udział w jednostce pracy nie mógł zostać przygotowany do zatwierdzania.

Działanie użytkownika: Jeśli połączenie z bazą danych zostało utracone, nawiąż je ponownie. Jeśli błąd nie był związany z połączeniem, przejrzyj diagnostyczne protokoły błędów w systemie zdalnym, aby określić przyczynę wystąpienia błędu i wymagane działanie. Ponownie uruchom program użytkowy.

sqlcode: -903

sqlstate: 40504

SQL0904NWykonanie nie powiodło się z powodu niedostępności zasobów. Kod przyczyny = "<kod-przyczyny>", typ zasobu = "<typ-zasobu>", nazwa zasobu = "<nazwa-zasobu>".

Objaśnienie: Instrukcja SQL nie mogła zostać wykonana, ponieważ zasób "<nazwa-zasobu>" typu "<typ-zasobu>" nie był dostępny z przyczyn określonych przez <kod-przyczyny>". Zapoznaj się z dokumentacją Problem Determination dla bazy danych DB2 dla systemu MVS, aby otrzymać wyjaśnienie dotyczące kodów typów zasobów.

Działanie użytkownika: Sprawdź identyfikator zasobu, który nie był dostępny. Aby określić, dlaczego zasób ten nie był dostępny, sprawdź podany <kod-przyczyny>".

sqlcode: -904

sqlstate: 57011

SQL0905NWykonanie nie powiodło się z powodu przekroczenia limitu zasobu. Nazwa zasobu = "<nazwa-zasobu>", limit = "<wielkość-limitu1>" sekund CPU ("<wielkość-limitu2>" jednostek usług) uzyskany z "<źródło-limitu>".

Objaśnienie: Wykonanie instrukcji SQL zostało przerwane z powodu przekroczenia limitu zasobu.

Nazwą zasobu, którego limit został przekroczony, jest <nazwa-zasobu>". Jest to również nazwa kolumny w tabeli specyfikacji limitów zasobów, z której limit został pobrany. Przekroczony limit liczony w sekundach czasu pracy procesora wynosi "<wielkość-limitu1>", a w jednostkach serwisowych wynosi "<wielkość-limitu2>". "<nazwa-zasobu>" może być ASUTIME, która jest liczbą sekund czasu pracy procesora dozwolonych dla każdej instrukcji SQL. Maksymalną liczbę sekund czasu pracy procesora określa "<wielkość-limitu1>". Maksymalną liczbą jednostek serwisowych jest "<wielkość-limitu2>".

Źródłem danych używanym do określania wielkości limitu jest "<źródło-limitu>", będące nazwą tabeli specyfikacji ograniczeń zasobów lub 'parametrem systemowym'. Jeśli źródło jest parametrem systemowym, tabela specyfikacji limitów zasobów może nie zawierać odnośnej pozycji lub wystąpił błąd w trakcie dostępu do tej tabeli. W obu przypadkach limit jest określany na podstawie parametru instalacyjnego (systemowego).

Działanie użytkownika: Sprawdź, dlaczego wykonanie instrukcji SQL zajmuje tyle czasu i podejmij odpowiednie działanie. Rozważ uproszczenie instrukcji SQL, zmianę struktury tabel i indeksów lub skontaktowanie się z grupą instalacyjną odpowiedzialną za zarządzanie tabelami specyfikacji limitów zasobów.

Aplikacja, która otrzyma ten kod powrotu, może wykonać dodatkowe instrukcje języka SQL.

sqlcode: -905

sqlstate: 57014

SQL0906NInstrukcja SQL nie może być wykonana, ponieważ funkcja ta została wyłączona wskutek wcześniejszego wystąpienia błędu.

Objaśnienie: Nie powiodło się wykonanie instrukcji SQL z powodu wyłączenia żądanej funkcji w efekcie wcześniejszego wystąpienia błędu. Sytuacja taka może wystąpić wtedy, gdy aplikacja została awaryjnie zakończona (np. przy wykorzystaniu warunku ON ERROR w programie PL/I), ale kontynuowała przetwarzanie instrukcji SQL. Może ona również wystąpić, jeśli w transakcji DB2 CICS wystąpił błąd podczas tworzenia wątku, ale kontynuowała ona wprowadzanie żądań SQL bez uprzedniego wysłania instrukcji SYNCPOINT ROLLBACK.

Działanie użytkownika: W ogólnym przypadku aplikacja powinna zakończyć działanie po otrzymaniu tego kodu powrotu. Wszystkie następne podejmowane przez aplikację próby wykonania innych instrukcji SQL również zakończą się niepowodzeniem i spowodują zwrócenie tego samego kodu powrotu. W przypadku transakcji DB2 CICS, jeśli pole SQLERRP znajdujące się w obszarze komunikacyjnym SQL zawiera nazwę modułu DSNCEXT1, transakcja może wydać wprowadzić SYNCPOINT ROLLBACK i kontynuować przetwarzanie. Jeśli transakcja wybierze wycofanie zmian (ROLLBACK) i kontynuację przetwarzania, musi być w stanie skorygować sytuację, w wyniku której wystąpił początkowy błąd utworzenia wątku.

sqlcode: -906

sqlstate: 24514, 51005, 58023

SQL0908NBłąd "<typu-wiązania>" dla uprawnień "<ID-autoryzowanego-użytkownika>"; operacje BIND, REBIND lub AUTO_REBIND nie są dopuszczalne.

Objaśnienie: Dla instrukcji BIND oraz REBIND podany ID autoryzowanego użytkownika nie ma prawa do wykonania podanego "<typu-wiązania>" dla planu albo pakietu. Istnieje pozycja w tabeli specyfikacji limitów zasobów (RLST), która zabrania temu ID autoryzowanego użytkownika, albo wszystkim ID, wykonywania wiązania albo ponownego wiązania. Dla instrukcji AUTO-REBIND parametr systemowy kontrolujący operacje AUTO-REBIND jest ustawiony, tak aby operacje te były wyłączone.

typ-wiązania
Typ operacji wiązania (BIND, REBIND albo AUTO-REBIND).

ID-autoryzowanego-użytkownika
ID autoryzowanego użytkownika wywołującego podkomendę BIND lub podstawowy ID autoryzowanego użytkownika wywołującego plan dla operacji AUTO-REBIND.

Działanie użytkownika: Jeśli podany ID autoryzowanego użytkownika powinien mieć prawo do wykonywania operacji wiązania, zmień pozycję w aktywnej tabeli. Jeśli operacje AUTO-REBIND są wyłączone, powiąż ponownie pakiet przed jego ponownym uruchomieniem.

sqlcode: -908

sqlstate: 23510

SQL0909NObiekt został usunięty.

Objaśnienie: Aplikacja: (1) usunęła tabelę, a następnie próbowała uzyskać do niej dostęp lub (2) usunęła indeks, a następnie próbowała uzyskać dostęp do tabeli obiektów przy użyciu tego indeksu.

Działanie użytkownika: Kod aplikacji musi zostać zmodyfikowany, tak aby nie próbowała ona uzyskiwać dostępu lub używać obiektu po jego usunięciu.

Szczególnie niebezpieczne jest usuwanie indeksów z poziomu aplikacji, ponieważ nie ma możliwości sprawdzenia, czy plan, który został wygenerowany dla aplikacji (komendami BIND lub REBIND), nie używa w danej chwili tego indeksu w celu uzyskania dostępu do tabeli obiektów.

sqlcode: -909

sqlstate: 57007

SQL0910NInstrukcja SQL nie może uzyskać dostępu do obiektu oczekującego na modyfikację.

Objaśnienie: Aplikacja próbowała uzyskać dostęp do obiektu wewnątrz tej samej jednostki pracy, gdzie wystąpiła jedna z następujących sytuacji:

Użytkownicy systemów stowarzyszeń: Dodatkowo oprócz podanych powyżej powodów mogą istnieć inne ograniczenia związane ze źródłem danych, uniemożliwiające dostęp do obiektu.

Nie można wykonać instrukcji SQL.

Działanie użytkownika: Zmodyfikuj aplikację, aby nie próbowała uzyskać dostępu do obiektu wewnątrz tej samej jednostki pracy, gdzie wykonano modyfikację. Ogólnie lepiej jest odizolować instrukcje języka definicji danych (DDL) w innej jednostce pracy od instrukcji języka manipulacji danymi (DML), które używają tych samych obiektów.

Przed poprawnym wykonaniem instrukcji, która się nie powiodła, należy zatwierdzić jednostkę pracy lub wycofać zmiany. Jeśli zatwierdzenie modyfikacji spowodowało usunięcie obiektu, może zajść konieczność odtworzenia tego obiektu w celu poprawnego przetworzenia instrukcji SQL.

Jeśli obiekt jest modyfikowany wewnątrz SAVEPOINT, zmodyfikuj aplikację, tak aby nie próbowała uzyskać dostępu do obiektu po wykonaniu przez aplikację instrukcji ROLLBACK TO SAVEPOINT. Nie będzie dostępny żaden kursor, który ma dostęp do modyfikowanego obiektu i jest otwarty podczas wykonywania instrukcji ROLLBACK TO SAVEPOINT. Zmodyfikuj aplikację, tak aby zamykała kursor.

Jeśli nie powiedzie się instrukcja wstawiania, usuwania lub aktualizacji, dotycząca tymczasowej tabeli zadeklarowanej jako NOT LOGGED, wtedy zostaną usunięte wszystkie wiersze z tej tabeli. Nie będzie dostępny żaden kursor, który w czasie niepowodzenia operacji jest otwarty dla takiej zadeklarowanej tabeli tymczasowej. Kursor ten powinien zostać przez aplikację zamknięty.

Użytkownicy systemów stowarzyszeń: Ogranicz wystąpienie problemu do źródła danych nie odpowiadającego na żądanie (zapoznaj się z podręcznikiem Problem Determination Guide, aby określić, które źródło danych nie przetworzyło instrukcji SQL) i sprawdź, jakie dodatkowe ograniczenia niepozwalające na dostęp do obiektu istnieją w źródle danych. Sprawdź, czy aplikacja nie narusza żadnego z tych ograniczeń.

sqlcode: -910

sqlstate: 57007

SQL0911NWycofano bieżącą transakcję z powodu zakleszczenia lub przekroczenia czasu. Kod przyczyny "<kod-przyczyny>".

Objaśnienie: Bieżąca jednostka pracy nie mogła użyć obiektu i należało ją wycofać.

Poniżej przedstawiono kody przyczyny:

2
wycofano transakcję z powodu zakleszczenia

68
wycofano transakcję z powodu przekroczenia czasu blokady (lock timeout)

72
wycofano transakcję z powodu wystąpienia błędu dotyczącego DB2 Data Links Manager związanego z transakcją.
Uwaga:Należy ponownie wprowadzić zmiany związane z jednostką pracy.
Aplikacja została cofnięta do stanu, w jakim była po wykonaniu ostatniej instrukcji COMMIT.

Działanie użytkownika: Aby uniknąć zakleszczenia lub przekroczenia czasu oczekiwania, jeśli jest to możliwe, wywołuj często operacje COMMIT wewnątrz długo wykonywanych aplikacji lub aplikacji, które mogą łatwo spowodować zakleszczenie.

Użytkownicy systemów stowarzyszeń: Zakleszczenie może wystąpić na serwerze stowarzyszonym lub w źródle danych. Nie istnieje mechanizm wykrywania zakleszczeń obejmujących źródła danych oraz potencjalnie także system zintegrowany. Istnieje możliwość zidentyfikowania źródła danych nie odpowiadającego na żądanie (zapoznaj się z podręcznikiem dotyczącym określania problemów, aby określić, które źródło danych nie przetworzyło instrukcji SQL).

Podczas przetwarzania określonych instrukcji SQL zakleszczenia są często występującym zjawiskiem, które należy brać pod uwagę. Zalecane jest takie projektowanie aplikacji, aby minimalizować ryzyko powstawania zakleszczeń.

sqlcode: -911

sqlstate: 40001

SQL0912NOsiągnięto maksymalną liczbę żądań blokad dla bazy danych.

Objaśnienie: Osiągnięto maksymalną liczbę żądań blokad dla bazy danych, ponieważ przydzielono niewystarczającą ilość pamięci dla listy blokad.

Nie można wykonać instrukcji.

Działanie użytkownika: Program użytkowy powinien zatwierdzić instrukcję COMMIT lub ROLLBACK zanim zatwierdzi inne instrukcje SQL. Rozważ zwiększenie parametru konfiguracyjnego bazy danych (locklist), aby udostępnić więcej pamięci dla listy blokad.

sqlcode: -912

sqlstate: 57011

SQL0913NNiepomyślne wykonanie spowodowane przez zakleszczenie lub przekroczenie czasu. Kod przyczyny "<kod-przyczyny>".

Objaśnienie: Wywołane żądanie doprowadziło do konfliktu w związku z użyciem obiektu i działanie nie powiodło się.

Poniżej przedstawiono kody przyczyny:

2
część transakcji nie powiodła się z powodu zakleszczenia,

68
część transakcji nie powiodła się z powodu przekroczenia czasu blokady,

72
wycofano transakcję z powodu wystąpienia błędu dotyczącego DB2 Data Links Manager związanego z transakcją.

80
instrukcja nie powiodła się z powodu przekroczenia czasu.

Działanie użytkownika:

sqlcode: -913

sqlstate: 57033

SQL0917NWystąpił błąd podczas realizowania zdalnego wiązania z requestera aplikacji DRDA.

Objaśnienie: Wystąpił błąd podczas realizowania zdalnego wiązania z requestera aplikacji DRDA. Błąd ten mógł pojawić się podczas przetwarzania instrukcji wiązania albo zatwierdzania.

Działanie użytkownika: Problem ten zwykle jest spowodowany przez instrukcję SQL, która nie została powiązana wskutek wystąpienia błędu. Użytkownik powinien zapoznać się z instrukcją diagnostyczną requestera aplikacji DRDA, aby określić, która instrukcja powoduje wystąpienie błędu i poprawić ją.

sqlcode: -917

sqlstate: 42969

SQL0918NAplikacja musi wykonać wycofanie zmian.

Objaśnienie: Dla danej jednostki pracy wycofano zmiany z bazy danych, ale mogło się zdarzyć, że dla innych menedżerów zasobów związanych z tą jednostką nie wycofano zmian. Aby zapewnić integralność aplikacji, wszystkie żądania SQL będą odrzucane aż do wycofania zmian przez aplikację.

Działanie użytkownika: Żądania SQL będą odrzucane aż do wycofania zmian przez aplikację. Na przykład w środowisku CICS należy to zrobić przy użyciu komendy CICS SYNCPOINT ROLLBACK.

sqlcode: -918

sqlstate: 51021

SQL0920NDane z systemu klienta bazy danych nie mogą być używane przez inne systemy klientów baz danych.

Objaśnienie: Stacja robocza została skonfigurowana jako klient lub jako serwer z lokalnymi klientami. Bazy danych utworzone w tym systemie nie mogą być współużytkowane przez inne stacje robocze.

Nie można wykonać tej funkcji.

Działanie użytkownika: Pobieraj dane tylko ze stacji roboczych serwera.

sqlcode: -920

sqlstate: 57019

SQL0925NInstrukcja SQL COMMIT jest niepoprawna dla środowiska przetwarzania aplikacji.

Objaśnienie: Instrukcja COMMIT nie jest dozwolona w następujących przypadkach:

Działanie użytkownika: Rozwiąż problem, wykonując jedno z następujących działań:

sqlcode: -925

sqlstate: 2D521

SQL0926NInstrukcja SQL ROLLBACK jest niepoprawna dla środowiska przetwarzania aplikacji.

Objaśnienie: Instalacja ROLLBACK nie jest dozwolona w następujących przypadkach:

  1. W środowisku rozproszonym (Distributed Transaction Processing), takim jak CICS, próbowano wykonać instrukcję ROLLBACK statycznego SQL, ale wymagana jest instrukcja wycofująca zmiany specyficzna dla danego środowiska. Na przykład w środowisku CICS będzie to komenda CICS SYNCPOINT ROLLBACK.
  2. Aplikacja DB2 prekompilowana lub ustawiona do używania CONNECT 2 wywołała instrukcję ROLLBACK dynamicznego SQL, podczas gdy dopuszczalne są tylko instrukcje ROLLBACK statycznego SQL.
  3. Wywołanie instrukcji SQL ROLLBACK z procedury zapisanej w bazie jest ograniczone również wtedy, gdy program wywołujący jest uruchamiany w rozproszonej jednostce pracy (CONNECT typ 2) lub w środowisku rozproszonym (Distributed Transaction Processing).

Działanie użytkownika:

  1. Usuń instrukcję ROLLBACK i zastąp ją instrukcją, która jest jej poprawnym odpowiednikiem dla tego środowiska.
  2. W przypadku połączenia typu 2 używaj tylko statycznej instrukcji ROLLBACK (tzn. statycznego SQL).
  3. W przypadku procedury zapisanej w bazie usuń ją w całości.

sqlcode: -926

sqlstate: 2D521

SQL0930NBrak dostępnej pamięci potrzebnej do wykonania instrukcji.

Objaśnienie: Baza danych otrzymała żądanie wymagające innej strony pamięci, ale menedżer baz danych nie ma dostępu do innych stron pamięci.

Nie można wykonać instrukcji.

Działanie użytkownika: Możliwe rozwiązania:

sqlcode: -930

sqlstate: 57011

SQL0931CW systemowej tabeli plików wystąpiło przepełnienie. Nie można przetwarzać kolejnych instrukcji SQL.

Objaśnienie: Osiągnięto granicę systemu operacyjnego. Program użytkowy nie może wywoływać kolejnych instrukcji SQL. Bazę danych zaznaczono jako do odtwarzania i nie można uzyskać dostępu do niej z żadnego programu użytkowego.

Działanie użytkownika: Zakończ działanie wszystkich aplikacji korzystających z bazy danych. Uruchom ponownie bazę danych.

Aby zapobiec ponownemu pojawieniu się problemu:

sqlcode: -931

sqlstate: 58005

SQL0950NNie można usunąć tabeli lub indeksu, ponieważ jest obecnie używany.

Objaśnienie: Nie można wywołać instrukcji DROP TABLE lub DROP INDEX w momencie, gdy otwarty kursor używa tabeli lub indeksu.

Nie można wykonać instrukcji. Nie usunięto tabeli lub indeksu.

Działanie użytkownika: Zamknij wymagane kursory i ponownie wywołaj instrukcję.

sqlcode: -950

sqlstate: 55006

SQL0951NNie można zmienić obiektu "<nazwa-obiektu>" typu "<typ-obiektu>", ponieważ jest w danym momencie używany przez ten sam proces aplikacji.

Objaśnienie: Nie można wykonać instrukcji ALTER ani SET INTEGRITY dla obiektu, jeśli obiekt ten jest zablokowany lub używany.

Nie można wykonać instrukcji. Obiekt nie został zmodyfikowany.

Działanie użytkownika: Zamknij wszystkie kursory, które zależą w sposób pośredni lub bezpośredni od obiektu "<nazwa-obiektu>" i wprowadź instrukcję ponownie.

sqlcode: -951

sqlstate: 55007

SQL0952NPrzetwarzanie zostało zatrzymane z powodu wystąpienia przerwania.

Objaśnienie: Użytkownik mógł nacisnąć kombinację klawiszy służącą do przerwania programu.

Przetwarzanie instrukcji zostało przerwane. Do bazy danych mogły zostać wprowadzone pewne zmiany, ale nie zostały one zatwierdzone przed zatrzymaniem przetwarzania.

Użytkownicy systemów stowarzyszeń: Sytuacja ta może być wykryta również przez źródło danych.

Działanie użytkownika: Kontynuuj wykonywanie aplikacji.

Jeśli instalujesz przykładową bazę danych, przerwij instalację i powtórnie zainstaluj przykładową bazę danych.

sqlcode: -952

sqlstate: 57014

SQL0954CNa stercie aplikacji brak wystarczającej ilości pamięci do wykonywania instrukcji.

Objaśnienie: Brak dostępnej pamięci dla aplikacji.

Nie można wykonać instrukcji.

Działanie użytkownika: W odpowiedzi na ten komunikat przerwij aplikację. Zwiększ parametr konfiguracyjny bazy danych (applheapsz), aby zwiększyć stertę aplikacji.

sqlcode: -954

sqlstate: 57011

SQL0955CNie można przydzielić pamięci sortowania do wykonania instrukcji. Kod przyczyny = "<kod-przyczyny>".

Objaśnienie: Kod przyczyny wskazuje na to, że agent bazy danych nie ma dostępu do wystarczającej ilości pamięci wirtualnej, aby wykonać proces sortowania:

1
niewystarczająca ilość pamięci dla procesu prywatnego,

2
niewystarczająca ilość pamięci współużytkowanej w obszarze współużytkowanej pamięci dla całej bazy danych, określonej dla przeprowadzenia procesu sortowania.
Nie można wykonać tej instrukcji, można jednak wykonywać inne instrukcje SQL.

Działanie użytkownika: Wykonaj jedną lub więcej z następujących czynności:

sqlcode: -955

sqlstate: 57011

SQL0956CNa stercie bazy danych nie ma wystarczającej ilości pamięci do wykonywania instrukcji.

Objaśnienie: Brak dostępnej pamięci dla bazy danych.

Nie można wykonać instrukcji.

Działanie użytkownika: W odpowiedzi na ten komunikat przerwij aplikację. Zwiększ parametr konfiguracyjny bazy danych (dbheap), aby umożliwić utworzenie większej sterty bazy danych. Jeśli liczba serwerów we/wy jest bliska maksymalnej dopuszczalnej wartości, zalecane jest zmniejszenie tej liczby.

sqlcode: -956

sqlstate: 57011

SQL0958COsiągnięto maksymalną liczbę otwartych plików.

Objaśnienie: Osiągnięto maksymalną liczbę uchwytów plików umożliwiających dostęp do bazy danych.

Nie można wykonać instrukcji.

Działanie użytkownika: Zwiększ parametr określający maksymalną liczbę otwartych plików umożliwiających dostęp do tej lokalizacji bazy danych. W tym celu zwiększ parametr konfiguracyjny (maxfilop), aby umożliwić obsługę uchwytów plików dla instancji i przerywanie innych sesji w celu zmniejszenia liczby używanych uchwytów plików.

sqlcode: -958

sqlstate: 57009

SQL0959CNa stercie komunikacji serwera nie ma wystarczającej ilości pamięci do wykonania instrukcji.

Objaśnienie: Brak dostępnej pamięci na stercie komunikacji serwera.

Komenda lub instrukcja nie może być wykonana.

Działanie użytkownika: W odpowiedzi na ten komunikat przerwij aplikację. Zwiększ wielkość parametru sterty komunikacji (comheapsz) w pliku konfiguracyjnym menedżera baz danych stacji roboczej serwera.

UWAGA: Komunikat ten dotyczy tylko wydań DB2 wcześniejszych niż wersja 2.

sqlcode: -959

sqlstate: 57011

SQL0960COsiągnięto maksymalną liczbę plików w bazie danych.

Objaśnienie: Osiągnięto maksymalną liczbę plików w bazie danych.

Nie można wykonać instrukcji.

Działanie użytkownika: W odpowiedzi na ten komunikat przerwij aplikację. Odłącz od bazy danych wszystkie aktywne aplikacje, a następnie połącz je ponownie. Jeśli błąd występuje nadal, usuń z bazy danych albo tabele, albo indeksy, albo tabele i indeksy, lub podziel bazę danych.

Jeśli instalujesz przykładową bazę danych, przerwij instalację i powtórnie zainstaluj przykładową bazę danych.

sqlcode: -960

sqlstate: 57011

SQL0964CProtokół transakcji dla bazy danych jest pełny.

Objaśnienie: Brak wolnej pamięci w protokole transakcji.

Jeśli używane są pliki protokołu przewijanego z plikami protokołu dodatkowego, oznacza to, że były próby przydziału i używania ich. Jeśli w systemie plików brak pamięci, nie można używać protokołów dodatkowych.

Jeśli używany jest protokół archiwalny, w systemie plików brak pamięci dla nowego pliku protokołu.

Nie można wykonać instrukcji.

Działanie użytkownika: W odpowiedzi na ten komunikat (SQLCODE) wywołaj instrukcje COMMIT lub ROLLBACK lub powtórz operację.

Jeśli aplikacje równoległe aktualizują bazę danych, powtórz operację. Gdy inna aplikacja kończy transakcję, pamięć dla protokołu może zostać zwolniona.

Częściej wywołuj operacje zatwierdzania. Pamięć dla protokołu może zostać zwolniona po zatwierdzeniu transakcji. Podczas pisania aplikacji rozważ, kiedy zatwierdzić zaktualizowane transakcje, aby zapobiec pełnemu protokołowaniu.

W przypadku zakleszczeń częściej sprawdzaj protokoły. Można to zrobić, zmniejszając parametr konfiguracyjny bazy danych DLCHKTIME. Spowoduje to szybsze wykrywanie i usuwanie zakleszczeń (przez ROLLBACK) i zwolnienie pamięci.

Jeśli opisywana sytuacja występuje często, zwiększ parametr konfiguracyjny baz danych, aby umożliwić tworzenie większych plików protokołu. Większy plik protokołu wymaga więcej pamięci, ale programy rzadziej będą ponawiały operacje.

Jeśli instalujesz przykładową bazę danych, przerwij instalację i powtórnie zainstaluj przykładową bazę danych.

sqlcode: -964

sqlstate: 57011

SQL0965WW pliku komunikatów na tej stacji roboczej nie ma tekstu komunikatu odpowiadającego ostrzeżeniu SQL "<SQLCODE>". Z modułu "<nazwa>" zwrócono ostrzeżenie z pierwotnymi znacznikami "<lista znaczników>".

Objaśnienie: Serwer baz danych zwrócił do aplikacji kod "<SQLCODE>". Kod ostrzeżenia nie odpowiada komunikatowi w pliku komunikatów DB2 na tej stacji roboczej.

Działanie użytkownika: Przejrzyj dokumentację serwera baz danych, aby określić przyczynę podanej wartości "<SQLCODE>".

SQL0966NNie można znaleźć lub otworzyć pliku odwzorowania błędów "<nazwa>" podanego w katalogu Database Connection Services.

Objaśnienie: Wystąpiła jedna z następujących sytuacji:

Nie można odczytać danych z pliku odwzorowania błędów.

Działanie użytkownika: Zwolnij plik z aplikacji, z której został otwarty, albo ponownie zainstaluj lub odtwórz plik pierwotny.

sqlcode: -966

sqlstate: 57013

SQL0967NNiepoprawny format pliku odwzorowania błędów "<nazwa>" podany w katalogu Database Connection Services.

Objaśnienie: Podczas odczytu pliku odwzorowania błędów wystąpił błąd.

Nie można odczytać danych z pliku odwzorowania błędów.

Działanie użytkownika: Popraw składnię pliku odwzorowania błędów.

sqlcode: -967

sqlstate: 55031

SQL0968CSystem plików jest pełny.

Objaśnienie: Jeden z systemów plików zawierających bazę danych jest pełny. Ten system plików może zawierać katalog bazy danych, protokoły baz danych lub kontener obszaru tabel.

Nie można wykonać instrukcji.

Działanie użytkownika: Sprawdź protokół diagnostyczny, aby określić, który system plików jest pełny. Zwolnij pamięć systemu, usuwając niepotrzebne pliki. Nie usuwaj plików bazy danych. Jeśli wymagana jest dodatkowa pamięć, może być konieczne usunięcie tabel i indeksów zidentyfikowanych jako niewymagane.

W systemach UNIX komunikat o zapełnieniu dysku może być spowodowany przekroczeniem maksymalnej wielkości pliku dozwolonego dla bieżącego identyfikatora użytkownika. Użyj komendy chuser, aby zmienić parametr fsize. Może być konieczne ponowne uruchomienie systemu.

sqlcode: -968

sqlstate: 57011

SQL0969NW pliku komunikatu na tej stacji roboczej nie ma tekstu komunikatu odpowiadającego błędowi SQL "<błąd>". Z modułu "<nazwa>" zwrócono ostrzeżenie z pierwotnymi znacznikami "<lista znaczników>".

Objaśnienie: Serwer baz danych zwrócił SQLCODE "<błąd>" do aplikacji. Kod błędu nie odpowiada komunikatowi w pliku komunikatów DB2 na stacji roboczej.

Działanie użytkownika: Sprawdź w dokumentacji serwera baz danych, jaka jest przyczyna błędu o podanym kodzie SQLCODE. Aby rozwiązać problem wykonaj działania podane w dokumentacji serwera bazy danych.

Użytkownicy systemów stowarzyszeń: Ogranicz wystąpienie problemu do źródła danych nie odpowiadającego na żądanie (zapoznaj się z podręcznikiem Problem Determination Guide, aby określić, które źródło danych nie przetworzyło instrukcji SQL). Odszukaj "<błąd>" w odpowiedniej dokumentacji dla źródła danych. Jeśli problem jest zależny od danych, niezbędne może być sprawdzenie danych przetwarzanych w źródle danych w momencie wystąpienia błędu.

SQL0970NSystem próbował wykonać zapis do pliku, który jest tylko do odczytu.

Objaśnienie: Plik używany przez bazę danych jest znacznik tylko do odczytu lub nie istnieje. Baza danych wymaga do tego pliku dostępu typu zapis.

Nie można wykonać instrukcji.

Działanie użytkownika: W odpowiedzi na ten komunikat (SQLCODE) przerwij program użytkowy. Sprawdź, czy wszystkie pliki bazy danych są zarówno do odczytu, jak i do zapisu. Sprawdź, czy w określonej nazwie pliku nie ma wewnątrz niepotrzebnych odstępów.

sqlcode: -970

sqlstate: 55009

SQL0972NW napędzie nie ma właściwej dyskietki z bazą danych.

Objaśnienie: Dyskietka w napędzie nie jest dyskietką z bazą danych.

Nie można wykonać instrukcji.

Działanie użytkownika: Włóż wymaganą dyskietkę do napędu. Nie wyjmuj dyskietki, jeśli działa aplikacja używająca bazy danych znajdującej się na dyskietce.

sqlcode: -972

sqlstate: 57019

SQL0973NNa stercie "<nazwa-sterty>" brak pamięci potrzebnej do wykonania instrukcji.

Objaśnienie: Brak dostępnej pamięci dla tej sterty. Nie można wykonać instrukcji.

Działanie użytkownika: W odpowiedzi na ten komunikat (SQLCODE) przerwij aplikację. Zwiększ parametr konfiguracyjny dla "<nazwa-sterty>", aby zwiększyć wielkość sterty.

sqlcode: -973

sqlstate: 57011

SQL0974NDysk zawierający bazę danych jest zablokowany.

Objaśnienie: System zgłosił, że dysk zawierający bazę danych jest zablokowany.

Nie można wykonać instrukcji.

Działanie użytkownika: Sprawdź, czy w systemie nie działają inne procedury (na przykład CHKDSK), które mogą zablokować napęd. Powtórz operację.

Jeśli instalujesz przykładową bazę danych, przerwij instalację i powtórnie zainstaluj przykładową bazę danych.

sqlcode: -974

sqlstate: 57020

SQL0975NNie można uruchomić nowej transakcji, ponieważ użytkownik "<nazwa_użytkownika>" wygasił bazę danych lub instancję "<nazwa>". Typ wygaszenia: "<typ>".

Objaśnienie: Inny użytkownik wygasił instancję lub bazę danych, której próbowano używać. Jeśli instancja lub baza danych jest w stanie wygaszenia, nie można używać nowych transakcji.

Typ wygaszenia "<typ>" odnosi się do już wygaszonej instancji lub bazy danych i ma wartość '1' dla instancji i wartość '2' dla bazy danych.

Działanie użytkownika: Skontaktuj się z użytkownikiem, który wygasił instancję lub bazę danych, aby określić, kiedy DB2 przestanie być wygaszona, a następnie powtórz żądanie.

sqlcode: -975

sqlstate: 57046

SQL0976NNapęd dyskietek jest otwarty.

Objaśnienie: Napęd dyskietek z dyskietką z bazą danych jest otwarty.

Nie można wykonać instrukcji.

Działanie użytkownika: Zamknij napęd i powtórz operację.

sqlcode: -976

sqlstate: 57021

SQL0977NNieznany stan instrukcji COMMIT.

Objaśnienie: W trakcie wykonywania instrukcji COMMIT baza_danych_tm stała się niedostępna; spowodowało to, że wyniki COMMIT będą nieznane. Gdy baza danych baza_danych_tm stanie się dostępna, zostanie wykonana jej resynchronizacja. Zauważ, że podczas resynchronizacji transakcja może zostać wycofana. Dalsze przetwarzanie instrukcji SQL może być bezpieczne, ale blokady mogą zostać utrzymane aż do zakończenia procesu resynchronizacji.

Działanie użytkownika: Sprawdź, czy może zostać wykonane połączenie z bazą baza_danych_tm, na przykład przy użyciu CLP. Jeśli nie, wykonaj konieczne działania wskazane przez wartość zmiennej SQLCODE, aby się upewnić, że połączenie może zostać ustalone.

sqlcode: -977

sqlstate: 40003

SQL0978NDyskietka jest chroniona przed zapisem.

Objaśnienie: Próbowano wykonać operację zapisu do bazy danych znajdującej się na dyskietce chronionej przed zapisem.

Nie można wykonać instrukcji.

Działanie użytkownika: Sprawdź, czy używasz właściwej dyskietki. Jeśli trzeba, usuń zabezpieczenie na dyskietce.

sqlcode: -978

sqlstate: 55009

SQL0979NInstrukcja COMMIT nie powiodła się dla bazy danych "<num>" dla procesu aplikacji wykonywanego z SYNCPOINT równym NONE. Błędy określają następujące pary alias bazy danych/SQLSTATE (zostaną zwrócone maksymalnie cztery): "<alias1/SQLSTATE1>", "<alias2/SQLSTATE2>", "<alias3/SQLSTATE3>", "<alias4/SQLSTATE4>".

Objaśnienie: Aplikacja została połączona z wieloma bazami danych i została wydana instrukcja COMMIT, która nie powiodła się dla jednego lub kilku połączeń.

Użytkownicy systemów stowarzyszeń: Jeśli podłączona baza danych jest bazą serwera stowarzyszonego, w której są używane nazwy zastępcze (nicknames), zatwierdzenie dla jednego ze źródeł danych wymagane dla nazwy zastępczej nie powiodło się.

Działanie użytkownika: W zależności od aplikacji i aktualizowanych danych użytkownik może sobie zażyczyć przerwania wykonywanej procedury, zaprotokołowania błędów i wywołania odpowiedniej komendy SQL, aby się upewnić, że zmiany z aplikacji miały odpowiedni wpływ na wszystkie związane z nią bazy danych.

Jeśli nie można otrzymać pełnej listy błędów COMMIT, które miały wpływ na bazę danych, przejrzyj pełną listę w protokole diagnostycznym.

sqlcode: -979

sqlstate: 40003

SQL0980CWystąpił błąd dysku. Nie można przetwarzać kolejnych instrukcji SQL.

Objaśnienie: Wystąpił błąd dysku, który uniemożliwił pomyślne wykonanie bieżącej i kolejnych instrukcji SQL. Program użytkowy nie może wywoływać kolejnych instrukcji SQL. Na przykład podprogram odtwarzania z programu użytkowego nie może wywołać dodatkowych instrukcji SQL. Bazę danych zaznaczono jako do odtwarzania i nie można uzyskać dostępu do niej z żadnego programu użytkowego.

Nie można wykonać instrukcji.

Działanie użytkownika: Jeśli jest to możliwe, zapisz wszystkie informacje dotyczące błędu z obszaru komunikacyjnego SQL. Zakończ wszystkie aplikacje korzystające z bazy danych. Określ, czy błąd jest błędem sprzętowym i podejmij odpowiednie działanie, zgodnie z opisem podanym w podręczniku Troubleshooting Guide dotyczącej problemów związanych ze sprzętem. Uruchom ponownie bazę danych. Jeśli odzyskanie danych jest niemożliwe, odtwórz bazę danych z kopii zapasowej.

Jeśli instalujesz przykładową bazę danych, przerwij instalację i powtórnie zainstaluj przykładową bazę danych.

sqlcode: -980

sqlstate: 58005

SQL0982NWystąpił błąd dysku. Jednak kolejne instrukcje SQL mogą być wykonywane.

Objaśnienie: Podczas przetwarzania tymczasowego systemu plików wystąpił błąd dysku, który uniemożliwił pomyślne wykonanie bieżącej instrukcji SQL. Jednak kolejne instrukcje SQL mogą być wykonywane.

Nie można wykonać instrukcji.

Działanie użytkownika: W odpowiedzi na ten komunikat (SQLCODE) przerwij program użytkowy.

sqlcode: -982

sqlstate: 58004

SQL0983NProtokół transakcji nie należy do bieżącej bazy danych.

Objaśnienie: Przechowywana w pliku protokołu sygnatura nie jest zgodna z sygnaturą zależną od bazy danych. Błąd występuje zazwyczaj, gdy użytkownik poda, że plik protokołu jest przechowywany w katalogu innym niż baza danych. Może to spowodować przekierowanie pliku.

Nie można wykonać instrukcji.

Działanie użytkownika: Wprowadź ponownie komendę z podaniem odpowiedniej lokalizacji pliku protokołu.

sqlcode: -983

sqlstate: 57036

SQL0984CWykonanie komendy COMMIT lub ROLLBACK nie powiodło się. Nie można przetwarzać kolejnych instrukcji SQL.

Objaśnienie: Z powodu błędu systemowego nie można wykonać poprawnie zatwierdzenia lub wycofania zmian. Program użytkowy nie może wywoływać kolejnych instrukcji SQL. Na przykład podprogram odtwarzania z programu użytkowego nie może wywołać dodatkowych instrukcji SQL. Bazę danych zaznaczono jako do odtwarzania i nie można uzyskać dostępu do niej z żadnego programu użytkowego.

Nie można wykonać instrukcji.

Działanie użytkownika: Jeśli jest to możliwe, zapisz numer komunikatu (SQLCODE) i wszystkie informacje dotyczące błędu z obszaru komunikacyjnego SQL. Zakończ wszystkie aplikacje korzystające z bazy danych. Uruchom ponownie bazę danych. Jeśli instalujesz przykładową bazę danych, przerwij instalację i powtórnie zainstaluj przykładową bazę danych.

Jeśli odzyskanie danych jest niemożliwe, odtwórz bazę danych z kopii zapasowej.

Jeśli śledzenie było aktywne, wywołaj z poziomu komend systemu operacyjnego program Independent Trace Facility. Zajrzyj do rozdziału dotyczącego Independent Trace Facility w podręczniku Troubleshooting Guide, aby zapoznać się z informacjami o sposobie jego użycia. Należy skontaktować się z inżynierem serwisu sprzętu, podając mu następujące informacje:

Wymagane informacje:

Użytkownicy systemów stowarzyszeń: Ogranicz wystąpienie problemu do źródła danych nieodpowiadającego na żądanie (zapoznaj się z podręcznikiem Problem Determination Guide, aby określić, które źródło danych nie przetworzyło instrukcji SQL) i wykonaj odpowiednie czynności diagnostyczne oraz procedury odtwarzania bazy danych dla źródła danych. Procedury dla wykrywania problemów oraz odtwarzania bazy danych mogą być różne dla różnych źródeł danych, zapoznaj się z odnośną dokumentacją.

sqlcode: -984

sqlstate: 58005

SQL0985CW trakcie przetwarzania katalogów baz danych wystąpił błąd. Bazy danych nie można użyć.

Objaśnienie: System nie może wykonać odtwarzania po błędzie we/wy w pliku katalogu.

System nie może wykonywać instrukcji korzystających z tej bazy danych.

Działanie użytkownika: Odtwórz bazę danych z kopii zapasowej.

Jeśli instalujesz przykładową bazę danych, przerwij instalację i powtórnie zainstaluj przykładową bazę danych.

sqlcode: -985

sqlstate: 58005

SQL0986NW trakcie przetwarzania tabeli użytkownika wystąpił błąd. Tabeli nie można użyć.

Objaśnienie: Dane w tabeli nie są już poprawne.

System nie może wykonywać instrukcji korzystających z tabeli.

Działanie użytkownika: Odtwórz bazę danych z kopii zapasowej (backup), jeśli baza danych jest niespójna.

Jeśli instalujesz przykładową bazę danych, przerwij instalację i powtórnie zainstaluj przykładową bazę danych.

sqlcode: -986

sqlstate: 58004

SQL0987CNie można przydzielić pamięci współużytkowanej do sterowania aplikacją.

Objaśnienie: Nie można przydzielić pamięci współużytkowanej do sterowania aplikacją. Błąd ten jest powodowany przez brak zasobów dla menedżera baz danych lub środowiska, w którym próbuje się wykonywać operacje. Zasoby pamięci, które mogą powodować ten błąd:

Działanie użytkownika: Wykonaj co najmniej jedną z następujących czynności:

sqlcode: -987

sqlstate: 57011

SQL0990CWystąpił błąd indeksu. Ponownie zorganizuj tabelę.

Objaśnienie: Indeks był intensywnie używany i zostało wykorzystane całe wolne miejsce przeznaczone dla indeksów.

Użytkownicy systemów stowarzyszeń: Sytuacja ta może być wykryta również przez źródło danych.

Nie można wykonać instrukcji.

Działanie użytkownika: Zatwierdź swoją pracę i wprowadź ponownie komendę. Jeśli błąd występuje nadal, wycofaj zmiany. Jeśli błędy będą się nadal pojawiać, w miarę możliwości przeorganizuj tabelę.

Użytkownicy systemów stowarzyszeń: Ogranicz wystąpienie problemu do źródła danych nieodpowiadającego na żądanie (zapoznaj się z podręcznikiem Problem Determination Guide, aby określić, które źródło danych nie przetworzyło instrukcji SQL) i postępuj zgodnie z procedurami odtwarzania indeksu dla źródła danych.

SQL0992CNumer wydania prekompilowanego programu jest niepoprawny.

Objaśnienie: Numer wydania prekompilowanego programu (pakietu) jest niezgodny z numerem wydania zainstalowanej wersji menedżera baz danych.

Nie można używać tego prekompilowanego programu (pakietu) z bieżącą wersją menedżera baz danych. Nie można wykonać komendy.

Działanie użytkownika: Używaj tylko programów prekompilowanych w zgodnej wersji menedżera baz danych.

sqlcode: -992

sqlstate: 51008

SQL0993WNowa ścieżka do protokołu (newlogpath) w pliku konfiguracyjnym bazy danych jest niepoprawna.

Objaśnienie: Ścieżka do pliku protokołu jest niepoprawna z jednego z następujących powodów:

Żądana zmiana nie została wykonana.

Działanie użytkownika: Aby zmienić ścieżkę do pliku protokołu, wprowadź komendę konfigurowania bazy danych z poprawną wartością.

sqlcode: +993

sqlstate: 01562

SQL0994NNiepoprawne użycie punktu zapisywania aplikacji.

Objaśnienie: W sposób niepoprawny użyto funkcji punktu zapisywania aplikacji. Program próbował wykonać jedno z następujących działań:

Nie można wykonać tej funkcji.

Działanie użytkownika: Popraw w programie użycie punktu zapisywania.

SQL0995WBieżąca ścieżka do pliku protokołu (logpath) jest niepoprawna. Ścieżkę do pliku protokołu ustawiono ponownie na domyślną.

Objaśnienie: Ścieżka do pliku protokołu jest niepoprawna z jednego z następujących powodów:

Dla protokołu przewijanego plik protokołu jest tworzony w domyślnej ścieżce protokołu. Dla protokołu archiwalnego następny plik protokołu jest tworzony w domyślnej ścieżce protokołu. Żądana zmiana nie została wykonana.

Działanie użytkownika: Aby zmienić ścieżkę do pliku protokołu, wprowadź komendę konfigurowania z poprawną wartością.

sqlcode: +995

sqlstate: 01563

SQL0996NNie można zwolnić stron dla obiektu w obszarze tabel.

Objaśnienie: Uszkodzone są wewnętrzne strony bazy danych lub wystąpiły wewnętrzne błędy logiczne w obszarze tabel. Szczegóły na ten temat można znaleźć w systemowym protokole błędów i/lub w protokole błędów menedżera baz danych.

Działanie użytkownika: Nie używaj uszkodzonego obiektu lub obszaru tabel. Skontaktuj się z serwisem IBM w celu zbadania obiektu lub obszaru tabel.

sqlcode: -996

sqlstate: 58035

SQL0997WOgólny komunikat opisowy dla przetwarzania transakcji. Kod przyczyny = "<kod-przyczyny-XA>".

Objaśnienie: SQLCODE 997 jest przekazywany tylko między składnikami menedżera baz danych i nie zostanie zwrócony do aplikacji. Jeśli nie ma błędu, jest używany kod powrotu XA. Możliwe wartości kodów przyczyn:

Działanie użytkownika: Nie jest wymagane żadne działanie.

SQL0998NPodczas transakcji albo przetwarzania heurystycznego wystąpił błąd. Kod przyczyny = "<kod-przyczyny>". Podkod = "<podkod>".

Objaśnienie: W trakcie przetwarzania rozproszonej transakcji wykryto błąd. Transakcją jest:

Możliwymi kodami przyczyny są: (odpowiadające im kody przyczyny X/Open XA zostały podane w nawiasach)

Działanie użytkownika: Dla kodów przyczyny od 1 do 8 zostanie utworzona pozycja w protokole systemowym, ponieważ czasami obszar komunikacyjny SQL nie może zostać zwrócony do wywołującego.

Jeśli błąd jest związany z uszkodzeniem źródła danych związanego z nazwą zastępczą, położenie uszkodzonego źródła danych będzie zawsze pojawiało się w protokole systemowym serwera stowarzyszonego.

Dla kodu przyczyny 4 sprawdź zawartość otwartego łańcucha xa i wprowadź konieczne poprawki.

Dla kodu przyczyny 9, podkodu 02 sprawdź, czy parametr konfiguracyjny tp_mon_name zawiera nazwę biblioteki dynamicznej produktu zewnętrznego, która zawiera funkcję ax_reg() do dynamicznej rejestracji transakcji.

Dla kodu przyczyny 14 sprawdź, czy usługa MSDTC jest aktywna.

Dla kodu przyczyny 35 próbowano wykonać operację heurystyczną na bazie danych uczestniczącej w transakcji globalnej jako menedżer zasobów tylko do odczytu. Przykładami są dowolne bazy danych DRDA, takie jak DB2 na MVS. Ten typ bazy danych innej niż XA nie może mieć żadnych transakcji niepełnych XA.

Dla kodu przyczyny 36, 37 i 38 próbowano wykonać błędną operację heurystyczną na transakcji niepełnej. Podano błędne XID, albo operacja heurystyczna lub operacja resync wystąpiła przed zarejestrowaniem XID. Uruchom zapytanie heurystyczne (Heuristic Query), aby otrzymać bieżącą listę transakcji niepełnych w celu sprawdzenia, czy nadal należy wykonywać operację heurystyczną.

Dla kodu przyczyny 39 podano XID transakcji, która została zakończona i oczekuje na rozpoczęcie procesu zatwierdzania dwufazowego. Operacje heurystyczne można wykonywać tylko na transakcjach, dla których rozpoczęto proces zatwierdzania dwufazowego i które stały się transakcjami niepełnymi.

Dla kodu przyczyny 40 próbowano wykonać instrukcję SQL z transakcją, która się nie powiodła. Przykładem może być wykonanie instrukcji języka SQL w wątku transakcji, który został pomyślnie zarejestrowany po tym, jak ściśle powiązany z nim wątek biorący udział w tej samej transakcji zakończył pracę niepoprawnie.

Dla kodu przyczyny 41, więcej informacji na temat problemu możesz znaleźć w pliku db2diag.log. Może być niezbędne ponowne uruchomienie DB2 dla węzłów, w których wystąpił problem. Może być konieczne skorzystanie z pomocy administratora systemu.

Dla kodu przyczyny 69 baza danych menedżera transakcji (TM) lub baza danych menedżera zasobów (RM), albo obie jednocześnie, są różne od tych, dla których transakcja została wygenerowana. Innymi słowy, nazwy bazy danych TM lub bazy danych RM mogą odnosić się do różnych instancji bazy danych. Niezgodność ID protokołu mogła spowodować jedna z następujących przyczyn:

Dla kodu przyczyny 85 aktualizowanych jest wiele źródeł danych, a niektóre spośród nich zostały heurystycznie wycofane lub zatwierdzone, w efekcie czego cała transakcja została częściowo zatwierdzona i częściowo wycofana. Dla tego kodu przyczyny dane znajdują się obecnie w stanie niespójności, aby je poprawić należy ręcznie sprawdzić każde źródło danych aktualizowane przez transakcję.

Dla kodu przyczyny 210, niektóre transakcje są już w stanie zatwierdzonym. Niepełną transakcję można zatwierdzić tylko heurystycznie.

Dla kodu przyczyny 221 należy zapewnić, aby wszystkie aplikacje, które biorą udział w tej samej transakcji XA, używały do połączeń z bazą danych tego samego identyfikatora użytkownika.

Dla kodu przyczyny 222 należy zapewnić, aby wszystkie aplikacje, które biorą udział w tej samej transakcji XA, miały ten sam identyfikator CCSID.

Dla kodu przyczyny 224 należy zmodyfikować konfigurację aplikacji i klienta tak, by używały klientów lokalnych, a w przypadku klientów zdalnych, aby używali oni do połączeń z bramą, protokołu komunikacyjnego TCP/IP.

Dla kodu przyczyny równego 224 zaktualizuj klienta do wersji 7.1 lub późniejszej.

Ogólna procedura dotycząca zbierania informacji:

Jeśli nie możesz rozwiązać problemu określonego kodem przyczyny, zapisz numer komunikatu (SQLCODE), kod przyczyny oraz opcjonalny podkod występujący w komunikacie albo obszar komunikacyjny SQL w protokole systemowym.

Jeśli uszkodzenie wystąpiło w stowarzyszonej bazie danych, należy również zapisać położenie uszkodzonego źródła danych, zarejestrowane w protokole systemowym serwera stowarzyszonego.

Jeśli śledzenie było aktywne, wywołaj z poziomu komend systemu operacyjnego program Independent Trace Facility. Zajrzyj do rozdziału dotyczącego Independent Trace Facility w podręczniku Troubleshooting Guide, aby zapoznać się z informacjami o sposobie jego użycia. Następnie skontaktuj się ze swoim inżynierem serwisu i podaj następujące informacje:

Dodatkowe informacje mogą wystąpić na konsoli lub w protokołach komunikatów menedżera transakcji lub menedżera baz danych.

sqlcode: -998

sqlstate: 58005


[ Początek strony | Poprzednia strona | Następna strona | Spis treści | Indeks ]