powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Создание БД по аналогии с существующими
23 сообщений из 23, страница 1 из 1
Создание БД по аналогии с существующими
    #39772027
AVRomanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.
на тестовом сервере AIX создаю локальную базу, и добавляю разрешения:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
CREATE DATABASE EAI DBPATH ON testEAI/Databases USING CODESET UTF-8 TERRITORY US COLLATE USING SYSTEM PAGESIZE 32768;
CONNECT TO EAI;
GRANT DBADM, CREATETAB, BINDADD, CONNECT, CREATE_NOT_FENCED_ROUTINE, IMPLICIT_SCHEMA, LOAD, CREATE_EXTERNAL_ROUTINE, QUIESCE_CONNECT, SECADM ON DATABASE TO GROUP  testvs;
UPDATE DATABASE CONFIGURATION USING APPLHEAPSZ 1024 DEFERRED;
UPDATE DATABASE CONFIGURATION USING LOCKTIMEOUT 30 DEFERRED;
UPDATE DATABASE CONFIGURATION USING APP_CTL_HEAP_SZ 1024 DEFERRED;
update database configuration for using logfilsiz 10000;
update db EAI for EAI using NEWLOGPATH /testEAI/Databases/log
UPDATE DATABASE CONFIGURATION USING LOGSECOND 8 IMMEDIATE ;
CONNECT RESET;



Когда я проверяю список баз данных, то у меня есть разница между моей (Database 4 entry) и той, которая уже была создана ранее (Database 3 entry), а конкретно, что тип у той - Remote.
Database 3 entry:

Database alias = T_D
Database name = WH
Node name = TEST
Database release level = f.00
Comment =
Directory entry type = Remote
Catalog database partition number = -1
Alternate server hostname =
Alternate server port number =

Database 4 entry:

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

подскажите, как мне создать базу данных по аналогии с Database 3 entry?
...
Рейтинг: 0 / 0
Создание БД по аналогии с существующими
    #39772064
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AVRomanenko,

Добрый день.

Это не тип базы, а тип регистрации базы в системном каталоге экземпляра DB2.

Когда вы создаете базу, то информация о ней автоматически заносится в системный каталог с
Код: plaintext
Directory entry type = Indirect
, что говорит о том, что это локальная база, т.е. управляется текущим экземпляром DB2, и работа с ней клиента будет осуществляться по IPC, а не по TCPIP.
Если вы хотите подключаться к удаленной базе, т.е. к базе, которая управляется другим экземпляром DB2, то вы можете зарегистрировать эту удаленную базу, и она будет иметь
Код: plaintext
Directory entry type = Remote

Есть возможность (если хочется) зарегистрировать локальный экземпляр как удаленный на этом клиенте, чтобу работать с его базами так же, как и с удаленными - по TCPIP, а не по IPC.

Если ваш вопрос по такому способу регистрации, то это можно сделать так:

Код: plaintext
1.
db2 catalog tcpip node  mynode  remote localhost service  myport_number 
db2 catalog db eai as  eaialias  at node  mynode 
...
Рейтинг: 0 / 0
Создание БД по аналогии с существующими
    #39772067
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein,

Поправка:

Код: plaintext
1.
db2 catalog tcpip node  mynode  remote localhost  server   myport_number 
db2 catalog db eai as  eaialias  at node  mynode 
...
Рейтинг: 0 / 0
Создание БД по аналогии с существующими
    #39772077
AVRomanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein,

спасибо за быстрый ответ! а в каком случае это может понадобиться?
например, у меня есть тестовый сервер и основной, если я просматриваю list db directory, то старая база данных там отображается, а моя новая после выполнения этих команд - нет.
...
Рейтинг: 0 / 0
Создание БД по аналогии с существующими
    #39772101
AVRomanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а еще, не знаю почему, но при команде drop db теперь ошибка
SQL30082N Security processing failed with reason "3" ("PASSWORD MISSING").
это из-за того, что я выполнил те команды?
...
Рейтинг: 0 / 0
Создание БД по аналогии с существующими
    #39772143
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AVRomanenkoнапример, у меня есть тестовый сервер и основной, если я просматриваю list db directory, то старая база данных там отображается, а моя новая после выполнения этих команд - нет.Какие именно команды вы выполнили создания/регистрации базы, и какой именно результат получен в точности?
AVRomanenkoа еще, не знаю почему, но при команде drop db теперь ошибкаЕсли вы делаете drop db на базу с "Directory entry type = Remote", то надо сначала сделать attach к node (соединение с экземпляром), под которым удаляемая база зарегистрирована.
Если нет, то для удаляемой базы приведите вывод команд list node directory, list db directory.

На всякий случай: убедитесь, что вы понимаете разницу между "drop db" и "uncatalog db".
...
Рейтинг: 0 / 0
Создание БД по аналогии с существующими
    #39772330
AVRomanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein,
по созданию базы я выполнял запросы, которые прикрепил в теме.
регистрировал точно по Вашей схеме двумя запросами, к сожалению результатов нет.

по list и node соответственно:

Database 1 entry:

Database alias = INVOICES
Database name = EAI
Node name = EAI
Database release level = f.00
Comment =
Directory entry type = Remote
Catalog database partition number = -1
Alternate server hostname =
Alternate server port number =


Node 1 entry:

Node name = INVOICES
Comment =
Directory entry type = LOCAL
Protocol = TCPIP
Hostname = 192.168.98.206
Service name = 60008

это я получал с 192.168.98.206
есть еще основной сервер: 192.168.98.199
и вот если эти команды (list и node) запускать через него, то там в списке нет этой базы данных.

да, я имел ввиду удалить базу физически с диска, со всеми ее папками.
...
Рейтинг: 0 / 0
Создание БД по аналогии с существующими
    #39772337
AVRomanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
выполнял следующие команды по регистрации бд:
сначала делал:
Код: plaintext
1.
2.
uncatalog node EAI
uncatalog db EAI
далее:
Код: plaintext
1.
2.
db2 catalog tcpip node INVOICES remote 192.168.98.206 server 60008
db2 catalog db EAI as INVOICES at node EAI 
terminate
и теперь не могу через консоль приконнектиться...хотя через Toad все работает
выдает такие ошибки:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
db2 => connect to EAI
SQL1013N  The database alias name or database name "EAI" could not be found.
SQLSTATE=42705
db2 => connect to INVOICES user test
Enter current password for test:
SQL1097N  The node name was not found in the node directory.  SQLSTATE=42720
db2 =>
...
Рейтинг: 0 / 0
Создание БД по аналогии с существующими
    #39772352
AVRomanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а нет. все сломалось...
пытался получить данные из таблицы в базе через Toad, получил ошибку:

Код: plaintext
DB2 Database Error: ERROR [08001] [IBM] SQL30081N A communication error has been detected. Communication protocol being used: "TCP/IP". Communication API being used: "SOCKETS". Location where the error was detected: "192.168.98.206". Communication function detecting the error: "selectForRecvTimeout". Protocol specific error code(s): "0", "*", "*". SQLSTATE=08001 (Remembered answer: "OK". Enable)
...
Рейтинг: 0 / 0
Создание БД по аналогии с существующими
    #39772360
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AVRomanenko,

Когда я писал команды каталогизации, была информация об одном сервере.
Теперь их уже 2, и их IP адреса мне ни о чем не говорят.
Если вы не будете писать, на каком и что именно вы выполняли, мы будем долго переписываться так...
По выводу с 192.168.98.206
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Database 1 entry:

Database alias = INVOICES
Database name = EAI
Node name = EAI
...
Directory entry type = Remote


Node 1 entry:

Node name = INVOICES
...
Hostname = 192.168.98.206
Service name = 60008
Записи друг с другом не связаны. У них разные Node name .
Предполагаю, что вы ошиблись в команде catalog db .
Я не зря в паре своих команд указал, что имя mynode должно быть одинаковое.
Если вы зарегистрировали node под именем INVOICES, то команда каталогизации базы EAI должна выглядеть так:

