powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Удалить старый алиас БД
10 сообщений из 10, страница 1 из 1
Удалить старый алиас БД
    #38890715
ASukhov1986
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как с помощью командной строки DB2 выполнить удаление старого алиаса удаленной БД?
...
Рейтинг: 0 / 0
Удалить старый алиас БД
    #38890758
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ASukhov1986,

db2 UNCATALOG DATABASE my_alias
...
Рейтинг: 0 / 0
Удалить старый алиас БД
    #38890795
ASukhov1986
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein,
SQL1013N The database alias name or database name "EM242176" could not be
found. SQLSTATE=42705
...
Рейтинг: 0 / 0
Удалить старый алиас БД
    #38890812
ASukhov1986
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ASukhov1986,т.е. базы данных нет а псевдоним (ссылка) на его есть. возможно она находиться в каких то системных таблицах!
...
Рейтинг: 0 / 0
Удалить старый алиас БД
    #38890901
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ASukhov1986,

Покажите вывод команд:

db2 list node directory
db2 list db directory
...
Рейтинг: 0 / 0
Удалить старый алиас БД
    #38892060
ASukhov1986
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein,
ошибка в моих действиях: я удалил базу не drop, а UNCATALOG DATABASE и сам каталог в ОС удалил, и как я понял это привело к тому, что алиас БД остался. Вот я и спрашиваю можно удалить этот алиас?
...
Рейтинг: 0 / 0
Удалить старый алиас БД
    #38892803
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ASukhov1986Mark Barinstein,
ошибка в моих действиях: я удалил базу не drop, а UNCATALOG DATABASE и сам каталог в ОС удалил, и как я понял это привело к тому, что алиас БД остался. Вот я и спрашиваю можно удалить этот алиас?Я не очень хорошо понимаю, что значит "алиас БД остался".
Если я правильно понял, то у вас база видна в локальном каталоге, но ее каталогов нет. Так?
Дайте вывод:
Код: plaintext
db2 list db directory on  database_path 
где database_path - путь, где база лежала.
Внутри этого каталога должна быть такая структура:
Код: plaintext
 db2_instance_name \NODE0000\SQLDBDIR 
...
Рейтинг: 0 / 0
Удалить старый алиас БД
    #38892888
Mark Barinstein, рискну предположить, "алиас БД остался" означает, что базы такой в списке не видно, но когда её пытаешь создать, ругается, что такая уже есть. У меня аналогичное чудо с недавно почившей базой каталога инструментов. Я её удалил, её не видно, но она есть. Как тот суслик...
...
Рейтинг: 0 / 0
Удалить старый алиас БД
    #38893263
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Честный чайник,

Если базе сделать UNCATALOG, а потом руками стереть каталоги/файлы базы, то запись в локальном каталоге все равно останется, хотя базы уже нет.
С этой проблемой часто сталкиваются те, кто используют русифицированный Control Center. Так уж получилось, что там (я по памяти, т.к. очень давно уже не ставлю русифицированный):
- "Отбросить" == drop
- "Удалить" == uncatalog

Часто люди, не понимающие разницы, для удаления базы выбирают "Удалить", что довольно естественно. Но на самом деле база после этого не удаляется, а удаляется просто ее регистрация из системного каталога. При этом в локальном каталоге база с этим именем как была, так и остается. И попытка создать базу по тому же пути с тем же именем приводит к ошибке. Создается странная ситуация - базы вроде бы нет (в системном каталоге нет базы с таким именем), но создать базу нельзя.
Увидев такое, люди часто вместо того, чтобы зарегистрировать эту базу в системном каталоге, а потом удалить ее командой drop (которая вместе с удалением базы удалеяет запись о ней из соответствующего локального каталога), пытаются физически удалить файлы/каталоги базы. Эта операция не очищает локальный каталог от записи для этой базы, и новую базу с таким именем создать в этом локальном каталоге все равно нельзя (в другом - можно).
Если в этом локальном каталоге нет других баз, то, чтобы исправить ситуацию, можно просто удалить всю структуру каталогов, начиная с db2_instance_name .
Если в этом локальном каталоге уже есть другие рабочие базы, то мы попадаем в неприятную ситуацию, когда без бубна такую запись не исключить из локального каталога.

Для этого можно попробовать вот что:

Пусть
Код: plaintext
db2 list db directory on  database_path 
выдал следующее:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Database 1 entry:

 Database alias                       = PERFDB
 Database name                        = PERFDB
 Database directory                   = SQL00002

Database 2 entry:

 Database alias                       = REDB
 Database name                        = REDB
 Database directory                   = SQL00003

и такого каталога нет:
Код: plaintext
 database_path / db2_instance_name /NODE0000/SQL00002
т.е. PERFDB - мёртвая из-за удаления ее каталогов.

Тогда можно создать новую пустую базу:
Код: plaintext
db2 create db dummy on  database_path 
выдать
Код: plaintext
db2 list db directory on  database_path 
и увидеть, какой каталог SQL... присвиоился этой базе. Например, мы увидели для этой базы:

Код: plaintext
1.
2.
3.
4.
Database 3 entry:

 Database alias                       = DUMMY
 Database name                        = DUMMY
 Database directory                   = SQL00005

Надо скопировать SQL00005 -> SQL00002, зарегистрировать базу PERFDB в системном каталоге командой
Код: plaintext
db2 catalog db perfdb on  database_path 
После чего можно удалить (drop) обе базы - PERFDB и DUMMY.
...
Рейтинг: 0 / 0
Удалить старый алиас БД
    #38893373
ASukhov1986
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Честный чайник,именно
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Удалить старый алиас БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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