SQL0900N | Състоянието на приложението е погрешно. Не съществува връзка на базата данни. |
Обяснение: Не съществува връзка с базата данни. Това може да се дължи на една от следните причини:
Отговор на потребителя: Осъществете работна връзка или като превключите към съществуваща пасивна връзка (използвайки CONNECT TO или SET CONNECTION), или като установите нова връзка (чрез CONNECT).
sqlcode: -900
sqlstate: 08003
SQL0901N | Операторът SQL не е успешен поради второстепенна системна грешка. Следващите SQL оператори може да бъдат изпълнени. (Причина "<причина>".) |
Обяснение: Възникнала е грешка, дължаща се на системна грешка. Обработката на SQL оператора е приключила поради "<причина>" (тя е само на английски език и се използва само от поддържащия IBM персонал).
Отговор на потребителя: Запишете номера на съобщението (SQLCODE) и причината "<причина>".
Ако трасирането е активно, извикайте Независимото помощно средство за трасиране от командния промпт на операционната система. Прегледайте Независимо помощно средство за трасиране в Ръководство за отстраняване на проблеми за информация за използването на тази възможност. Свържете се с вашия представител на техническия сервиз като предоставите следната информация:
Потребители на обединени системи: изолирайте проблема до източника на данни, който не е успял да удовлетвори заявката (направете справка с Ръководство за отстраняване на проблеми, за да определите кой източник на данни не е успял да обработи SQL оператора), и направете необходимото за диагностика на този източник на данни. За различните източници процедурите за определяне на проблемите се различават, затова направете справка с ръководствата на съответните източници на данни.
sqlcode: -901
sqlstate: 58004
SQL0902C | Възникнала е системна грешка (код на причина = "<код-на-причина>"). Следващите SQL оператори не може да бъдат обработени. |
Обяснение: Възникнала е системна грешка.
Отговор на потребителя: Запишете номера на съобщението (SQLCODE) и кодът на причината от това съобщение.
Ако трасирането е активно, извикайте Независимото помощно средство за трасиране от командния промпт на операционната система. Прегледайте Независимо помощно средство за трасиране в Ръководство за отстраняване на проблеми за информация за използването на тази възможност. Свържете се с вашия представител на техническия сервиз като предоставите следната информация:
Потребители на обединени системи: изолирайте проблема до източника на данни, който не е успял да удовлетвори заявката (направете справка с Ръководство за отстраняване на проблеми, за да определите кой източник на данни не е успял да обработи SQL оператора), и направете необходимото за диагностика на този източник на данни. За различните източници процедурите за определяне на проблемите се различават, затова направете справка с ръководствата на съответните източници на данни.
sqlcode: -902
sqlstate: 58005
SQL0903N | Оператор COMMIT не е успешен и върху транзакцията е извършен ролбек. Код на причината: "<код-на-причина>". |
Обяснение: Един или повече на брой от сървърите, участващи в текущата единица работа, не е успял да подготви базата данни за записване на промените. Операторът COMMIT е неуспешен и върху транзакцията е извършен ролбек.
Възможните кодове за причина са следните:
Потребители на обединени системи: ако базата данни, към която сте се свързали, е обединен сървър база данни, в която се използват прякори, то е загубена връзката с един от източниците на данни, необходим за определянето на прякор вътре в базата данни.
Потребители на обединени системи: ако базата данни, към която сте се свързали, е обединен сървър база данни, в която се използват прякори, то един от източниците на данни, необходим за определянето на прякор, не е в състояние да се подготви за комит.
Отговор на потребителя: Ако е прекъсната връзка към база данни, осъществете я повторно. Ако отказът не е свързан с връзката, направете справка с журналите за отразяване на диагнозите за грешки в отдалечената система, за да определите природата на проблема и какво действие може да се изисква. Пуснете повторно приложението.
sqlcode: -903
sqlstate: 40504
SQL0904N | Неуспешно изпълнение поради недостъпен ресурс. Код на причина: "<код-на-причина>", тип ресурс: "<тип-на-ресурс>" и име на ресурс: "<име-на-ресурс>". |
Обяснение: SQL операторът не може да бъде изпълнен, защото ресурсът "<име-на-ресурс>" от тип "<тип-на-ресурс>" не е на разположение в този момент поради причината, посочена от "<код-на-причина>". Направете справка с документацията на DB2 за MVS за определяне на проблемите, за да намерите обяснение на кодовете на ресурси.
Отговор на потребителя: Проверете идентичността на ресурса, който не е бил на разположение. За да определите защо той не е бил достъпен, направете справка с посочения "<код-на-причина>".
sqlcode: -904
sqlstate: 57011
SQL0905N | Изпълнението не е успешно, тъй като ограничението на ресурс е нарушено. Име на ресурс = "<име-на-ресурс>", лимит = "<количество1>" CPU секунди ("<количество>" сервизни единици) получени от "<източник>". |
Обяснение: Изпълнението на SQL оператора е приключено, тъй като ограничението за ресурс е превишено.
Името на ресурса, чието ограничение е било нарушено, е "<име-на-ресурс>". Това е също и името на колоната в таблицата за спецификация от ограничението на ресурса, от която е получено ограничението. Ограничението, което е превишено в CPU секунди, е "<количество1>", а в сервизни единици то е "<количество>". "<име-на-ресурс>" може да бъде ASUTIME, което представлява броят CPU секунди, разрешени за всеки SQL оператор. Максималният позволен брой CPU секунди е "<количество1>". В сервизни единици максимумът е "<количество>".
Източникът, използван за получаване на ограничението, е "<източник>" и представлява или име на таблица за спецификация на ограничение на ресурс, или е "системен параметър". Ако източникът е системен параметър, таблицата за спецификация на ограничението на ресурса не е съдържала приложим запис или е възникнала грешка при опита за достъп до таблицата. И в двата случая ограничението се получава от инсталационен (системен) параметър.
Отговор на потребителя: Определете защо е било необходимо толкова време за изпълнението на този SQL оператор и предприемете необходимите мерки. Помислете дали може да опростите SQL оператора и да преструктурирате таблици и индекси или се свържете с групата за инсталиране, отговорна за поддържането на таблиците за спецификация на ограничението на ресурс.
Приложна програма, получила този код на връщане, може да изпълни допълнителни SQL оператори.
sqlcode: -905
sqlstate: 57014
SQL0906N | SQL операторът не може да бъде изпълнен, защото тази функция е невъзможна поради настъпила грешка. |
Обяснение: Изпълнението на SQL оператора не е успешно, тъй като заявеният SQL оператор е деактивиран поради настъпила грешка. Тази ситуация може да възникне, ако приложната програма е засякла abend (примерно чрез условие ON ERROR в PL/I програма) и е продължила да изпълнява SQL оператори. Тази ситуация може да възникне също така и ако DB2 CICS транзакция е срещнала грешка при създаване на нишка, но е продължила да подава SQL заявки, без първо да подаде SYNCPOINT ROLLBACK.
Отговор на потребителя: По принцип една приложна програма трябва да приключи работата си при получаване на този код на връщане. Всички следващи опити на приложението да изпълни други SQL оператори също няма да бъдат успешни и ще дадат същия код на връщане. В случай на DB2 CICS транзакция, ако полето SQLERRP в SQLCA съдържа име на модул DSNCEXT1, транзакцията може да подаде SYNCPOINT ROLLBACK и да продължи работа. Ако транзакцията избере да извърши ROLLBACK и да продължи работа, тя трябва да е способна да поправи ситуацията, довела първоначално до грешката при създаване на нишка.
sqlcode: -906
sqlstate: 24514, 51005, 58023
SQL0908N | "<тип-свързване>" грешка: операциите BIND, REBIND или AUTO_REBIND не са позволени посредством "<идентификатор-за-оторизация>" оторизация . |
Обяснение: В случая на BIND и REBIND посоченият идентификатор за оторизация няма право да извърши посочената "<тип-свързване>" с план или пакет. Има запис в таблицата за спецификация на ограничение на ресурс (resource limit specification table - RLST), който забранява свързването и повторното свързване от този идентификатор за оторизация или всички идентификатори за оторизация. В случай на AUTO-REBIND системният параметър, контролиращ операциите AUTO-REBIND, е настроен да не разрешава AUTO-REBIND.
Отговор на потребителя: Ако посоченият идентификатор за оторизация трябва да може да извършва свързвания, променете записа в активната RLST таблица. Ако операциите AUTO-REBIND не са разрешени, свържете пакета отново, преди да го изпълните повторно.
sqlcode: -908
sqlstate: 23510
SQL0909N | Обектът е бил изтрит. |
Обяснение: Приложната програма е извършила едно от следните неща: (1) премахнала е таблица и след това се е опитала да осъществи достъп до нея, или (2) премахнала е индекс и след това се е опитала да осъществи достъп до обектната й таблица, използвайки този индекс.
Отговор на потребителя: Логиката на приложната програма трябва да се коригира така, че тя да не прави опити да използва обект или да осъществява достъп до него, след като го е премахнала.
Премахването на индекси в приложна програма е особено опасно, защото няма начин да се определи дали планът, който е бил генериран за приложението (чрез BIND или REBIND) използва всъщност определен индекс за достъп до своята обектна таблица.
sqlcode: -909
sqlstate: 57007
SQL0910N | SQL операторът не може да осъществи достъп до обект, за който предстои модификация. |
Обяснение: Приложната програма направи опит за достъп до обект, намиращ се в същата единица работа, в която или:
Потребители на обединени системи: в допълнение към дотук изброените причини може да съществуват и други ограничения, специфични за определени източници на данни, които предотвратяват достъпа до обекта.
SQL операторът не може да бъде изпълнен.
Отговор на потребителя: Модифицирайте приложната програма така, че да няма опит за достъп до обект, намиращ се в същата единица работа, в която е извършена модификацията. По принцип по-добре е да се изолират операторите от езика за описание на данните (DDL) в друга единица работа от операторите на езика за манипулиране на данните (DML), които осъществяват достъп до същите обекти.
Промените в единицата работа трябва да са записани или трябва да е направен ролбек, преди да стане възможно успешното изпълнение на неуспешния оператор. Ако вече записаната модификация е причина за премахването на обект, тогава може да се наложи повторното създаване на този обект, за да може неуспешният SQL оператор да бъде изпълнен успешно.
Ако обектът е модифициран със SAVEPOINT, променете приложната програма, така че тя да не прави опит за достъп до обекта, след като е подала оператора ROLLBACK TO SAVEPOINT. Всеки указател, който осъществява достъп до модифицирания обект и е отворен по времето на ROLLBACK TO SAVEPOINT, няма да бъде достъпен. Модифицирайте приложението така, че то да затваря указателя.
Ако оператор за вмъкване, изтриване или обновяване, включващ NOT LOGGED декларирана временна таблица, е неуспешен, то всички редове в тази таблица са изтрити. Всеки указател, който е отворен за тази декларирана временна таблица, в момента на отказа, няма да бъде достъпен и трябва да бъде затворен от приложението.
Потребители на обединени системи: ако извършеното действие не разреши проблема, изолирайте заявката (направете справка с Ръководство за отстраняване на проблеми, за да определите кой източник на данни не е успял да обработи SQL оператора), и определете кои допълнителни ограничения съществуват в източника на данни, които не позволяват достъпа до обекта. Уверете се, че приложението не нарушава никое от тези ограничения.
sqlcode: -910
sqlstate: 57007
SQL0911N | Върху текущата транзакция е извършен ролбек
поради заключване на ресурси или таймаут. Код на причината "<код-на-причина>". |
Обяснение: Текущата единица работа е включена в неразрешен опит за повторно заключване на ред за използване на обект и се е наложило да се извърши ролбек.
Кодовете на причините са следните:
Забележка: | Промените, свързани с единицата работа, трябва да бъдат въведени отново. |
Отговор на потребителя: За да се избегне заключване на ресурси или таймаут при заключване, подавайте често операции COMMIT, ако това е възможно, в случай на работа с продължаващи дълго приложения или с приложения, които могат да доведат до заключване на ресурси.
Потребители на обединени системи: заключването на ресурси може да стане в системата обединен сървър или в източника на данни. Няма механизъм за откриване на блокирания поради заключвания на ресурси, които обхващат източници на данни и потенциално обединената система. Възможно е да се идентифицира източникът на данни, който не е успял да удовлетвори заявката (направете справка с ръководството за определяне на проблеми, за да определите кой източник на данни не е успял да обработи SQL оператора).
Заключванията на ресурси често са нормални или очаквани по време на обработка на определени комбинации от SQL оператори. Препоръчително е да създадете приложения, съдействащи за избягването на заключване на ресурси, доколкото това е възможно.
sqlcode: -911
sqlstate: 40001
SQL0912N | За базата данни е достигнат максимално допустимият брой на заявки за заключване. |
Обяснение: Достигнат е максимално допустимият брой заключвания за базата данни, тъй като за списъка за заключване е заделена недостатъчна памет.
Операторът не може да бъде обработен.
Отговор на потребителя: Върху приложението трябва да бъде приложен оператор COMMIT или ROLLBACK, преди да се подават други SQL оператори. Помислете дали не може да се увеличи конфигурационният параметър (locklist), за да се получи повече пространство за списъка за заключване.
sqlcode: -912
sqlstate: 57011
SQL0913N | Неуспешно изпълнение, предизвикано от заключване на ресурси или таймаут. Код на причината "<код-на-причина>". |
Обяснение: Подадената заявка е включена в неразрешен опит за повторно заключване на ред при използване на обект и изпълнението й не е успешно.
Кодовете на причините са следните:
Отговор на потребителя:
sqlcode: -913
sqlstate: 57033
SQL0917N | Отдалечено свързване от страна на рикуестер за DRDA приложение не е успешно. |
Обяснение: Възникнала е грешка по време на отдалечено свързване от страна на рикуестер за DRDA приложение. Такава грешка може да възникне по време на обработване на свързване или на записване на промените.
Отговор на потребителя: Този проблем обикновено е причинен от SQL оператор, който не е бил свързан поради грешка. Потребителят трябва да се консултира с помощното средство за диагностика при рикуестера за DRDA приложение, за да определи кой оператор предизвиква грешката, и да я коригира.
sqlcode: -917
sqlstate: 42969
SQL0918N | Приложението трябва да извърши ролбек. |
Обяснение: Върху единицата работа вече е извършен ролбек в базата данни, но за други мениджъри на ресурси, включени в тази единица работа, това може да не е така. За да се осигури целостта на това приложение, всички SQL заявки ще бъдат отхвърляни, докато приложението не подаде ролбек.
Отговор на потребителя: Всички SQL заявки ще бъдат отхвърляни, докато приложението не подаде ролбек. В CICS среда например това трябва да е командата CICS SYNCPOINT ROLLBACK.
sqlcode: -918
sqlstate: 51021
SQL0920N | Клиентска система не може да осъществява достъп до данни от база данни на други клиентски системи. |
Обяснение: Работната станция е конфигурирана като клиент или като сървър с локални клиенти. Базите данни, създадени на тази система, не могат да се използват от други работни станции.
Функцията не може да бъде обработена.
Отговор на потребителя: Искайте данни само от работни станции на сървъра.
sqlcode: -920
sqlstate: 57019
SQL0925N | SQL COMMIT е невалиден за средата, в която се изпълнява приложението. |
Обяснение: Не се допуска изпълнение на COMMIT в следните случаи:
Отговор на потребителя: Коригирайте проблема, като извършите едно от следните неща:
sqlcode: -925
sqlstate: 2D521
SQL0926N | SQL ROLLBACK е невалиден за средата, в която се изпълнява приложението. |
Обяснение: Не се допуска изпълнение на ROLLBACK в следните случаи:
Отговор на потребителя:
sqlcode: -926
sqlstate: 2D521
SQL0930N | Няма достатъчно достъпна памет за изпълнение на оператора. |
Обяснение: Направена е заявка към базата данни, изискваща използването на друга страница от паметта, но повече страници не са на разположение на мениджъра на базата данни.
Операторът не може да бъде обработен.
Отговор на потребителя: Възможните решения са следните:
sqlcode: -930
sqlstate: 57011
SQL0931C | Получи се препълване на файловата таблица на операционната система. Следващите SQL изрази не могат да бъдат обработени. |
Обяснение: Достигната е граница във възможностите на операционната система. На приложната програма е забранено да задава допълнителни SQL оператори. В базата данни е необходимо възстановяване и достъпът до нея на всички приложения, които я използват, е забранен.
Отговор на потребителя: Преустановете всички приложения, които използват базата данни. Стартирайте повторно базата данни.
За да не се допусне повторното възникване на проблема:
sqlcode: -931
sqlstate: 58005
SQL0950N | Таблицата или индексът не може да бъде пропуснат, защото в момента се използва. |
Обяснение: Не може да бъдат подадени оператори A DROP TABLE или DROP INDEX, когато отворен указател в момента използва таблицата или индекса.
Операторът не може да бъде обработен. Таблицата или индексът не са пропуснати.
Отговор на потребителя: Затворете изискваните указатели и подайте повторно оператора.
sqlcode: -950
sqlstate: 55006
SQL0951N | Обектът "<име-на-обект>" от тип "<тип-на-обект>" не може да бъде променен, защото той в момента се използва от същия работен процес. |
Обяснение: Не може да се подава оператор ALTER или оператор SET INTEGRITY за обект, когато той е заключен или се използва.
Операторът не може да бъде обработен. Обектът не е променен.
Отговор на потребителя: Затворете всички указатели, които зависят директно или индиректно от обекта "<име-на-обект>", и подайте оператора отново.
sqlcode: -951
sqlstate: 55007
SQL0952N | Обработката е преустановена поради прекъсване. |
Обяснение: Вероятно потребителят е натиснал последователността от клавиши за прекъсване.
Обработката на оператора е прекъсната. Вероятно са направени някои промени в базата данни, но не са записани преди прекъсването.
Потребители на обединени системи: тази ситуация може да бъде открита и чрез източника на данни.
Отговор на потребителя: Продължава обработката на приложението.
Ако сте в процес на инсталиране на примерна база данни, отстранете я и я инсталирайте отново.
sqlcode: -952
sqlstate: 57014
SQL0954C | Няма достатъчно достъпна памет в стека на приложенията за обработка на оператора. |
Обяснение: Цялата достъпна за приложението памет вече е е използвана.
Операторът не може да бъде обработен.
Отговор на потребителя: Прекъснете приложението при получаване на това съобщение. Увеличете параметъра за конфигурация на базата данни (applheapsz), за да разрешите използването на по-голям стек за приложенията.
sqlcode: -954
sqlstate: 57011
SQL0955C | Не може да бъде заделена памет за сортиране за изпълнение на оператора. Код на причина = "<код-на-причина>". |
Обяснение: Няма достатъчно виртуална памет, достъпна за агента на базата данни за обработка на сортиране, както е показано от кода на причината:
Отговор на потребителя: Опитайте едно или повече от следните действия:
sqlcode: -955
sqlstate: 57011
SQL0956C | Няма достатъчно достъпна памет в стека на базата данни за обработка на оператора. |
Обяснение: Цялата достъпна за базата данни памет вече е използвана.
Операторът не може да бъде обработен.
Отговор на потребителя: Прекъснете приложението при получаване на това съобщение. Увеличете параметъра за конфигурация на базата данни (dbheap), за да разрешите използването на по-голям стек за базата данни. Ако броят на I/O приложенията е до максималната граница, ще бъде добре да го намалите.
sqlcode: -956
sqlstate: 57011
SQL0958C | Достигнат е максимално разрешеният брой на отворени файлове. |
Обяснение: Достигнат е максимално разрешеният брой на достъпните указатели на файлове в базата данни.
Операторът не може да бъде обработен.
Отговор на потребителя: Увеличете всеки параметър, който определя максималния брой на отворени файлове в това място от базата данни. Увеличете параметъра за конфигурация (maxfilop), за да разрешите използването на повече указатели за файлове за потребителския модел, и преустановете други сесии, за да намалите броя на използваните указатели.
sqlcode: -958
sqlstate: 57009
SQL0959C | Няма достатъчно достъпна памет в стека за комуникации на клиента или в сървъра за обработка на оператора. |
Обяснение: Цялата достъпна памет в стека за комуникации на сървъра вече е използвана.
Командата или операторът не може да бъде изпълнен.
Отговор на потребителя: Прекъснете приложението при получаване на това съобщение. Увеличете размера на параметъра на стека за комуникации (comheapsz) във файла за конфигурация на мениджъра на базата данни в работната станция на сървъра.
ЗАБЕЛЕЖКА: Това съобщение се отнася само за версии на DB2 преди Версия 2.
sqlcode: -959
sqlstate: 57011
SQL0960C | Достигнат е максимално разрешеният брой файлове в базата данни. |
Обяснение: Достигнат е максимално разрешеният брой файлове в базата данни.
Операторът не може да бъде обработен.
Отговор на потребителя: Прекъснете приложението при получаване на това съобщение. Преустановете връзката на всички приложения с базата данни и след това ги свържете повторно към нея. Ако се появи същата грешка, отстранете таблиците или индексите, или и двете, или разделете базата данни.
Ако сте в процес на инсталиране на примерна база данни, отстранете я и я инсталирайте отново.
sqlcode: -960
sqlstate: 57011
SQL0964C | Журналът на транзакциите за базата данни е пълен. |
Обяснение: Използва се цялото пространство на журнала на транзакциите.
Ако се използва журнал с припокриване на записи с файлове на вторичен журнал, ще бъде направен опит за разполагането им и използването им. Ако във файловата система няма достатъчно пространство, не могат да се използват вторични журнали.
Ако се използва архивен журнал, файловата система не предоставя пространство за нов журнален файл.
Операторът не може да бъде обработен.
Отговор на потребителя: Изпълнете COMMIT или ROLLBACK, ако получите това съобщение (SQLCODE) или опитайте повторно операцията.
Повторете операцията, ако базата данни е обновена от конкурентно приложение. Може да бъде освободено пространство в журнала, когато приключи транзакцията на друго приложение.
Извършвайте по-често операции за запис на промените. Ако промените във вашите транзакции не са записани, след записа им вероятно ще се освободи пространство в журнала. При проектиране на приложение вземете предвид честотата на записа на промените на транзакциите, за да предотвратите препълването на журнала.
За да предотвратите заключването на ресурсите, проверявайте ги по-често. Това може да се осъществи чрез намаляване стойността на параметъра DLCHKTIME при конфигурация на базата данни. По този начин заключването на ресурсите ще бъде открито и преодоляно бързо (чрез ROLLBACK), като освен това ще се освободи пространство в журнала.
Ако това се случва често, увеличете параметъра за конфигурация на базата данни, за да определите по-голям размер на журналния файл. За по-големия журнален файл е нужно повече пространство, но се намалява необходимостта от повтаряне на операциите за приложенията.
Ако сте в процес на инсталиране на примерна база данни, отстранете я и я инсталирайте отново.
sqlcode: -964
sqlstate: 57011
SQL0965W | Няма текст на съобщение, съответстващ на SQL предупреждение "<SQLCODE>" във файла за съобщения на тази работна станция. Предупреждението е направено от модула "<име>" с оригинални токени "<списък токени>". |
Обяснение: Сървърът на базата данни е върнал код "<SQLCODE>" на приложението. Кодът на предупреждението не съответства на съобщение във файла за съобщения на мениджъра на базата данни на тази работна станция.
Отговор на потребителя: Вижте документацията на сървъра на базата данни, за да определите причината за съответния "<SQLCODE>".
SQL0966N | Файлът за регистрация на грешките "<име>", зададен в директорията за DCS, не може да бъде намерен или отворен. |
Обяснение: Изпълнено е едно от следните условия:
Файлът за регистрация на грешките не може да бъде възстановен.
Отговор на потребителя: Освободете файла от приложението, в което той е отворен, и инсталирайте повторно или възстановете оригиналния файл.
sqlcode: -966
sqlstate: 57013
SQL0967N | Форматът на файла за регистрация на грешките "<име>", определен в директорията за DCS, не е валиден. |
Обяснение: Открита е грешка по време на четене на файла за регистрация на грешките.
Файлът за регистрация на грешките не може да бъде възстановен.
Отговор на потребителя: Коригирайте всички синтактични грешки във файла за регистрация на грешките.
sqlcode: -967
sqlstate: 55031
SQL0968C | Файловата система е пълна. |
Обяснение: Една от файловите системи, съдържащи базата данни, е пълна. Тази файлова система може да съдържа директория от базата данни, журнални файлове на базата данни или контейнер на пространството за таблици.
Операторът не може да бъде обработен.
Отговор на потребителя: За да определите коя файлова система е пълна, проверете в журнала за диагностика. Освободете системно пространство, като изтриете излишните файлове. Не изтривайте файлове от базата данни. Ако е необходимо допълнително пространство, може да отстраните ненужните таблици или индекси.
В базираните на Unix системи състоянието на препълване на диска може да се предизвика при надвишаване на максимално допустимия размер на файла за текущия потребител. Използвайте командата chuser, за да обновите fsize. Вероятно ще се наложи да заредите отново системата.
sqlcode: -968
sqlstate: 57011
SQL0969N | Няма текст на съобщение, съответстващ на SQL грешката "<грешка>" във файла за съобщения на тази работна станция. Съобщението за грешка е направено от модула "<име>" с оригинални токени "<списък токени>". |
Обяснение: Сървърът на базата данни връща на вашето приложение SQLCODE "<грешка>". Кодът на грешката не съответства на съобщение във файла за съобщения на мениджъра на базата данни на тази работна станция.
Отговор на потребителя: За да намерите причината за определения SQLCODE, проверете в документацията за сървъра на базата данни. Изпълнете действията, описани в документацията на сървъра на базата данни по този проблем.
Потребители на обединени системи: изолирайте проблема до източника на данни, който не е успял да удовлетвори заявката, (направете справка с Ръководство за отстраняване на проблеми, за да определите кой източник на данни не е успял да обработи SQL оператора). Намерете "<грешка>" в съответното ръководство за източника на данни. Ако проблемът е зависим от данните, проверете данните, които са били обработвани в източниците на данни при възникването на грешката.
SQL0970N | Системата е направила опит да запише във файл само за четене. |
Обяснение: Файл, използван от базата данни, е маркиран като само-за-четене или не съществува. Базата данни иска достъп за запис в този файл.
Операторът не може да бъде обработен.
Отговор на потребителя: Прекъснете приложението при получаване на това съобщение (SQLCODE). Уверете се, че е разрешен достъпът за четене и писане до всички файлове на базата данни. Проверете за излишни празни интервали в посоченото име на файл.
sqlcode: -970
sqlstate: 55009
SQL0972N | Устройството на базата данни не съдържа необходимата дискета. |
Обяснение: Дискетата в устройството не е дискетата на базата данни.
Операторът не може да бъде обработен.
Отговор на потребителя: Поставете необходимата дискета в устройството. Не изваждайте дискетата, ако приложението използва базата данни, записана на нея.
sqlcode: -972
sqlstate: 57019
SQL0973N | Няма достатъчно достъпна памет в стека "<име-на-стек>" за обработка на оператора. |
Обяснение: Използвана е цялата достъпна памет за този стек. Операторът не може да бъде обработен.
Отговор на потребителя: Прекъснете приложението при получаване на това съобщение (SQLCODE). Увеличете конфигурационния параметър за "<име-на-стек>", за да увеличите размера на стека.
sqlcode: -973
sqlstate: 57011
SQL0974N | Устройството, което съдържа базата данни, е заключено. |
Обяснение: Системата съобщава, че устройството, в което е базата данни, е заключено.
Операторът не може да бъде обработен.
Отговор на потребителя: Проверете дали няма други обработки (например CHKDSK), които могат да заключат устройството за системата. Повторете операцията.
Ако сте в процес на инсталиране на примерна база данни, отстранете я и я инсталирайте отново.
sqlcode: -974
sqlstate: 57020
SQL0975N | Новата транзакция не може да бъде стартирана, защото базата данни или потребителският модел "<име>" е защитена от потребителя "<потребител>". Тип на предпазване: "<тип>". |
Обяснение: Друг потребител е защитил потребителския модел или базата данни, която се опитвате да използвате. По време на защитата не са разрешени нови транзакции.
Типът на предпазване "<тип>" сочи потребителски модел или база данни, които вече са предпазени, и е '1' за потребителски модел и '2' за база данни.
Отговор на потребителя: Свържете се с потребителя, който е защитил в момента потребителския модел или базата данни, за да премахне защитата, и тогава повторете заявката.
sqlcode: -975
sqlstate: 57046
SQL0976N | Дискетното устройство не е затворено. |
Обяснение: Вратичката на устройството за базата данни е отворена.
Операторът не може да бъде обработен.
Отговор на потребителя: Затворете вратичката и повторете операцията.
sqlcode: -976
sqlstate: 57021
SQL0977N | Неразпознато COMMIT състояние. |
Обяснение: tm_database е станало недостъпно по време на COMMIT обработка и това е причината резултатът от COMMIT да е неизвестен. Когато tm_database стане достъпна, ще се изпълни ресинхронизация на базите данни. Забележете, че вероятно по време на повторната синхронизация е направен ролбек на транзакцията. По-нататъшното изпълнение на SQL оператори може да бъде успешно, въпреки че заключването може да продължи до завършването на процеса на повторна синхронизация.
Отговор на потребителя: Проверете дали връзката с tm_database може да бъде осъществена, например чрез използване на CLP. Ако не е възможно, следвайте инструкциите на върнатия SQLCODE и връзката ще бъде установена.
sqlcode: -977
sqlstate: 40003
SQL0978N | Дискетата е защитена от запис. |
Обяснение: Направен е опит за запис в базата данни на дискета, но тя е защитена от запис.
Операторът не може да бъде обработен.
Отговор на потребителя: Проверете дали използвате правилната дискета. Ако е необходимо, отстранете защитата от дискетата.
sqlcode: -978
sqlstate: 55009
SQL0979N | COMMIT е неуспешен за "<брой>" бази данни за приложния процес, стартиран с SYNCPOINT от NONE. Неуспехите включват следните псевдоними на бази данни и SQLSTATE двойки (могат да бъда върнати максимум четири): "<псевдоним/SQLSTATE1>", "<псевдоним/SQLSTATE2>", "<псевдоним/SQLSTATE3>", "<псевдоним/SQLSTATE4>". |
Обяснение: Приложението е свързано към множество бази данни и подадената команда COMMIT е неуспешна за една или повече от тези връзки.
Потребители на обединени системи: ако базата данни, към която сте се свързали, е обединен сървър база данни, в която се използват прякори, тогава запишете промените от източника на данни, необходим за базата данни с прякора, за която действието е неуспешно.
Отговор на потребителя: В зависимост от естеството на приложението и обновените данни потребителят може да преустанови изпълнението на обработката преди завършването й и да запише неуспеха в журнала. След това може да подаде съответен SQL, за да се увери, че промените, които възнамерява да направи, ще се отразят консистентно на всички включени бази данни.
Ако целият списък от бази данни ще бъде променен от грешките при COMMIT и не може да бъде върнат, погледнете в журнала за диагностика за пълния списък.
sqlcode: -979
sqlstate: 40003
SQL0980C | Възникнала е грешка на диска. Следващите SQL изрази не могат да бъдат обработени. |
Обяснение: Възникнала е грешка на диска, вследствие на която не е възможно успешното изпълнение на текущия и следващите SQL оператори. На приложната програма е забранено да задава допълнителни SQL оператори. Например, програмата за възстановяване, свързана с приложната програма, не може да подава допълнителни SQL оператори. В базата данни е необходимо възстановяване и достъпът до нея на всички приложения, които я използват, е забранен.
Операторът не може да бъде обработен.
Отговор на потребителя: Ако е възможно, запишете цялата информация за грешки от SQLCA. Спрете всички приложения, които използват базата данни. Определете дали грешката е хардуерна и извършете съответните действия, както е описано в Ръководство за отстраняване на проблеми. Стартирайте повторно базата данни. Ако възстановяването не е възможно, възстановете базата данни от резервно копие.
Ако сте в процес на инсталиране на примерна база данни, отстранете я и я инсталирайте отново.
sqlcode: -980
sqlstate: 58005
SQL0982N | Възникнала е грешка на диска. Следващите SQL оператори могат да бъдат обработени. |
Обяснение: Възникнала е грешка на диска по време на обработката на временния системен файл, вследствие на което не е възможно успешното изпълнение на текущия SQL оператор. Следващите SQL оператори могат да бъдат обработени.
Операторът не може да бъде обработен.
Отговор на потребителя: Прекъснете приложението при получаване на това съобщение (SQLCODE).
sqlcode: -982
sqlstate: 58004
SQL0983N | Журналът на транзакциите не принадлежи към текущата база данни. |
Обяснение: Сигнатурата, съхранена в журналния файл, не съответства на тази в базата данни. Това е често срещана грешка, когато потребителят определя, че журналният файл ще бъде записан в директория, различна от тази, в която е записана базата данни. Файлът може да бъде пренасочен.
Операторът не може да бъде обработен.
Отговор на потребителя: Подайте командата отново с правилен достъп до журналния файл.
sqlcode: -983
sqlstate: 57036
SQL0984C | COMMIT или ROLLBACK не е успешна. Следващите SQL изрази не могат да бъдат обработени. |
Обяснение: Операция за комит или ролбек не може да бъде изпълнена успешно поради системна грешка. На приложната програма е забранено да задава допълнителни SQL оператори. Например, програмата за възстановяване, свързана с приложната програма, не може да подава допълнителни SQL оператори. В базата данни е необходимо възстановяване и достъпът до нея на всички приложения, които я използват, е забранен.
Операторът не може да бъде обработен.
Отговор на потребителя: Ако е възможно, запишете номера на съобщението (SQLCODE) и цялата SQLCA информация за грешки. Спрете всички приложения, които използват базата данни. Стартирайте повторно базата данни. Ако сте в процес на инсталиране на примерна база данни, отстранете я и я инсталирайте отново.
Ако възстановяването не е възможно, възстановете базата данни от резервно копие.
Ако трасирането е активно, извикайте Независимото помощно средство за трасиране от командния промпт на операционната система. Прегледайте Независимо помощно средство за трасиране в Ръководство за отстраняване на проблеми за информация за използването на тази възможност. Свържете се с вашия представител на техническия сервиз, предоставяйки следната информация:
Необходима информация:
Потребители на обединени системи: изолирайте проблема до източника на данни, който не е успял да удовлетвори заявката (направете справка с Ръководство за отстраняване на проблеми, за да определите кой източник на данни не е успял да обработи SQL оператора), и направете диагностика и изпълнете процедурите за възстановяване на база данни на този източник на данни. За различните източници процедурите за определяне на проблемите се различават, затова направете справка с ръководствата на съответните източници на данни.
sqlcode: -984
sqlstate: 58005
SQL0985C | Открита е грешка при обработка на каталозите на базата данни. Базата данни не е използваема. |
Обяснение: Системата не може да се възстанови от входно-изходна грешка във файла с каталога.
Системата не може да обработи оператори като използва базата данни.
Отговор на потребителя: Възстановете базата данни от резервно копие.
Ако сте в процес на инсталиране на примерна база данни, отстранете я и я инсталирайте отново.
sqlcode: -985
sqlstate: 58005
SQL0986N | Открита е файлова грешка по време на обработка на таблица на потребителя. Таблицата не може да бъде използвана. |
Обяснение: Данните в таблицата вече на са валидни.
Системата не може да обработи оператори като използва таблицата.
Отговор на потребителя: Ако базата данни не е консистентна, възстановете я от резервно копие.
Ако сте в процес на инсталиране на примерна база данни, отстранете я и я инсталирайте отново.
sqlcode: -986
sqlstate: 58004
SQL0987C | Не може да бъде заделен наборът поделени памети за управление на приложения. |
Обяснение: Не може да бъде заделен наборът поделени памети за управление на приложения. Причината за тази грешка може да бъде недостатъчни ресурси памет за мениджъра на базата данни или обкръжението, в което са извършени операциите. Ресурсите памет, които може да причиняват тази грешка, включват:
Отговор на потребителя: Опитайте едно или повече от следните действия:
sqlcode: -987
sqlstate: 57011
SQL0990C | Възникнала е грешка в индекса. Организирайте повторно таблицата. |
Обяснение: Индексът е използван активно, така че е заето цялото пространство за индекси.
Потребители на обединени системи: тази ситуация може да бъде открита и чрез източника на данни.
Операторът не може да бъде обработен.
Отговор на потребителя: Запишете направените промени и повторете командата. Ако грешката не бъде отстранена, направете ролбек на работата си.Ако и след това има грешка, организирайте повторно таблицата.
Потребители на обединени системи: изолирайте проблема до източника на данни, който не е успял да удовлетвори заявката (направете справка с Ръководство за отстраняване на проблеми, за да определите кой източник на данни не е успял да обработи SQL оператора), и следвайте процедурите за повторно създаване на индекса за този източник на данни.
SQL0992C | Номерът на версията на предкомпилираната програма е невалиден. |
Обяснение: Номерът на версията на предкомпилираната програма (пакет) не съответства на номера на версията на инсталация на мениджъра на базата данни.
Предкомпилираната програма (пакет) не може да бъде използвана с текущата версия на мениджъра на базата данни. Командата не може да бъде изпълнена.
Отговор на потребителя: Използвайте само програми, които са предкомпилирани със съвместима версия на мениджъра на базата данни.
sqlcode: -992
sqlstate: 51008
SQL0993W | Новата пътека към журнала (newlogpath) в конфигурационния файл на базата данни е невалидна. |
Обяснение: Пътеката към журналния файл е невалидна поради една от следните причини.:
Исканата промяна не е направена.
Отговор на потребителя: За да промените пътеката към журналния файл, задайте команда с валидна стойност в конфигурацията на базата данни.
sqlcode: +993
sqlstate: 01562
SQL0994N | Неправилна употреба на точка на запис на приложението. |
Обяснение: Функцията в точката на запис на приложението е използвана неправилно. Програмата е направила опит да изпълни едно от следните действия:
Функцията не може да бъде обработена.
Отговор на потребителя: Коригирайте използването на точката за запис в програмата.
SQL0995W | Текущата пътека към журналния файл (logpath) е невалидна. Пътеката към журналния файл е върната към подразбиращата се. |
Обяснение: Пътеката към журналния файл е невалидна поради една от следните причини.:
Журналният файл е създаден в пътеката по подразбиране, за да се осъществи припокриване на записите в журнала. Следващият журнален файл е създаден в пътеката по подразбиране за архивния журнал. Исканата промяна не е направена.
Отговор на потребителя: За да промените пътеката към журналния файл, задайте команда с валидна стойност в конфигурацията на базата данни.
sqlcode: +995
sqlstate: 01563
SQL0996N | Не е възможно освобождаването на страници за обект в пространството за таблица. |
Обяснение: Съществуват повредени страници в базата данни или вътрешна логическа грешка в пространството за таблици. Повече подробности може да откриете в системния журнал и/или в журнала за съобщения за грешки на мениджъра на базата данни.
Отговор на потребителя: Преустановете използването на обекта или пространството за таблици. Свържете се със сервиза на IBM за проверка на обекта и пространството за таблици.
sqlcode: -996
sqlstate: 58035
SQL0997W | Общо информационно съобщение за обработка на транзакцията. Код на причина = "<XA-код-на-причина>". |
Обяснение: SQLCODE 997 се подава само между компоненти на мениджъра на базата данни и не се връща на приложението. Той се използва за съхранение на XA върнатите кодове за ситуации без грешки. Възможните кодове за причина са следните:
Отговор на потребителя: Не е необходимо действие.
SQL0998N | Открита е грешка по време на транзакция или на евристична обработка. Код на причината = "<код-на-причина>" Подкод = "<подкод>". |
Обяснение: Открита е грешка при обработка на разпределена транзакция. Транзакцията:
Възможните кодове за причина (съответстващи на X/Open XA кодове за причина са показани в скоби) са:
Отговор на потребителя: За код на причина от 1 до 8 ще бъде направен запис в системния журнал, защото SQLCA вероятно няма да бъде върнат в отговор на извикващата програма.
Ако грешката се дължи на неуспех при получаване на информация от източника на данни, свързан с прякор, мястото на неуспешния източник на данни ще се появява винаги в системния журнал на обединения сървър.
За код на причина 4, проверете съдържанието на низа xa open и направете необходимите корекции.
За код на причина 9, подкод 02, проверете дали конфигурационният параметър tp_mon_name съдържа име на динамична библиотека във външния продукт. В продукта има функция ax_reg(), използвана за динамична регистрация на транзакции.
За код на причината 14, уверете се, че MSDTC услугата е активна.
За код на причина 35 - извършете евристична операция върху база данни, която участва в глобалната транзакция като мениджър на ресурсите само за четене. Примери са всички DRDA бази данни като DB2 в MVS. Тези бази данни от тип, различен от XA, не могат да имат ХА транзакции под съмнение.
За кодове на причина 36, 37 и 38 - опитали сте се да изпълните невалидна евристична операция за транзакция под съмнение. Или сте задали грешен XID, или се е изпълнявала евристична операция или операция за повторна синхронизация, докато сте записвали този XID. Изпълнете евристична заявка, за да получите текущия списък на транзакциите под съмнение. В списъка може да проверите дали още има нужда от изпълнението на евристичната операция.
За код на причина 39 - определеният XID е за транзакция, която е приключила и чака началото на двуфазов процес на записване на промените. Може да изпълните евристични операции само върху транзакции, които са записани чрез двуфазов протокол и са станали транзакции под съмнение.
За код на причина 40 - SQL оператор е подаден при неуспешна транзакция. Пример за това е подаване на SQL оператор в нишка на транзакция, която е успешно регистрирана след здраво свързана нишка, участието й в същата транзакция се преустановява аварийно.
За код на причината 41 може да намерите повече информация за проблема във файла db2diag.log. Трябва да рестартирате DB2 на възлите, където не е стартирана. Може да бъде необходимо да се свържете със системния администратор за помощ.
За код на причина 69 - Мениджърът на транзакциите (TM) и/или мениджърът на ресурсите (RM) на базата данни се различават от този, който генерира транзакцията под съмнение. С други думи имената на TM или RM на базата данни могат да указват различни потребителски модели на базата данни. Несъответствието с ID на журнала вероятно е поради:
За код на причина 85 - обновявате множество източници на данни и в някои от тях е извършен евристичен ролбек или комит. В резултат в транзакцията има частичен комит или ролбек. В този случай данните са в неконсистентно състояние. Необходимо е ръчно да проверите всеки източник на данни, обновен от транзакцията, за да коригирате данните.
За код на причината 210 - някои от възлите са вече в състояние на комит. Трябва да направите евристичен комит, за да разрешите транзакциите под съмнение.
За код на причина 221, уверете се, че всички приложения, които участват в същата XA транзакция, използват същия потребителски идентификатор, за да се свържат към базата данни.
За код на причина 222, уверете се, че всички приложения, които участват в същата XA транзакция, използват същия CCSID.
За код на причина 223, модифицирайте приложението и настройката на клиента да използва локални клиенти или за отдалечени клиенти използвайте TCPIP като комуникационен протокол, за да се свържете към шлюза.
За код на причина 224, обновете клиента с версия 7.1 или по-нова.
Обща информация за процедурата на събиране:
Ако не можете да разрешите проблема, определен чрез кода на причината, запишете номера на съобщението (SQLCODE), кода на причината и евентуално подкода в съобщението или SQLCA от системния журнал.
Ако причината за отказа е в обединената база данни, трябва да запишете и мястото на неуспешния източник на данни, което се намира в системния журнал на обединения сървър.
Ако трасирането е активно, извикайте Независимото помощно средство за трасиране от командния промпт на операционната система. Прегледайте Независимо помощно средство за трасиране в Ръководство за отстраняване на проблеми за информация за използването на тази възможност. Свържете се с вашия представител на техническия сервиз, като подготвите следната информация:
Вероятно може да намерите допълнителна информация в конзолата или журналите за съобщения на мениджъра на транзакциите и мениджъра на бази данни.
sqlcode: -998
sqlstate: 58005