Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / IBM DB2, WebSphere, IMS, U2, etc Новый топик    Ответить
 БД сваливается в дамп при попытке изменить/удалить функцию  [new]
Toshkin
Member

Откуда:
Сообщений: 84
11.1 последний фикспак.
Только одну, с другими объектами проблем нет.

Может быть из-за этого:

2018-11-06-12.26.22.143000 Instance:DB2 Node:000
PID:2948(db2syscs.exe) TID:5036 Appid:*LOCAL.DB2.181106092645
database monitor sqmEvmonWriter::activate Probe:40 Database:NFTG_DB

ADM2017C The Event Monitor "DB2DETAILDEADLOCK" has reached its file capacity.
Delete the files in the target directory
"D:\data\nftg_db\DB2\NODE0000\SQL00001\MEMBER0000\DB2EVENT\db2detaildeadlock"
or move them to another directory.

Если нет, могу скинуть дамп по почте.
6 ноя 18, 14:25    [21725267]     Ответить | Цитировать Сообщить модератору
 Re: БД сваливается в дамп при попытке изменить/удалить функцию  [new]
CawaSPb
Member

Откуда: Питер/Москва/Wroclaw
Сообщений: 999
Toshkin
11.1 последний фикспак.
Только одну, с другими объектами проблем нет.

Может быть из-за этого:

2018-11-06-12.26.22.143000 Instance:DB2 Node:000
PID:2948(db2syscs.exe) TID:5036 Appid:*LOCAL.DB2.181106092645
database monitor sqmEvmonWriter::activate Probe:40 Database:NFTG_DB

ADM2017C The Event Monitor "DB2DETAILDEADLOCK" has reached its file capacity.
Delete the files in the target directory
"D:\data\nftg_db\DB2\NODE0000\SQL00001\MEMBER0000\DB2EVENT\db2detaildeadlock"
or move them to another directory.

Если нет, могу скинуть дамп по почте.

Ну так Вы убейте этот DB2DETAILDEADLOCK. Пользы от него в таком виде всё равно мало (да и вообще, он для "совместимости" скорее оставлен).
$ db2 "select tabname from syscat.tables where tabschema='SYSCAT' and tabname like '%MON%'"

TABNAME                                                                                                                         
--------------------------------------------------------------------------------------------------------------------------------
EVENTMONITORS                                                                                                                   

  1 record(s) selected.

$ db2 describe table syscat.eventmonitors

                                Data type                     Column
Column name                     schema    Data type name      Length     Scale Nulls
------------------------------- --------- ------------------- ---------- ----- ------
EVMONNAME                       SYSIBM    VARCHAR                    128     0 No    
OWNER                           SYSIBM    VARCHAR                    128     0 No    
OWNERTYPE                       SYSIBM    CHARACTER                    1     0 No    
TARGET_TYPE                     SYSIBM    CHARACTER                    1     0 No    
TARGET                          SYSIBM    VARCHAR                    762     0 No    
MAXFILES                        SYSIBM    INTEGER                      4     0 Yes   
...

$ db2 "select EVMONNAME from syscat.eventmonitors"

EVMONNAME                                                                                                                       
--------------------------------------------------------------------------------------------------------------------------------
DB2DETAILDEADLOCK                                                                                                               
...

$ db2 set event monitor DB2DETAILDEADLOCK state = 0
DB20000I  The SQL command completed successfully.
$ db2 drop event monitor DB2DETAILDEADLOCK
DB20000I  The SQL command completed successfully.


Но скорее не из-за него.

BTW Проверьте, у вас файловые системы не на 100% заполнены?
6 ноя 18, 15:55    [21725434]     Ответить | Цитировать Сообщить модератору
 Re: БД сваливается в дамп при попытке изменить/удалить функцию  [new]
Toshkin
Member

Откуда:
Сообщений: 84
возможно, в моменте бывает заполнен диск с архивными логами и бэкапами, но сейчас места везде достаточно
6 ноя 18, 16:37    [21725503]     Ответить | Цитировать Сообщить модератору
 Re: БД сваливается в дамп при попытке изменить/удалить функцию  [new]
Toshkin
Member

