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

Откуда:
Сообщений: 122
Коллеги, я сам в основном MS SQL занимаюсь, но иногда приходится и в DB2 ковыряться.
Подскажите, что не так с этим примитивным запросом?

В скуле я просто пишу:
while 1=1 
select top 1 from new table

и оно РАБОТАЕТ. С учетом "чудес" синтаксиса DB2, пытаюсь запустить то же самое в ней:
WHILE 1 = 1
DO
SELECT * FROM NEW_TABLE
FETCH FIRST 1 ROW ONLY
END WHILE

не работает. Говорит:
ERROR [42601] [IBM][DB2/AIX64] SQL0104N  An unexpected token "WHILE 1 = 1  DO" was found following "BEGIN-OF-STATEMENT".  Expected tokens may include:  "<space>".

Что ей надо-то? Гугл и оф.сайт что-то не помогли...
25 янв 16, 10:56    [18724556]     Ответить | Цитировать Сообщить модератору
 Re: Не пойму, как работает WHILE  [new]
emperor_bms
Member

Откуда:
Сообщений: 122
А заодно, как объявить переменную, присвоить ей значение и вывести ее?

declare v_i INTEGER;
set v_i = 1;
select v_i


Такая конструкция также не работает. Вроде абсолютно базовые комманды, но почему-то нужно с бубном танцевать чтобы они заработали...
25 янв 16, 11:27    [18724722]     Ответить | Цитировать Сообщить модератору
 Re: Не пойму, как работает WHILE  [new]
emperor_bms
Member

Откуда:
Сообщений: 122
Мде... вижу, что вопросы слишком тупые, чтобы на них отвечать. :)
Ну да ладно, все равно спасибо!
25 янв 16, 12:03    [18724960]     Ответить | Цитировать Сообщить модератору
 Re: Не пойму, как работает WHILE  [new]
CawaSPb
Member

Откуда: Питер/Москва/Wroclaw
Сообщений: 1091
emperor_bms,

Для понимания Вам необходимо подняться на уровень выше.

Есть интерактивный DB2 CLP, в котором Вы можете выполнять запросы. В том числе и селекты.
А есть процедурный SQL PL, который _совсем_ не Basic. И даже более того, бывает двух разных видов - Compiled и Inlined:
http://www-01.ibm.com/support/knowledgecenter/SSEPGG_10.5.0/com.ibm.db2.luw.sql.ref.doc/doc/r0004240.html
http://www-01.ibm.com/support/knowledgecenter/SSEPGG_10.5.0/com.ibm.db2.luw.sql.ref.doc/doc/r0004239.html

И вот там отдельно "висящий" select совсем неуместен. Это не язык интерактивной работы с базой.
Кроме того, если Вы внимательно почитаете документацию, Вы не увидите возможности использовать селект в том контексте, который приводите:
http://www-01.ibm.com/support/knowledgecenter/SSEPGG_10.5.0/com.ibm.db2.luw.sql.ref.doc/doc/r0005655.html

