Гость
Форумы / Informix [игнор отключен] [закрыт для гостей] / Отладка хранимых процедур / 17 сообщений из 17, страница 1 из 1
16.05.2011, 11:46
    #37262308
ga
ga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отладка хранимых процедур
Есть процедура. Она сложная. Хочу её отладить. Делаю так:

Код: plaintext
1.
2.
    SET DEBUG FILE TO '/tmp/informix.trace';
    TRACE ON;

Запускаю под пользователем informix:
Код: plaintext
execute procedure activtplan()

получаю ошибку
-648 SQL error: Cannot open DEBUG file for SPL routine trace. -1 Not owner

Через шэл попробывал - файл создайтся. Что нужно сделать с информиксом что бы он писал файлы ?
...
Рейтинг: 0 / 0
16.05.2011, 13:32
    #37262551
GVF112GVF
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отладка хранимых процедур
gaЕсть процедура. Она сложная. Хочу её отладить. Делаю так:

Код: plaintext
1.
2.
    SET DEBUG FILE TO '/tmp/informix.trace';
    TRACE ON;

Запускаю под пользователем informix:
Код: plaintext
execute procedure activtplan()

получаю ошибку
-648 SQL error: Cannot open DEBUG file for SPL routine trace. -1 Not owner

Через шэл попробывал - файл создайтся. Что нужно сделать с информиксом что бы он писал файлы ?

Проверь наличие директории и требуемых прав для пользователя.

PS:
-648 Cannot open DEBUG file for SPL routine trace.
An error occurred trying to open DEBUG trace file. This error can occur when one of the directories in the specified debug file name does not exist, or the directory is write protected. Check that the directory path is valid and that group informix can write to the directory.

С уважением,
Вадим.
...
Рейтинг: 0 / 0
16.05.2011, 15:01
    #37262768
ga
ga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отладка хранимых процедур
Ну да, это прочитал. Через shell пользователь informix в папке tmp файлы создаёт. Проблем с доступом у него не возникает.
Код: plaintext
1.
2.
[informix@salusa tmp]$ ls -l /tmp/
-rw-rw-r-- 1 informix informix    0 Май 16 11:34 informix.trace

А из процедуры хранимой проблемма с доступам возникает. Из шела - нет. Из бызы - да.
...
Рейтинг: 0 / 0
16.05.2011, 15:19
    #37262814
GVF112GVF
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отладка хранимых процедур
gaНу да, это прочитал. Через shell пользователь informix в папке tmp файлы создаёт. Проблем с доступом у него не возникает.
Код: plaintext
1.
2.
[informix@salusa tmp]$ ls -l /tmp/
-rw-rw-r-- 1 informix informix    0 Май 16 11:34 informix.trace

А из процедуры хранимой проблемма с доступам возникает. Из шела - нет. Из бызы - да.

Попробуй создать директорию tmp в домашнем каталоге пользователя informix - /home/informix/tmp

или в корне ...

>cd /
>sudo mkdir infx_tmp
>sudo chown informix:informix infx_tmp
>sudo 766 infx_tmp
...
SET DEBUG FILE TO '/infx_tmp/trace.out';
TRACE ' begin trace';
TRACE ON;

С уважением,
Вадим.
...
Рейтинг: 0 / 0
16.05.2011, 15:23
    #37262836
GVF112GVF
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отладка хранимых процедур
gaНу да, это прочитал. Через shell пользователь informix в папке tmp файлы создаёт. Проблем с доступом у него не возникает.
Код: plaintext
1.
2.
[informix@salusa tmp]$ ls -l /tmp/
-rw-rw-r-- 1 informix informix    0 Май 16 11:34 informix.trace

А из процедуры хранимой проблемма с доступам возникает. Из шела - нет. Из бызы - да.

Вы так выполняете ?

SET DEBUG FILE ...
TRACE ON;
...
execute procedure activtplan() ...
...
TRACE OFF;

С уважением,
Вадим.
...
Рейтинг: 0 / 0
16.05.2011, 15:26
    #37262843
victor16
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отладка хранимых процедур
Можно попробовать через Visual Studio или Optim Developmnet Studio.
Здесь описано, как.
...
Рейтинг: 0 / 0
16.05.2011, 15:30
    #37262861
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отладка хранимых процедур
ps -ef|grep oninit
...
Рейтинг: 0 / 0
16.05.2011, 16:29
    #37263041