Код: plaintext
db2 catalog db EAI as  EAIALIAS  at node INVOICES

Алиас базы EAIALIAS вы можете выбрать свой.
Вероятно, вы ошиблись с этой командой, и поэтому эта база с новым алиасом не видна в выводе list db directory.

Про "основной сервер 192.168.98.199" я не понял, как к он связан с 192.168.98.206, и что и зачем вы там запускаете...
...
Рейтинг: 0 / 0
Создание БД по аналогии с существующими
    #39772365
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AVRomanenkoвыполнял следующие команды по регистрации бд:
Код: plaintext
1.
2.
db2 catalog tcpip node INVOICES remote 192.168.98.206 server 60008
db2 catalog db EAI as INVOICES at node EAI 
и теперь не могу через консоль приконнектиться...хотя через Toad все работает
выдает такие ошибки:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
db2 => connect to EAI
SQL1013N  The database alias name or database name "EAI" could not be found.
SQLSTATE=42705
db2 => connect to INVOICES user test
Enter current password for test:
SQL1097N  The node name was not found in the node directory.  SQLSTATE=42720
db2 =>
Надо:

Код: plaintext
1.
2.
db2 catalog tcpip node INVOICES remote 192.168.98.206 server 60008
db2 catalog db EAI as INVOICES at node INVOICES
db2 connect to INVOICES user test
...
Рейтинг: 0 / 0
Создание БД по аналогии с существующими
    #39772368
AVRomanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein,
я выполнил еще раз команды, теперь получается так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
 Database alias                       = INVOICES
 Database name                        = INVOICES
 Node name                            = INVOICES
 Database release level               = f.00
 Comment                              =
 Directory entry type                 = Remote
 Catalog database partition number    = -1
 Alternate server hostname            =
 Alternate server port number         =


Node 1 entry:

 Node name                      = INVOICES
 Comment                        =
 Directory entry type           = LOCAL
 Protocol                       = TCPIP
 Hostname                       = 192.168.98.206
 Service name                   = 60008
и при попытке выполнить команду
Код: plaintext
connect to INVOICES

консоль просто переходит на новую строку, и ничего не просходит, ощущение, будто долго думает.

хотел сделать бэкап базы, потому что там уже есть данные, чтобы потом восстановить на новой базе, но даже этого сделать не могу.
посоветуйте, как быть...я бы просто снес эту базу полностью, а потом попытался создать новую..
...
Рейтинг: 0 / 0
Создание БД по аналогии с существующими
    #39772394
AVRomanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извините меня за этот сумбур...понимаю, что у Вас нет времени на меня, а я все на живую тестирую, без возможности долго ждать...
сейчас я исправил проблему из предыдущего письма.
изменил директорию и ноду. теперь это выглядит так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Database 1 entry:

 Database alias                       = INVOICES
 Database name                        = EAI
 Node name                            = INVOICES
 Database release level               = f.00
 Comment                              =
 Directory entry type                 = Remote
 Catalog database partition number    = -1
 Alternate server hostname            =
 Alternate server port number         =

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Node 1 entry:

 Node name                      = INVOICES
 Comment                        =
 Directory entry type           = LOCAL
 Protocol                       = TCPIP
 Hostname                       = 192.168.98.206
 Service name                   = 60008

коннект к базе этой командой проходит:
Код: plaintext
db2 connect to INVOICES user test
далее пытаюсь запустить бэкап базы, и получаю ошибку...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
db2 => QUIESCE DATABASE IMMEDIATE FORCE CONNECTIONS
DB20000I  The QUIESCE DATABASE command completed successfully.
db2 => CONNECT RESET
DB20000I  The SQL command completed successfully.
db2 => BACKUP DATABASE EAI user db2inbvb TO /backup_prod3/INVOICES/backup
Enter current password for db2inbvb:
SQL1013N  The database alias name or database name "EAI" could not be found.
db2 => BACKUP DATABASE INVOICES user db2inbvb TO /backup_prod3/INVOICES/backup
Enter current password for db2inbvb:
SQL1013N  The database alias name or database name "EAI" could not be found.
SQLSTATE=42705
...
Рейтинг: 0 / 0
Создание БД по аналогии с существующими
    #39772404
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AVRomanenko,

