powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Не пойму, как работает WHILE
14 сообщений из 39, страница 2 из 2
Не пойму, как работает WHILE
    #39161920
emperor_bms
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А то есть вариантов типа:
Код: sql
1.
2.
3.
4.
connect to node N 
connect to dbname at node N
attach to instancename at node N
...



Таких нет чтоли???
...
Рейтинг: 0 / 0
Не пойму, как работает WHILE
    #39161945
knudsen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
emperor_bms,

Да можно проще:
Код: sql
1.
 UPDATE DB CFG FOR DBNAME DBPARTITIONNUM 1 USING ....



http://www-01.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.db2.luw.admin.cmd.doc/doc/r0001987.html?lang=en
...
Рейтинг: 0 / 0
Не пойму, как работает WHILE
    #39162030
emperor_bms
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хм... замечательно. А вот для
Код: sql
1.
get db cfg


такого ключа нет. Придется лезть в SYSIBMADM.DBCFG

Как-то вот все все-таки немного не по людски... не user friendly, так сказать...
...
Рейтинг: 0 / 0
Не пойму, как работает WHILE
    #39162033
emperor_bms
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну или db2_all пользовать...
...
Рейтинг: 0 / 0
Не пойму, как работает WHILE
    #39162061
emperor_bms
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А вот выкопал совет, как подключится к ноде. Надо мол каталогизировать базы таким образом:
Код: sql
1.
2.
db2 catalog db DBASE as DBASE1 at node DB2HOST1
db2 catalog db DBASE as DBASE2 at node DB2HOST2



Но вот незадача, а если партиции/ноды висят на одном хосте. Как вообще получить список нод с их именами?

Код: sql
1.
db2 list database directory 



выдает лишь партицию 0

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
System Database Directory

 Number of entries in the directory = 1

Database 1 entry:

 Database alias                       = SAMPLE
 Database name                        = SAMPLE
 Local database directory             = /db2path
 Database release level               = f.00
 Comment                              =
 Directory entry type                 = Indirect
 Catalog database partition number    = 0
 Alternate server hostname            =
 Alternate server port number         =

Код: sql
1.
db2 list nodes


выводит
Код: plaintext
1.
2.
3.
4.
DATABASE PARTITION NUMBER
----------------------------
                           0
                           1
                           2
...
Рейтинг: 0 / 0
Не пойму, как работает WHILE
    #39162954
Фотография -_Михаил_-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
emperor_bms (LOGFILSIZ) = 393216


В моей умной книжке стоит, что максимальный размер LOGFILSIZ состовляет 262 Гигабайта

Может конечно я и ошибаюсь
...
Рейтинг: 0 / 0
Не пойму, как работает WHILE
    #39162987
knudsen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
-_Михаил_-,

1.
UNIX
1000 [4 - 1 048 572] до - 4Gb
Windows
1000 [4 - 1 048 572]

2.

The upper limit of log file size, combined with the upper limit of the number of log files (logprimary + logsecond), gives an upper limit of 1024 GB of active log space.

http://www-01.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.db2.luw.admin.config.doc/doc/r0000239.html?cp=SSEPGG_9.7.0/2-2-6-7-63&lang=en

3.
The number of primary and secondary log files must comply with the following:

If logsecond has a value of -1, logprimary <= 256.
If logsecond does not have a value of -1, (logprimary + logsecond) <= 256.

http://www-01.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.db2.luw.admin.config.doc/doc/r0000240.html?cp=SSEPGG_9.7.0/2-2-6-7-67&lang=en
...
Рейтинг: 0 / 0
Не пойму, как работает WHILE
    #39163912
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
emperor_bms
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
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 партиции значения параметров для транзакционных логов остались по умолчанию?
В этом проблема?
По-умолчанию при update db cfg параметры меняются на всех разделах одновременно. Но есть возможность менять только на нужном разделе, что, скорее всего, и сделали ранее.
Переполнение журнала у вас, судя по db2diag.log, было на разделе 1. Поэтому да, проблема была в этом.
...
Рейтинг: 0 / 0
Не пойму, как работает WHILE
    #39163932
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
knudsenemperor_bms,

Можно использовать конструкцию <<+N< , вот напрмер:
Код: sql
1.
db2_all "<<+1< db2 UPDATE DB CFG FOR DBNAME USING LOGFILSIZ 393216"