ga
ga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отладка хранимых процедур
Журавлев Денисps -ef|grep oninit

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
[informix@salusa tmp]$ ps -ef|grep oninit
informix   8430       1    0   14 : 56  ?         00 : 00 : 02  oninit
informix   8431    8430    0   14 : 56  ?         00 : 00 : 00  oninit
informix   8432    8431    0   14 : 56  ?         00 : 00 : 00  oninit
informix   8433    8431    0   14 : 56  ?         00 : 00 : 01  oninit
informix   8434    8431    0   14 : 56  ?         00 : 00 : 00  oninit
informix   8435    8431    0   14 : 56  ?         00 : 00 : 00  oninit
informix   8436    8431    0   14 : 56  ?         00 : 00 : 00  oninit
informix   8437    8431    0   14 : 56  ?         00 : 00 : 00  oninit
informix   8438    8431    0   14 : 56  ?         00 : 00 : 00  oninit
informix   8439    8431    0   14 : 56  ?         00 : 00 : 00  oninit
informix   8440    8431    0   14 : 56  ?         00 : 00 : 00  oninit
informix   8441    8431    0   14 : 56  ?         00 : 00 : 00  oninit
informix   8442    8431    0   14 : 56  ?         00 : 00 : 00  oninit
informix   8443    8431    0   14 : 56  ?         00 : 00 : 00  oninit
informix   8444    8431    0   14 : 56  ?         00 : 00 : 00  oninit
informix  11371     958    0   16 : 28  pts/ 3      00 : 00 : 00  grep oninit
...
Рейтинг: 0 / 0
16.05.2011, 16:40
    #37263060
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отладка хранимых процедур
gaЖуравлев Денисps -ef|grep oninit

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
[informix@salusa tmp]$ ps -ef|grep oninit
informix   8430       1    0   14 : 56  ?         00 : 00 : 02  oninit
informix   8431    8430    0   14 : 56  ?         00 : 00 : 00  oninit
informix   8432    8431    0   14 : 56  ?         00 : 00 : 00  oninit
informix   8433    8431    0   14 : 56  ?         00 : 00 : 01  oninit

informix  11371     958    0   16 : 28  pts/ 3      00 : 00 : 00  grep oninit



еще покажите
ls -l $INFORMIXDIR /bin/oninit
...
Рейтинг: 0 / 0
16.05.2011, 16:43
    #37263065
ga
ga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отладка хранимых процедур
GVF112GVF,

Выполняю внутри процедуры:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
create procedure ActivTPlan()
   returning {viRetVal} integer   -- Код ошибки, если < 0
  .....
SET DEBUG FILE TO '/tmp/informix.trace';
TRACE ON;
......

TRACE off;      
return  0 ;

end procedure -- ActivTPlan
document 'Активировать тарифный план на счете и перевести плату за подключение с мастер-счета';                                                                                                                                                                              
grant execute on function "informix".activtplan() to public as informix;

А потом так :

Код: plaintext
1.
execute procedure activtplan()
...
Рейтинг: 0 / 0
16.05.2011, 16:52
    #37263085
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отладка хранимых процедур
ls -l $INFORMIXDIR /bin/oninit
надо
ls -l $INFORMIXDIR/bin/oninit
пробел лишний, хотя в общем и так понятно что права неверные.
Для правильной работы владельцем многих бинарников инфокмикса должен быть рут. И на таких бинарниках должен быть установлен s-бит.

1997694
...
Рейтинг: 0 / 0
16.05.2011, 16:52
    #37263087
ga
ga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отладка хранимых процедур
Журавлев Денисеще покажите
ls -l $INFORMIXDIR /bin/oninit

Код: plaintext
1.
2.
[informix@salusa bin]$ ls -l oninit
-rwxr-xr-x  1  root informix  12572495  Окт   5    2005  oninit
...
Рейтинг: 0 / 0
16.05.2011, 16:54
    #37263093
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отладка хранимых процедур
gaЖуравлев Денисеще покажите
ls -l $INFORMIXDIR /bin/oninit

Код: plaintext
1.
2.
[informix@salusa bin]$ ls -l oninit
-rwxr-xr-x  1  root informix  12572495  Окт   5    2005  oninit


s-бита нет, должно быть -rwsr-sr--
...
Рейтинг: 0 / 0
16.05.2011, 17:30
    #37263197
ga
ga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отладка хранимых процедур
Журавлев Денис, жму вашу мужественную руку! Всё заработало!
...
Рейтинг: 0 / 0
16.05.2011, 17:51
    #37263254
victor16
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отладка хранимых процедур
Журавлев ДенисДля правильной работы владельцем многих бинарников инфокмикса должен быть рут.
Последняя версия 11.70xC2 позволяет делать не-рутовую инсталляцию. Ей не нужен ни root, ни informix, ни /etc/passwd :)
...
Рейтинг: 0 / 0
16.05.2011, 18:18
    #37263302
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отладка хранимых процедур
victor16Журавлев ДенисДля правильной работы владельцем многих бинарников инфокмикса должен быть рут.
Последняя версия 11.70xC2 позволяет делать не-рутовую инсталляцию. Ей не нужен ни root, ни informix, ни /etc/passwd :)я слышал про это, надо будет попробовать. За прямое использование /etc/passwd архитектора вообще надо было убить, предварительно помучав.
...
Рейтинг: 0 / 0
16.05.2011, 18:36
    #37263328
GVF112GVF
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отладка хранимых процедур
Журавлев Денисvictor16пропущено...

Последняя версия 11.70xC2 позволяет делать не-рутовую инсталляцию. Ей не нужен ни root, ни informix, ни /etc/passwd :)я слышал про это, надо будет попробовать. За прямое использование /etc/passwd архитектора вообще надо было убить, предварительно помучав.

М-да, случаи бывают разные ... :))
Денис - молодец!!!

С уважением,
Вадим.
...
Рейтинг: 0 / 0
Форумы / Informix [игнор отключен] [закрыт для гостей] / Отладка хранимых процедур / 17 сообщений из 17, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]