Предыдущей командой uncatalog db EAI вы удалили из системного каталога локальную базу, которую до этого создали командой CREATE DB EAI в первом посте, если обе команды выполнялись на одном хосте (192.168.98.206). Теперь экземпляр db2 не знает, что она вообще есть, и не может с ней работать. Не надо было этого делать.
Теперь надо эту базу найти в локальном каталоге этого хоста. У вас есть рассогласование:
если было
CREATE DATABASE EAI DBPATH ON testEAI/Databases
, то непонятно, почему в list db directory было Local database directory = /testEAI

В локальном пути (скажем, /testEAI) должна быть такой подкаталог: ${DB2INSTANCE}/NODE0000/sqldbdir, где ${DB2INSTANCE} - имя владельца экземпляра.
Если он там есть, то надо сделать его листинг:

Код: plaintext
db2 list db directory on /testEAI

Выдает что-то?
...
Рейтинг: 0 / 0
Создание БД по аналогии с существующими
    #39772412
AVRomanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein, вот что выдает:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
$ db2 list db directory on /testEAI

 Local Database Directory on /testEAI

 Number of entries in the directory = 1

Database 1 entry:

 Database alias                       = EAI
 Database name                        = EAI
 Database directory                   = SQL00001
 Database release level               = f.00
 Comment                              =
 Directory entry type                 = Home
 Catalog database partition number    = 0
 Database member number               = 0

по пути есть каталог
Код: plaintext
/testEAI/db2inbvb/NODE0000/sqldbdir
дополнительно есть такие вот файлы в нескольких папках по др путям
Код: plaintext
/testEAI/db2inbvb/NODE0000/EAI/T0000003/C0000000.LRG
...
Рейтинг: 0 / 0
Создание БД по аналогии с существующими
    #39772418
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AVRomanenko,

Для возвращения "потерянной" локальной базы в системный каталог надо:

Код: plaintext
db2 catalog db EAI on /testEAI

Проверьте теперь соединение и с EAI, и c INVOICES. Должны обе работать...
...
Рейтинг: 0 / 0
Создание БД по аналогии с существующими
    #39772424
AVRomanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein, ура! чудеса! получилось приконнектиться к обеим, и сделать бэкап обеих, но они одинаковые.
list directory показывает и ту и другую базу
...
Рейтинг: 0 / 0
Создание БД по аналогии с существующими
    #39772431
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AVRomanenkoполучилось приконнектиться к обеим, и сделать бэкап обеих, но они одинаковые.
list directory показывает и ту и другую базуНо вы же сами хотели возможность подключаться к локальной базе по TCPIP...
Вы это и получили через, фактически, алиас этой базы - INVOICES.
Т.е. когда connect to EAI, то это коннект к EAI по IPC.
Когда connect to INVOICES, то это коннект к EAI по TCPIP.
Как они могут быть неодинаковые?
...
Рейтинг: 0 / 0
Создание БД по аналогии с существующими
    #39772607
AVRomanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein, а если я хочу, чтобы была в directory видна только одна, что нужно сделать?
а по поводу того, что я писал про разные серверы (192.168.98.199 и 192.168.98.206) - это 2 сервера, подключенные по TCPIP, и вот с 199 я могу подключиться к базам, которые лежат на 206м сервере, но к новой не получается. Вы не знаете, почему?
и еще, чтобы в list db не была отображена локальная EAI, нужно сделать так?
Код: plaintext
db2 catalog db EAI as INVOICES at node INVOICES
и тогда я смогу делать connect to INVOICE ?
...
Рейтинг: 0 / 0
Создание БД по аналогии с существующими
    #39772636
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AVRomanenko,

Я вас правильно понимаю, что:

На 192.168.98.206 есть экземпляр DB2, слушающий порт 60008, и там создана база EAI.