Такой командой мы изменим параметры на ВСЕХ разделах, а не на 1-ом, несмотря на то, что подключаемся мы в этом случае к разделу 1.
Если вдруг надо менять на одном разделе, то не важно, к какому разделу мы подключаемся, надо использовать кляузу DBPARTITIONNUM в команде.
...
Рейтинг: 0 / 0
Не пойму, как работает WHILE
    #39164027
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
emperor_bmsА вот выкопал совет, как подключится к ноде. Надо мол каталогизировать базы таким образом:
Код: sql
1.
2.
db2 catalog db DBASE as DBASE1 at node DB2HOST1
db2 catalog db DBASE as DBASE2 at node DB2HOST2



Но вот незадача, а если партиции/ноды висят на одном хосте. Как вообще получить список нод с их именами?
Это неправильный совет.
Вы можете подключтиться к любому разделу, если надо, но делать надо так.

Для подключений из командного процессора DB2
- С помощью set client
$ db2 set client connect_dbpartitionnum 3
$ db2 connect to my_db

- С помощью установки системной переменной DB2NODE
$ export DB2NODE=2
$ db2 terminate
$ db2 connect to my_db

Проверить, к какому вы подключены можно так:
$ db2 values current node


Для приложений ODBC/CLI/JDBC
Используется свойство соединения connectNode (см. доку, как устанавливать).
...
Рейтинг: 0 / 0
Не пойму, как работает WHILE
    #39164043
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
emperor_bms,

Про имена нод.

Их нет, db2 свои ноды никакими особенными именами не называет :)

Есть запрос на информацию, сколько их, на каких серверах они работают, какие логические порты имеют.
Код: sql
1.
2.
select * from table(DB_PARTITIONS())
select * from sysibmadm.db2_member -- доп. возможность, начиная с db2 10.1


То же самое примерно можно получить так с сервера:
Код: plaintext
$ cat ~${DB2INSTANCE}/sqllib/db2nodes.cfg
...
Рейтинг: 0 / 0
Не пойму, как работает WHILE
    #39164140
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
emperor_bmsХм... замечательно. А вот для
Код: sql
1.
get db cfg


такого ключа нет. Придется лезть в SYSIBMADM.DBCFG

Как-то вот все все-таки немного не по людски... не user friendly, так сказать...
В отличие от update db cfg, get db cfg выдает парметры для раздела, с которым вы соединены в данный момент.
Поэтому, если надо получить из командной строки значение парметра на определенном разделе, то для получения значения с диска (может отличаться от текущего):
Код: plaintext
$ db2_all "<<+ N < db2 get db cfg for mydb | grep LOGSECOND"
или текущего:
Код: plaintext
$ db2_all "<<+ N < db2 connect to mydb; db2 get db cfg | grep LOGSECOND; db2 connect reset"
...
Рейтинг: 0 / 0
Не пойму, как работает WHILE
    #39164215
emperor_bms
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark BarinsteinПо-умолчанию при update db cfg параметры меняются на всех разделах одновременно. Но есть возможность менять только на нужном разделе, что, скорее всего, и сделали ранее.
Переполнение журнала у вас, судя по db2diag.log, было на разделе 1. Поэтому да, проблема была в этом.
Хм... интересная информация. Спасибо большое, Марк, за все ответы, а то я уже думал, что никто не подскажет. Поделюсь и я своими изысканиями:
Я менял параметры БД из Toad. При этом он отображает параметры БД по-нодово , и там есть 2 вида отображения этих параметров: Tabbed view и side-by-side view. По умолчанию стоит Tabbed, то есть параметры каждой ноды на своей вкладке. Так вот когда меняешь параметры БД на ноде 0, при таком отображении, они меняются во всех вкладках, то есть как бы для всех нод. HO! На самом деле это не так!
Стоит только переключиться в режим side-by-side, в котором параметры всех нод отображаются одной табличкой, мы увидим, что изменения вступили в силу лишь на 0 ноде. Toad даже подсвечивает название параметра, который имеет различные значения на разных нодах. Преключаемся обратно в Tabbed и опять видим, что на всех нодах значения одинаковые. Вот такой вот баг в Toad for DB2 6.1.0.134. Я его отправил разработчикам, кстати.

Марк, а как по сообщениям в db2diag.log понять, что речь идет о 1ой ноде?
...
Рейтинг: 0 / 0
Не пойму, как работает WHILE
    #39164251
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
emperor_bmsМарк, а как по сообщениям в db2diag.log понять, что речь идет о 1ой ноде?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
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.
...
Рейтинг: 0 / 0
14 сообщений из 39, страница 2 из 2
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Не пойму, как работает WHILE
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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