Гость
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Запуск DB2 <команд> под разными юзерами? / 24 сообщений из 24, страница 1 из 1
29.10.2003, 16:29
    #32309296
Okram
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск DB2 <команд> под разными юзерами?
Привет всем!!!

Linux Suse, DB2 7.1

Создал shell-скрипт где использую команды DB2
которые допустимы инстансов DB2 напимер db2inst.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
#!/bin/sh
db2  "DROP DATABASE $1 "
db2  "CREATE DATABASE $" 
db2 update db cfg for $ 1  using APPLHEAPSZ  2048 
db2 update db cfg for $ 1  using DBHEAP  200000 
db2 force applications all
db2 terminate
db2stop
db2licd -end      
db2start
exit 


ВОПРОС: как зделать так чтобы етот скрипт могли выполнять
другие изера, которые не есть пользовалетями DB2?
Например: чтобы можна было запустить етот скрипт из PHP

спасибо за внимание
...
Рейтинг: 0 / 0
30.10.2003, 16:31
    #32310692
IBMer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск DB2 <команд> под разными юзерами?
Пользователь должен находится в группе SYSADM или SYSCTRL

groupadd "yougroup"
db2 update dbm cfg using SYSCTRL "yougroup"
useradd -g "yougroup" "youuser"
и в .profile этого пользователя добавить
что-то типа
. /home/db2inst1/sqllib/db2profile

Но зачем тебе вообще это нужно???
...
Рейтинг: 0 / 0
31.10.2003, 17:38
    #32312243
ggv
ggv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск DB2 <команд> под разными юзерами?
ну можно еще вставить
connect user $user using $using
только нужность всего этого вызывает сомнения, присоединяюсь к IBMer'у
...
Рейтинг: 0 / 0
03.11.2003, 10:32
    #32313143
Okram
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск DB2 <команд> под разными юзерами?
А как тогда иначе решается такая задача :
1) открывается веб-страничка
2) администратор логинится
3) нажимая на кнопку, создает новую БД (запускается php-скрипт, который в свою очередь запускает shell-скрипт)
4) работа с новой БД

?????????????????????????????????????????????????
...
Рейтинг: 0 / 0
03.11.2003, 23:21
    #32314219
ggv
ggv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск DB2 <команд> под разными юзерами?
ну а что если взять переданные страничке username/password и использовать в CONNECT TO ??
Или я чего-то не понимаю, или одно из двух.
Ну и фраза про не-пользователей DB2 тоже смущает.
Что значит не пользователь?
и это - из php можно и напрямую... без shell.... но это уже дело вкуса.
...
Рейтинг: 0 / 0
04.11.2003, 11:35
    #32314521