Откуда:
Сообщений: 84
Была функция с двумя параметрами, на нее ссылалась процедура с курсором.
Потом функцию и процедуру переделали с одним параметром, а старый курсор остался.
Судя по всему проблемы из-за него. Как его теперь убить?

К сообщению приложен файл. Размер - 15Kb
6 ноя 18, 18:44    [21725716]     Ответить | Цитировать Сообщить модератору
 Re: БД сваливается в дамп при попытке изменить/удалить функцию  [new]
Mark Barinstein
Member

Откуда: Москва
Сообщений: 4860
Toshkin,

select
  r.routinetype, r.parm_count, r.routineschema, r.routinename, r.specificname
, 'DROP SPECIFIC '||case r.routinetype when 'P' then 'PROCEDURE' when 'F' then 'FUNCTION' end ||' "'||r.routineschema||'"."'||r.specificname||'"'
from syscat.routinedep d
join syscat.routines r on r.routineschema=d.routineschema and r.specificname=d.specificname
where d.btype='K' and d.bname='P1891521054';
6 ноя 18, 19:20    [21725769]     Ответить | Цитировать Сообщить модератору
 Re: БД сваливается в дамп при попытке изменить/удалить функцию  [new]
Toshkin
Member

Откуда:
Сообщений: 84
в syscat.routines ее нет
7 ноя 18, 10:16    [21726181]     Ответить | Цитировать Сообщить модератору
 Re: БД сваливается в дамп при попытке изменить/удалить функцию  [new]
Mark Barinstein
Member

Откуда: Москва
Сообщений: 4860
Toshkin,

Попробуйте так, указав схему пакета:

CALL DBMS_UTILITY.GET_DEPENDENCY ('PACKAGE', 'YOURSCHEMA', 'P1891521054')

Если зависимостей нет, то можно DROP PACKAGE.
7 ноя 18, 10:28    [21726204]     Ответить | Цитировать Сообщить модератору
 Re: БД сваливается в дамп при попытке изменить/удалить функцию  [new]
Toshkin
Member

Откуда:
Сообщений: 84
Mark Barinstein
Toshkin,

Попробуйте так, указав схему пакета:

CALL DBMS_UTILITY.GET_DEPENDENCY ('PACKAGE', 'YOURSCHEMA', 'P1891521054')

Если зависимостей нет, то можно DROP PACKAGE.


CALL DBMS_UTILITY.GET_DEPENDENCY ('PACKAGE', 'NFTG', 'P1891521054');

ERROR [42704] [IBM][DB2/NT64] SQL0204N "NFTG.P1891521054" is an undefined name.


drop package "nftg"."P1891521054";

ERROR [51002] [IBM][DB2/NT64] SQL0805N Package "nftg.P1891521054" was not found.

хотя
select * from syscat.packages r
where r.pkgschema = 'NFTG' and r.pkgname = 'P1891521054';

запись возвращает

и в syscat.routinedep запись тоже есть
7 ноя 18, 10:42    [21726235]     Ответить | Цитировать Сообщить модератору
 Re: БД сваливается в дамп при попытке изменить/удалить функцию  [new]
Mark Barinstein
Member

Откуда: Москва
Сообщений: 4860
Toshkin,

Если вы заключаете в двойные кавычки имена, то они должны в точности соответствовать тому, что есть в системном каталоге - db2 не будет приводить их имена неявно к верхнему регистру.
--Если это возвращает записи:
select * from syscat.packages r
where r.pkgschema = 'NFTG' and r.pkgname = 'P1891521054';

--то либо:
drop package "NTFG"."P1891521054";
--либо (имя схемы без кавычек можно на любом регистре - в каталоге оно в верхнем регистре):
drop package nTfG."P1891521054";
7 ноя 18, 11:00    [21726277]     Ответить | Цитировать Сообщить модератору
 Re: БД сваливается в дамп при попытке изменить/удалить функцию  [new]
Toshkin
Member

Откуда:
Сообщений: 84
хотя, связей у пакета, похоже, нет

К сообщению приложен файл. Размер - 18Kb
7 ноя 18, 11:00    [21726279]     Ответить | Цитировать Сообщить модератору
 Re: БД сваливается в дамп при попытке изменить/удалить функцию  [new]
