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

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
Запуск DB2 <команд> под разными юзерами?
    #32310692
IBMer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пользователь должен находится в группе SYSADM или SYSCTRL

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

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

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

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

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

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

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

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

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

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

Ещё б конкретнее подсказали где искать,
я б был тогда вам очень преблагодарен!!!!!!!!!!
...
Рейтинг: 0 / 0
Запуск DB2 <команд> под разными юзерами?
    #32329272
Okram
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Значит написал так как вы(больщое вам спасибо) и советовали,
тоесть
Код: 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
Запуск DB2 <команд> под разными юзерами?
    #32329366
IBMer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Скопируй переменные среды в $DB2HOME/sqllib/userprofile
...
Рейтинг: 0 / 0
Запуск DB2 <команд> под разными юзерами?
    #32330011
Okram
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а можно конкретнее?
какие именно?
...
Рейтинг: 0 / 0
Запуск DB2 <команд> под разными юзерами?
    #32330536
IBMer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все что есть в .profile
...
Рейтинг: 0 / 0
Запуск DB2 <команд> под разными юзерами?
    #32330757
Okram
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
>Все что есть в .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
Запуск DB2 <команд> под разными юзерами?
    #32330784
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
но ведь в доке по кажому конфигурационному параметру указываеться, когда ресурс выделяеться, когда изменения вступают в силу - всё зависит от изменяемого параметра.
...
Рейтинг: 0 / 0
Запуск DB2 <команд> под разными юзерами?
    #32331193
IBMer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В 8-ке все параметры связанные с управление памятью меняются на лету.
...
Рейтинг: 0 / 0
Запуск DB2 <команд> под разными юзерами?
    #32331262
Okram
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо за ответ
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Запуск DB2 <команд> под разными юзерами?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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