Okram
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск DB2 <команд> под разными юзерами?
ну так я и спрашиваю как ето точно зделать, а то у меня неполучается :(((
...
Рейтинг: 0 / 0
04.11.2003, 12:40
    #32314629
ggv
ggv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск DB2 <команд> под разными юзерами?
ну как сделать из php - в доке написано.
как передать параметр в shell скрипт - man <your_shell>
можно man getopt и использовать шулловский getopt,
а можно точно так же как передан параметр имя базы
ну будет в скрипте первая исполняемая комманда типа
attach to <instance> user $3 using $4
после этого создание базы и всё остальное....
А вообще-то странный вопрос.... То ли я его не понимаю....
...
Рейтинг: 0 / 0
04.11.2003, 14:09
    #32314790
Okram
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск DB2 <команд> под разными юзерами?
>ну как сделать из php - в доке написано.

я етого чтото невидил :((((((((
если можно конкретнее

>А вообще-то странный вопрос.... То ли я его не понимаю....

и чем он странный?
...
Рейтинг: 0 / 0
04.11.2003, 20:17
    #32315386
ggv
ggv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск DB2 <команд> под разными юзерами?
По поводу php - я кажеться погорячился. Administrative API там впроде бы еще не присутствует. Я правда не работаю с php, но доку глянул, на скорую не нашел.
А почему странный вопрос - потому что всё, что можно сделать в командной строке, всё это же можно сделать и в shell скрипте.
Стало быть и создание базы.
Но меня просто сильно смутила фраза про сам вопрос -
как зделать так чтобы етот скрипт могли выполнять
другие изера, которые не есть пользовалетями DB2?
ну не понимаю я, что это такое и всё... Тугодум, наверное...
Но скриптик набросать смогу - с
CONNECT TO $1 USER $2 using $3
:)
если это то, что требуеться...
...
Рейтинг: 0 / 0
05.11.2003, 18:23
    #32316540
Okram
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск DB2 <команд> под разными юзерами?
>как зделать так чтобы етот скрипт могли выполнять
>другие изера, которые не есть пользовалетями DB2?

ты правильно сказал что на php создать БД нельзя но с командной строки можна.
Я так и зделал. Если етот скрипт запускает юзер db2inst все нормально.
Но другие юзера соответственно не могут выполнить етот скрипт и ето нормально.
PHP зпускает shell скрипт под своим юзером (nobody(nogroup)) и потому неможет выполнить етот скрипт (создания БД), хотя в свою очередь он с етой БД работает и как параметр я ему задаю db2inst и его пароль,
потому я и хочу запустить так shell скрипт чтобы он запустился под юзером db2inst

вот такая вот у меня проблема
...
Рейтинг: 0 / 0
05.11.2003, 18:30
    #32316547
q
q
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск DB2 <команд> под разными юзерами?
соppи за ламерство (не работал с db2 под линукс), а не прокатит ли какой-нибудь дурацкий setuid флаг? или какое-нибудь sudo.
...
Рейтинг: 0 / 0
05.11.2003, 18:38
    #32316553
q
q
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск DB2 <команд> под разными юзерами?
soryy за ламерсто, но поставь в passwd один и тот же uid для nobody и db2inst.
линукс все простит...
...
Рейтинг: 0 / 0
06.11.2003, 19:20
    #32317586
Okram
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск DB2 <команд> под разными юзерами?
>как зделать так чтобы етот скрипт могли выполнять
>другие изера, которые не есть пользовалетями DB2?

ты правильно сказал что на php создать БД нельзя но с командной строки можна.
Я так и зделал. Если етот скрипт запускает юзер db2inst все нормально.
Но другие юзера соответственно не могут выполнить етот скрипт и ето нормально.
PHP зпускает shell скрипт под своим юзером (nobody(nogroup)) и потому неможет выполнить етот скрипт (создания БД), хотя в свою очередь он с етой БД работает и как параметр я ему задаю db2inst и его пароль,
потому я и хочу запустить так shell скрипт чтобы он запустился под юзером db2inst

вот такая вот у меня проблема
...
Рейтинг: 0 / 0
10.11.2003, 15:13
    #32319000
Okram
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск DB2 <команд> под разными юзерами?
ну чё никто и никогда такого не делал?
...
Рейтинг: 0 / 0
10.11.2003, 17:30
    #32319220
IBMer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск DB2 <команд> под разными юзерами?
Зачем??? IBM поставляет в комплекте с DB2 jsp приложение делающее то что ты хочешь??? Не проще ли его использовать???
...
Рейтинг: 0 / 0
12.11.2003, 11:45
    #32321192
Okram
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск DB2 <команд> под разными юзерами?
О! :)) Спасибо за ответ

Ещё б конкретнее подсказали где искать,
я б был тогда вам очень преблагодарен!!!!!!!!!!
...
Рейтинг: 0 / 0
19.11.2003, 18:19
    #32329272
Okram
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск DB2 <команд> под разными юзерами?
Значит написал так как вы(больщое вам спасибо) и советовали,
тоесть
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
#! /bin/sh

. /home/$ 2 /sqllib/db2profile


db2  "DROP DATABASE $1 "
db2  "CREATE DATABASE $1  ON /data/databases USING CODESET ISO- 8859 - 1  TERRITORY DE"
db2 update db cfg for $ 1  using APPLHEAPSZ  2048 
db2 update db cfg for $ 1  using DBHEAP  200000 
db2 force applications all
db2 terminate
db2 db2stop
db2 db2licd -end      
db2 db2start




всё работает прекрасно, но если я хочу сразу создавать таблички и сторедпроцедури начинаются проблеми


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
db2  "CONNECT TO $1  USER $ 2  USING $ 3 "

db2  "CREATE TABLE Table1( 

                                     id BIGINT NOT NULL , 
                                     name CHAR (254 ) NOT NULL, 
	                        PRIMARY KEY(id)
)" 



ето работает нормально но вот ето уже неработает


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
db2  "CONNECT TO $1  USER $ 2  USING $ 3 "

db2  "CREATE PROCEDURE SaveTable1
    (
     IN pId BIGINT, 
     IN pName CHAR (254 ), 
    )
   LANGUAGE SQL
   BEGIN

         INSERT INTO Table1(id,name)
         VALUES (pId,pName);
END
)" 


говорит что

Код: plaintext
[IBM][CLI Driver][DB2/LINUX] SQL0035N The file  "Precompilation/Compilation error"  cannot be opened.


!!!!!!!!!!!!!!!!!!!!!!!! но если я зайду под db2inst и зделаю db2stop и db2start
а потом уже под nobody из php выполню опять страничку где у меня создаются все Сторедпоцедуры всё работает прекрасно


я знаю что есть загвоздка при создании Сторедпоцедуры в home\db2inst\sqllib\function
но я незнаю как её решить????????

ПОМОГИТЕ ПОЖАЛУЙСТА!!!!!!!!!!!!!!!!!!!!!!!!!!
...
Рейтинг: 0 / 0
19.11.2003, 19:30
    #32329366
IBMer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск DB2 <команд> под разными юзерами?
Скопируй переменные среды в $DB2HOME/sqllib/userprofile
...
Рейтинг: 0 / 0
20.11.2003, 13:14
    #32330011
Okram
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск DB2 <команд> под разными юзерами?
а можно конкретнее?
какие именно?
...
Рейтинг: 0 / 0
20.11.2003, 17:07
    #32330536
IBMer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск DB2 <команд> под разными юзерами?
Все что есть в .profile
...
Рейтинг: 0 / 0
20.11.2003, 20:13
    #32330757
Okram
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск DB2 <команд> под разными юзерами?
>Все что есть в .profile

всё равно неработает :((((((

я вставил usera nobody в групу db2iadm и всё заработало

но у меня встечный вопрос , можна ли создать БД
и потом поменять ее конфигурацию без рестарта db2stop - db2start?

тоесть

Код: plaintext
1.
2.
3.
4.
db2  "DROP DATABASE NEWDB" 
db2  "CREATE DATABASE NEWDB" 
db2 update db cfg for NEWDB using APPLHEAPSZ  2048 
db2 update db cfg for NEWDB using DBHEAP  200000 


???????????

если да то как????
...
Рейтинг: 0 / 0
20.11.2003, 21:02
    #32330784
ggv
ggv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск DB2 <команд> под разными юзерами?
но ведь в доке по кажому конфигурационному параметру указываеться, когда ресурс выделяеться, когда изменения вступают в силу - всё зависит от изменяемого параметра.
...
Рейтинг: 0 / 0
21.11.2003, 11:52
    #32331193
IBMer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск DB2 <команд> под разными юзерами?
В 8-ке все параметры связанные с управление памятью меняются на лету.
...
Рейтинг: 0 / 0
21.11.2003, 12:28
    #32331262
Okram
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск DB2 <команд> под разными юзерами?
спасибо за ответ
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Запуск DB2 <команд> под разными юзерами? / 24 сообщений из 24, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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