Надо - пользуйтесь отладчиком, модулем DBMS_OUTPUT (http://www-01.ibm.com/support/knowledgecenter/SSEPGG_10.5.0/com.ibm.db2.luw.apdv.sqlpl.doc/doc/r0053551.html) + SET SERVER OUTPUT (http://www-01.ibm.com/support/knowledgecenter/SSEPGG_10.5.0/com.ibm.db2.luw.admin.cmd.doc/doc/r0053562.html) или обвязкой из внешнего языка (shell, PowerShell, ...). В последнем случае Вам будет полезна опция -x.
25 янв 16, 15:34    [18726488]     Ответить | Цитировать Сообщить модератору
 Re: Не пойму, как работает WHILE  [new]
emperor_bms
Member

Откуда:
Сообщений: 122
Спасибо CawaSPb.
Но, как мне кажется, вы слишком глубоко копнули. Меня по сути интересовал синтаксис для организации цикла в DB2. Никаких процедур, функций или, боже упаси, того, на что вы мне дали ссылки, писать я и не собирался.
Моя задача была до неприличия примитивной: в том же Toad'е написать простой скрипт, который в цикле делает insert - select из одной таблички в другую. Все!
В MS SQL это можно сделать, например, как я и написал в первом сообщении (ну, понятно, что там еще можно добавить счетчик в цикл, чтобы он не был бесконечным и т.д. и т.п.) А вот из-за незнания особенностей синтаксиса и отсутствия опыта работы с DB2, там мне не удалось так просто решить эту задачу. Собственно вот...
27 янв 16, 10:31    [18734397]     Ответить | Цитировать Сообщить модератору
 Re: Не пойму, как работает WHILE  [new]
Mark Barinstein
Member

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

В db2 есть "простые" запросы, состоящие из одной команды, и "сложные", состоящие из нескольких команд, заключенных в
BEGIN ... END (compiled compound) и BEGIN ATOMIC ... END (inlined compound).
Если вы выполняете "простые" запросы в IBM Data Studio или командном процессоре DB2, то результаты SELECT печатаются автоматически. Если "сложные", то не печатаются.
Для передачи выводных данных из "сложных" запросов можно использовать 2 подхода:

1. Временные таблицы
+ Пример кода

declare global temporary table session.tab1 as 
(select tabname from syscat.tables where tabschema='SYSCAT') 
definition only on commit preserve rows not logged@

begin
  declare SQLCODE int default 0;
  declare v_tabname varchar(128);

  -- это только пример цикла.
  -- в реальности, конечно, надо вместо этого использовать для работы с сессионной таблицей
  -- insert into session.tab1 select ...
  for c1 as  
    select tabname from syscat.tables where tabschema='SYSCAT' fetch first 5 rows only
  do
    set v_tabname=c1.tabname;
    insert into session.tab1 values c1.tabname;
    --call dbms_output.put_line(v_tabname);
  end for;  
end@

select * from session.tab1@

2. Работа с процедурами модуля DBMS_OUTPUT (для тех клиентских программ, в которых сделана обработка буфера обмена)
Программа должна делать следующее:
- включать использование буфера сначала в сессии: call dbms_output.enable(null)
- после вызова "сложной" команды или процедуры, где вызываются dbms_output.put* процедуры, выполнять автоматически dbms_output.get* процедуры для отображения того, что пользовательская команда могла поместить в буфер.

Командный процессор DB2 умеет работать в режиме 2. Там, правда, обычно включают использование буфера командой SET SERVEROUTPUT ON.
Умеет ли работать в режиме 2 TOAD, я не знаю.
IBM Data Studio не умеет.
27 янв 16, 11:53    [18734865]     Ответить | Цитировать Сообщить модератору
 Re: Не пойму, как работает WHILE  [new]
Victor Metelitsa
Member

Откуда: Тюмень
Сообщений: 2550
emperor_bms
Спасибо CawaSPb.
Но, как мне кажется, вы слишком глубоко копнули. Меня по сути интересовал синтаксис для организации цикла в DB2. Никаких процедур, функций или, боже упаси, того, на что вы мне дали ссылки, писать я и не собирался.
Моя задача была до неприличия примитивной: в том же Toad'е написать простой скрипт, который в цикле делает insert - select из одной таблички в другую. Все!
В MS SQL это можно сделать, например, как я и написал в первом сообщении (ну, понятно, что там еще можно добавить счетчик в цикл, чтобы он не был бесконечным и т.д. и т.п.) А вот из-за незнания особенностей синтаксиса и отсутствия опыта работы с DB2, там мне не удалось так просто решить эту задачу. Собственно вот...


Можно подумать, что люди рождаются со знанием диалекта MS SQL. Я вот так и не знаю, какую задачу вот этим "while 1=1
select top 1 from new table" вы решаете. Слова знакомые, а смысл не то, что ускользает - его просто не видно. Ни 20 лет работы с DB2, ни 15 с Oracle к этому не подготовили.

Но всё равно, делать insert/select циклом должно быть и в MS SQL весьма глупым занятием.
27 янв 16, 18:08    [18737077]     Ответить | Цитировать Сообщить модератору
 Re: Не пойму, как работает WHILE  [new]
CawaSPb
Member

Откуда: Питер/Москва/Wroclaw
Сообщений: 1091
emperor_bms,

А опишите задачу тогда. Что Вам нужно?
Продублировать приходящие записи? (триггер или какое-либо репликационное решение)
Перелить большую таблицу частями?

А то я тоже, честно говоря, теряюсь, что хочется получить.

Повторюсь, основная идея изложенного - select может встречаться не во всех контекстах. И это скорее вопрос к IDE.

BTW Разные выполнения "SELECT * FROM NEW_TABLE FETCH FIRST 1 ROW ONLY" на одних и тех же данных могут давать разные результаты.
Семантически - это вообще "дай мне не знаю какую строчку из таблицы". В реляционную модель вписывается очень слабо.
27 янв 16, 19:00    [18737321]     Ответить | Цитировать Сообщить модератору
 Re: Не пойму, как работает WHILE  [new]
emperor_bms
Member

Откуда:
Сообщений: 122
Коллеги, я прошу прощения за то, что сразу не объяснил, что мне нужно. Нужно было просто создать абсолютно любую таблицу и забить ее кучей абсолютно любых данных максимально простым способом. Я реально думал, что кто-то просто скинет скриптец а-ля вот этот или напишет что-то типа "поставь begin-end и точки с запятой после строк и все заработает, как есть":
insert into big_table 
WITH T (I) AS ( 
VALUES 1 
  UNION ALL 
SELECT I+1 
FROM T 
WHERE I<1000000) 
SELECT s.* 
FROM T, syscat.tablespaces s

Тот select, что я привел был просто тупым примером, типа "вот такая конструкция в SQL работает, а в ДБ2 не очень. Ребята, как ее заставить работать?". Поэтому глубокого смысла в нем и не было. Просто потом бы я, конечно же, допилил скрипт до нормального (не бредового) состояния.
28 янв 16, 10:41    [18739110]     Ответить | Цитировать Сообщить модератору
 Re: Не пойму, как работает WHILE  [new]
knudsen
Member

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

может такое что-то:

CREATE TABLE TEST.DRUMS (FLD INTEGER);

INSERT INTO TEST.DRUMS
WITH A1 (FLD) AS ( SELECT FLD FROM TABLE(VALUES(1)) A0 (FLD)),
A2 (FLD) AS (
SELECT FLD FROM A1
UNION ALL 
SELECT FLD FROM A2)
SELECT A1.FLD FROM A2, A1 
WHERE A1.FLD=A2.FLD
FETCH FIRST 104535 ROWS ONLY;
 


ну там дальше доточить...
30 янв 16, 20:20    [18750717]     Ответить | Цитировать Сообщить модератору
 Re: Не пойму, как работает WHILE  [new]
emperor_bms
Member

Откуда:
Сообщений: 122
Что-то вообще какая-то ерунда. База SAMPLE, стандартная. Настройки транзакционального лога:
Log file size (4KB)                         (LOGFILSIZ) = 393216
Number of primary log files (LOGPRIMARY) = 130
Number of secondary log files (LOGSECOND) = 110

Итого 386 Гигабайт. Делаю db2stop force, затем db2start. Кроме меня никто к БД не коннектится.

Запускаю:
insert into big_table3 select * from big_table fetch first 500000 rows only


через 10 секунд получаю:

ERROR [57011] [IBM][DB2/AIX64] SQL0964C The transaction log for the database is full.

Какого рожна?
2 фев 16, 15:08    [18762381]     Ответить | Цитировать Сообщить модератору
 Re: Не пойму, как работает WHILE  [new]
emperor_bms
Member

Откуда:
Сообщений: 122
Посмотрел в исходной таблице, если поделить колическтво страниц данных на количество строк, получается 0.68 странички на строку, страница 8к, значит строка менее 6к. 500 000 строк по 6к, это менее 3Гб. Как 3 гигами данных можно за 10 секуннд забить журнал размером 386 Гб??? Бд НЕ в режиме архивирования логов. По идее после коммита или роллбэка лог должен очищаться. Ну а после рестарта и подавно...
2 фев 16, 15:14    [18762417]     Ответить | Цитировать Сообщить модератору
 Re: Не пойму, как работает WHILE  [new]
emperor_bms
Member

Откуда:
Сообщений: 122
db2 get db cfg | grep -i '(logarchmeth'


 First log archive method                 (LOGARCHMETH1) = OFF
Second log archive method (LOGARCHMETH2) = OFF
2 фев 16, 15:22    [18762479]     Ответить | Цитировать Сообщить модератору
 Re: Не пойму, как работает WHILE  [new]
emperor_bms
Member

Откуда:
Сообщений: 122
Вот что в диагностическом логе:

ADM1823E The active log is full and is held by application handle "0-52". Terminate this application by COMMIT, ROLLBACK or FORCE APPLICATION.
ZRC=0x85100009=-2062548983=SQLP_NOSPACE "Log File has reached its saturation point" DIA8309C Log file was full.


Делаю и коммит и force application all и стоп-старт. Заново запускаю скрипт - менее 10 секунд - ошибка что лог переполнен.
2 фев 16, 15:41    [18762630]     Ответить | Цитировать Сообщить модератору
 Re: Не пойму, как работает WHILE  [new]
m&n
Guest
emperor_bms,

на fs места достаточно?
2 фев 16, 15:51    [18762699]     Ответить | Цитировать Сообщить модератору
 Re: Не пойму, как работает WHILE  [new]
emperor_bms
Member

Откуда:
Сообщений: 122
m&n
emperor_bms,
на fs места достаточно?


Filesystem GB blocks Free %Used Iused %Iused Mounted on
/dev/lvTST0 799.50 568.51 29% 217 1% /db2path/rb052367/NODE0000
/dev/lvTST1 799.50 797.75 1% 87 1% /db2path/rb052367/NODE0001
2 фев 16, 15:58    [18762740]     Ответить | Цитировать Сообщить модератору
 Re: Не пойму, как работает WHILE  [new]
m&n
Guest
emperor_bms,

покажите кусок db2diag.log за тот период, в который возникает ошибка
и заодно db2 get db cfg for ххх | grep -i log
2 фев 16, 16:03    [18762783]     Ответить | Цитировать Сообщить модератору
 Re: Не пойму, как работает WHILE  [new]
emperor_bms
Member

Откуда:
Сообщений: 122
+ db2diag

2016-02-02-16.03.38.579944+180 E1112728A571 LEVEL: Warning
PID : 34341008 TID : 10594 PROC : db2sysc 1
INSTANCE: rb052367 NODE : 001 DB : SAMPLE
APPHDL : 0-90 APPID: *N0.rb052367.160202124940
AUTHID : RB052367 HOSTNAME: rsb-dbcdpf1
EDUID : 10594 EDUNAME: db2agntp (SAMPLE) 1
FUNCTION: DB2 UDB, data management, sqldEscalateLocks, probe:3
MESSAGE : ADM5502W The escalation of "12684" locks on table
"RB052367.BIG_TABLE3" to lock intent "X" was successful.

2016-02-02-16.03.44.890594+180 E1113300A625 LEVEL: Error
PID : 34341008 TID : 10594 PROC : db2sysc 1
INSTANCE: rb052367 NODE : 001 DB : SAMPLE
APPHDL : 0-90 APPID: *N0.rb052367.160202124940
AUTHID : RB052367 HOSTNAME: rsb-dbcdpf1
EDUID : 10594 EDUNAME: db2agntp (SAMPLE) 1
FUNCTION: DB2 UDB, data protection services, sqlpgResSpace, probe:2860
MESSAGE : ADM1823E The active log is full and is held by application handle
"0-90". Terminate this application by COMMIT, ROLLBACK or FORCE
APPLICATION.

2016-02-02-16.03.44.891477+180 E1113926A590 LEVEL: Error
PID : 34341008 TID : 10594 PROC : db2sysc 1
INSTANCE: rb052367 NODE : 001 DB : SAMPLE
APPHDL : 0-90 APPID: *N0.rb052367.160202124940
AUTHID : RB052367 HOSTNAME: rsb-dbcdpf1
EDUID : 10594 EDUNAME: db2agntp (SAMPLE) 1
FUNCTION: DB2 UDB, data protection services, sqlpgResSpace, probe:6666
MESSAGE : ZRC=0x85100009=-2062548983=SQLP_NOSPACE
"Log File has reached its saturation point"
DIA8309C Log file was full.

2016-02-02-16.03.44.892003+180 I1114517A588 LEVEL: Error
PID : 34341008 TID : 10594 PROC : db2sysc 1
INSTANCE: rb052367 NODE : 001 DB : SAMPLE
APPHDL : 0-90 APPID: *N0.rb052367.160202124940
AUTHID : RB052367 HOSTNAME: rsb-dbcdpf1
EDUID : 10594 EDUNAME: db2agntp (SAMPLE) 1
FUNCTION: DB2 UDB, data protection services, sqlpWriteLR, probe:6680
MESSAGE : ZRC=0x85100009=-2062548983=SQLP_NOSPACE
"Log File has reached its saturation point"
DIA8309C Log file was full.

2016-02-02-16.04.28.604380+180 E1115106A861 LEVEL: Warning
PID : 34341008 TID : 11107 PROC : db2sysc 1
INSTANCE: rb052367 NODE : 001 DB : SAMPLE
APPHDL : 0-90 APPID: *N0.rb052367.160202124940
AUTHID : RB052367 HOSTNAME: rsb-dbcdpf1
EDUID : 11107 EDUNAME: db2agntp (SAMPLE) 1
FUNCTION: DB2 UDB, data management, sqldEscalateLocks, probe:2
MESSAGE : ADM5500W The database manager is performing lock escalation. The
affected application is named "db2bp", and is associated with the
workload name "SYSDEFAULTUSERWORKLOAD" and application ID
"*N0.rb052367.160202124940" at member "1". The total number of locks
currently held is "12688", and the target number of locks to hold is
"6344". Reason code: "1"

2016-02-02-16.04.28.605134+180 E1115968A571 LEVEL: Warning
PID : 34341008 TID : 11107 PROC : db2sysc 1
INSTANCE: rb052367 NODE : 001 DB : SAMPLE
APPHDL : 0-90 APPID: *N0.rb052367.160202124940
AUTHID : RB052367 HOSTNAME: rsb-dbcdpf1
EDUID : 11107 EDUNAME: db2agntp (SAMPLE) 1
FUNCTION: DB2 UDB, data management, sqldEscalateLocks, probe:3
MESSAGE : ADM5502W The escalation of "12684" locks on table
"RB052367.BIG_TABLE3" to lock intent "X" was successful.

2016-02-02-16.04.33.438981+180 E1116540A625 LEVEL: Error
PID : 34341008 TID : 11107 PROC : db2sysc 1
INSTANCE: rb052367 NODE : 001 DB : SAMPLE
APPHDL : 0-90 APPID: *N0.rb052367.160202124940
AUTHID : RB052367 HOSTNAME: rsb-dbcdpf1
EDUID : 11107 EDUNAME: db2agntp (SAMPLE) 1
FUNCTION: DB2 UDB, data protection services, sqlpgResSpace, probe:2860
MESSAGE : ADM1823E The active log is full and is held by application handle
"0-90". Terminate this application by COMMIT, ROLLBACK or FORCE
APPLICATION.

2016-02-02-16.04.33.439788+180 E1117166A590 LEVEL: Error
PID : 34341008 TID : 11107 PROC : db2sysc 1
INSTANCE: rb052367 NODE : 001 DB : SAMPLE
APPHDL : 0-90 APPID: *N0.rb052367.160202124940
AUTHID : RB052367 HOSTNAME: rsb-dbcdpf1
EDUID : 11107 EDUNAME: db2agntp (SAMPLE) 1
FUNCTION: DB2 UDB, data protection services, sqlpgResSpace, probe:6666
MESSAGE : ZRC=0x85100009=-2062548983=SQLP_NOSPACE
"Log File has reached its saturation point"
DIA8309C Log file was full.

2016-02-02-16.04.33.440241+180 I1117757A588 LEVEL: Error
PID : 34341008 TID : 11107 PROC : db2sysc 1
INSTANCE: rb052367 NODE : 001 DB : SAMPLE
APPHDL : 0-90 APPID: *N0.rb052367.160202124940
AUTHID : RB052367 HOSTNAME: rsb-dbcdpf1
EDUID : 11107 EDUNAME: db2agntp (SAMPLE) 1
FUNCTION: DB2 UDB, data protection services, sqlpWriteLR, probe:6680
MESSAGE : ZRC=0x85100009=-2062548983=SQLP_NOSPACE
"Log File has reached its saturation point"
DIA8309C Log file was full.


+ db2 get db cfg for SAMPLE | grep -i log

Log retain for recovery status = NO
User exit for logging status = NO
Catalog cache size (4KB) (CATALOGCACHE_SZ) = (MAXAPPLS*5)
Log buffer size (4KB) (LOGBUFSZ) = 10000
Log file size (4KB) (LOGFILSIZ) = 393216
Number of primary log files (LOGPRIMARY) = 130
Number of secondary log files (LOGSECOND) = 110
Changed path to log files (NEWLOGPATH) =
Path to log files = /db2path/rb052367/NODE0000/SQL00001/LOGSTREAM0000/
Overflow log path (OVERFLOWLOGPATH) =
Mirror log path (MIRRORLOGPATH) =
First active log file =
Block log on disk full (BLK_LOG_DSK_FUL) = NO
Block non logged operations (BLOCKNONLOGGED) = NO
Percent max primary log space by transaction (MAX_LOG) = 0
Num. of active log files for 1 active UOW(NUM_LOG_SPAN) = 0
Percent log file reclaimed before soft chckpt (SOFTMAX) = 100
HADR log write synchronization mode (HADR_SYNCMODE) = NEARSYNC
HADR spool log data limit (4KB) (HADR_SPOOL_LIMIT) = 0
HADR log replay delay (seconds) (HADR_REPLAY_DELAY) = 0
First log archive method (LOGARCHMETH1) = OFF
Archive compression for logarchmeth1 (LOGARCHCOMPR1) = OFF
Options for logarchmeth1 (LOGARCHOPT1) =
Second log archive method (LOGARCHMETH2) = OFF
Archive compression for logarchmeth2 (LOGARCHCOMPR2) = OFF
Options for logarchmeth2 (LOGARCHOPT2) =
Failover log archive path (FAILARCHPATH) =
Number of log archive retries on error (NUMARCHRETRY) = 5
Log archive retry Delay (secs) (ARCHRETRYDELAY) = 20
Log pages during index build (LOGINDEXBUILD) = OFF
Log DDL Statements (LOG_DDL_STMTS) = NO
Log Application Information (LOG_APPL_INFO) = NO
2 фев 16, 16:30    [18762938]     Ответить | Цитировать Сообщить модератору
 Re: Не пойму, как работает WHILE  [new]
Mark Barinstein
Member

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

Что выдает на rsb-dbcdpf1:

su - rb052367 -c "ulimit -Ha"
2 фев 16, 17:34    [18763462]     Ответить | Цитировать Сообщить модератору
 Re: Не пойму, как работает WHILE  [new]
emperor_bms
Member

Откуда:
Сообщений: 122
core file size          (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
max memory size (kbytes, -m) unlimited
open files (-n) unlimited
pipe size (512 bytes, -p) 64
stack size (kbytes, -s) 2097152
cpu time (seconds, -t) unlimited
max user processes (-u) unlimited
virtual memory (kbytes, -v) unlimited
2 фев 16, 17:45    [18763550]     Ответить | Цитировать Сообщить модератору
 Re: Не пойму, как работает WHILE  [new]
Mark Barinstein
Member

Откуда: Москва
Сообщений: 4947
emperor_bms,
select dbpartitionnum, varchar(name, 20) name, varchar(value, 10) val, varchar(deferred_value, 10) d_val
from sysibmadm.dbcfg cfg 
where name in ('logfilsiz', 'logprimary', 'logsecond')
order by dbpartitionnum, name
2 фев 16, 18:23    [18763773]     Ответить | Цитировать Сообщить модератору
 Re: Не пойму, как работает WHILE  [new]
emperor_bms
Member

Откуда:
Сообщений: 122
DBPARTITIONNUM	NAME	VAL	D_VAL
0 logfilsiz 393216 393216
0 logprimary 130 130
0 logsecond 110 110
1 logfilsiz 1000 1000
1 logprimary 3 3
1 logsecond 10 10
2 logfilsiz 1000 1000
2 logprimary 3 3
2 logsecond 10 10

Хм.. а почему для 1 и 2 партиции значения параметров для транзакционных логов остались по умолчанию?
В этом проблема?
3 фев 16, 10:19    [18765584]     Ответить | Цитировать Сообщить модератору
 Re: Не пойму, как работает WHILE  [new]
knudsen
Member

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

Посмотрите: http://www-01.ibm.com/support/knowledgecenter/SSEPGG_10.5.0/com.ibm.db2.luw.admin.partition.doc/doc/c0005829.html?lang=en
3 фев 16, 10:58    [18765738]     Ответить | Цитировать Сообщить модератору
 Re: Не пойму, как работает WHILE  [new]
emperor_bms
Member

Откуда:
Сообщений: 122
knudsen
emperor_bms,

Посмотрите: http://www-01.ibm.com/support/knowledgecenter/SSEPGG_10.5.0/com.ibm.db2.luw.admin.partition.doc/doc/c0005829.html?lang=en


Спасибо! А как все-таки подключатся к каждой партиции(ноде) в отдельности чтобы поправить DB CFG по одному? Не нашел в документации.
3 фев 16, 11:23    [18765858]     Ответить | Цитировать Сообщить модератору
 Re: Не пойму, как работает WHILE  [new]
knudsen
Member

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

Можно использовать конструкцию <<+N< , вот напрмер:
db2_all "<<+1< db2 UPDATE DB CFG FOR DBNAME USING LOGFILSIZ 393216"
3 фев 16, 13:02    [18766742]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / IBM DB2, WebSphere, IMS, U2, etc Ответить