Вы хотите, чтобы:
На 192.168.98.206 в системном каталоге база была видна не под алиасом EAI, а под INVOICES. А под алиасом EAI - нет (не знаю зачем это, но так сделать можно).

Регистрация этой локальной базы по TCPIP на 192.168.98.206 не нужна (мы это начали делать из-за неправильного понимания задачи)

На 192.168.98.199 эта база была бы зарегистрирована под алиасом INVOICES (или укажите нужный), чтобы к ней можно было удаленно подключаться с этого сервера.
...
Рейтинг: 0 / 0
Создание БД по аналогии с существующими
    #39772880
AVRomanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein,
команда
Код: plaintext
List db directory
выводит следующее
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Database 1 entry:

 Database alias                       = INVOICES
 Database name                        = EAI
 Node name                            = INVOICES
 Database release level               = f.00
 Comment                              =
 Directory entry type                 = Remote
 Catalog database partition number    = -1
 Alternate server hostname            =
 Alternate server port number         =

Database 2 entry:

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

а команда
Код: plaintext
list node directory
только это
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Node 1 entry:

 Node name                      = INVOICES
 Comment                        =
 Directory entry type           = LOCAL
 Protocol                       = TCPIP
 Hostname                       = 192.168.98.206
 Service name                   = 60008
 Remote instance name           =
 System                         =
 Operating system type          = None
1. я бы хотел убрать Database 1 entry, чтобы у меня была только локальная база EAI c нодой INVOICES
2. насколько я Вас понял, то эти команды
Код: plaintext
1.
db2 catalog tcpip node INVOICES remote 192.168.98.206 server 60008
db2 catalog db EAI as INVOICES at node INVOICES
нужно выполнять как раз на сервере .199, чтобы регистрировать там подключение к локальной базе, которая находится на 206-м, правильно?
...
Рейтинг: 0 / 0
Создание БД по аналогии с существующими
    #39772932
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
quot AVRomanenko
команда
Код: plaintext
List db directory
выводит следующее
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Database 1 entry:

 Database alias                       = INVOICES
 Database name                        = EAI
 Node name                            = INVOICES
 Database release level               = f.00
 Comment                              =
 Directory entry type                 = Remote
 Catalog database partition number    = -1
 Alternate server hostname            =
 Alternate server port number         =

Database 2 entry:

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

а команда
Код: plaintext
list node directory
только это
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Node 1 entry:

 Node name                      = INVOICES
 Comment                        =
 Directory entry type           = LOCAL
 Protocol                       = TCPIP
 Hostname                       = 192.168.98.206
 Service name                   = 60008
 Remote instance name           =
 System                         =
 Operating system type          = None

AVRomanenko1. я бы хотел убрать Database 1 entry, чтобы у меня была только локальная база EAI c нодой INVOICES
Если цель - оставить только локальную базу, и нет цели сделать ее доступной с этого же сервера по TCPIP, то Node name = INVOICES не нужно.
Для локальных баз не заводится Node name.
На .206:
Код: plaintext
1.
2.
db2 uncatalog db invoices
db2 uncatalog node invoices
AVRomanenko2. насколько я Вас понял, то эти команды
Код: plaintext
1.
db2 catalog tcpip node INVOICES remote 192.168.98.206 server 60008
db2 catalog db EAI as INVOICES at node INVOICES
нужно выполнять как раз на сервере .199, чтобы регистрировать там подключение к локальной базе, которая находится на 206-м, правильно?Да, правильно, если вы хотите обращаться на .199 к этой базе по имени INVOICES.
Алиас базы вы можете выбрать любой. Или вообще не использовать "as INVOICES", тогда база зарегистрируется под именем EAI.
Для каталогизации базы на клиенте (.199) не нужно, чтобы в "list node directory" на сервере (.206) было имя INVOICES. Node name на клиенте для регистрации удаленного инстанса выбирается произвольно, и с серверными именами никак не связано.
...
Рейтинг: 0 / 0
Создание БД по аналогии с существующими
    #39773388
AVRomanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein,
спасибо Вам большое, очень помогаете всегда.
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Создание БД по аналогии с существующими
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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