Toshkin
Member

Откуда:
Сообщений: 84
Mark Barinstein
Toshkin,

Если вы заключаете в двойные кавычки имена, то они должны в точности соответствовать тому, что есть в системном каталоге - db2 не будет приводить их имена неявно к верхнему регистру.
--Если это возвращает записи:
select * from syscat.packages r
where r.pkgschema = 'NFTG' and r.pkgname = 'P1891521054';

--то либо:
drop package "NTFG"."P1891521054";
--либо (имя схемы без кавычек можно на любом регистре - в каталоге оно в верхнем регистре):
drop package nTfG."P1891521054";


ERROR [42917] [IBM][DB2/NT64] SQL0658N The statement failed because the object named "NFTG.P1891521054" cannot be explicitly dropped, altered, or replaced.
7 ноя 18, 11:02    [21726283]     Ответить | Цитировать Сообщить модератору
 Re: БД сваливается в дамп при попытке изменить/удалить функцию  [new]
Mark Barinstein
Member

Откуда: Москва
Сообщений: 4860
Toshkin
в syscat.routines ее нет
А это тоже не выдает записей?
select *
from syscat.routinedep
where btype='K' and bname='P1891521054';

Поищите по всем SYSCAT.xxxDEP с аналогичным условием.
7 ноя 18, 13:35    [21726726]     Ответить | Цитировать Сообщить модератору
 Re: БД сваливается в дамп при попытке изменить/удалить функцию  [new]
Toshkin
Member

Откуда:
Сообщений: 84
Mark Barinstein
Toshkin
в syscat.routines ее нет
А это тоже не выдает записей?
select *
from syscat.routinedep
where btype='K' and bname='P1891521054';

Поищите по всем SYSCAT.xxxDEP с аналогичным условием.


syscat.routinedep возвращает

К сообщению приложен файл. Размер - 5Kb
7 ноя 18, 13:50    [21726758]     Ответить | Цитировать Сообщить модератору
 Re: БД сваливается в дамп при попытке изменить/удалить функцию  [new]
Toshkin
Member

Откуда:
Сообщений: 84
funcdec то же самое, одну запись, остальные ничего.
7 ноя 18, 13:55    [21726774]     Ответить | Цитировать Сообщить модератору
 Re: БД сваливается в дамп при попытке изменить/удалить функцию  [new]
Mark Barinstein
Member

Откуда: Москва
Сообщений: 4860
Toshkin,

Если в syscat.routines нет записи с этими routineschema и specificname, то надо открыть PMR/Case в IBM.
7 ноя 18, 14:36    [21726858]     Ответить | Цитировать Сообщить модератору
 Re: БД сваливается в дамп при попытке изменить/удалить функцию  [new]
Toshkin
Member

Откуда:
Сообщений: 84
Mark Barinstein,

Спасибо.
7 ноя 18, 14:48    [21726892]     Ответить | Цитировать Сообщить модератору
 Re: БД сваливается в дамп при попытке изменить/удалить функцию  [new]
Toshkin
Member

Откуда:
Сообщений: 84
[quot CawaSPb]
Toshkin
11.1 последний фикспак.
Ну так Вы убейте этот DB2DETAILDEADLOCK. Пользы от него в таком виде всё равно мало (да и вообще, он для "совместимости" скорее оставлен).


Я для чтения дедлоков SYSIBMADM.MON_LOCKWAITS + SYSIBMADM.APPLICATIONS смотрю.
Если DB2DETAILDEADLOCK прибить, в них инфа останется?
7 ноя 18, 15:37    [21726995]     Ответить | Цитировать Сообщить модератору
 Re: БД сваливается в дамп при попытке изменить/удалить функцию  [new]
Mark Barinstein
Member

Откуда: Москва
Сообщений: 4860
Toshkin
Я для чтения дедлоков SYSIBMADM.MON_LOCKWAITS + SYSIBMADM.APPLICATIONS смотрю.
Если DB2DETAILDEADLOCK прибить, в них инфа останется?
Это независимые вещи.
8 ноя 18, 13:28    [21728071]     Ответить | Цитировать Сообщить модератору
Все форумы / IBM DB2, WebSphere, IMS, U2, etc Ответить