Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Обращение к табличному пространству не разрешено.. SQLCODE=-290, SQLSTATE=55039, DRIVER=4. / 6 сообщений из 6, страница 1 из 1
10.10.2013, 16:12
    #38423196
pvm12
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обращение к табличному пространству не разрешено.. SQLCODE=-290, SQLSTATE=55039, DRIVER=4.
DB2 Express, Windows Server 2008. Всем привет ! Уже не первый раз это происходит. Меняю структуры в базе используя Data Studio. При этом получаю скрипт. После выполнения скрипта. Возникает ошибка "Обращение к табличному пространству не разрешено.. SQLCODE=-290, SQLSTATE=55039, DRIVER=4.". Всё теперь никакие метаданные не могу поменять в этом табличном пространстве. Делаю list tablespaces. Табличное пространство в состоянии 0x0020. т.е. Backup pending (отложенного резервного копирования) . Есть ли какой нибудь выход кроме того чтобы из бекапа восстанавливать базу. Тем более много изменений внёс. Не хотелось бы по всем изменениям формировать скрипты и опять запускать. И ещё , в чём причина возникновения такой ситуации ведь скрипт по изменению метаданных не сам придумываю а система?
...
Рейтинг: 0 / 0
10.10.2013, 16:36
    #38423255
CawaSPb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обращение к табличному пространству не разрешено.. SQLCODE=-290, SQLSTATE=55039, DRIVER=4.
pvm12,

Как можно быстрее восстановить доступность:
Код: plaintext
db2 backup db <dbname> tablespace(<tbspace_name>) online to nul
если логи не циркулярные.

Код: plaintext
... to /dev/null
На UNIX'ах

Код: plaintext
db2 backup db <dbname> tablespace(<tbspace_name>) to nul
бэкап в offline режиме.

Полезная ссылка:
DB2 Basics: Demystifying table and table space states

Скорее всего в скриптах используется LOAD без флагов NONRECOVERABLE (явно указывающий, что нам на эту таблицу пофиг и мы не боимся её потерять) или COPY YES (сохраняющий данные LOAD'а в месте, доступном для последующих ROLLFORWARD).
...
Рейтинг: 0 / 0
10.10.2013, 17:00
    #38423312
pvm12
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обращение к табличному пространству не разрешено.. SQLCODE=-290, SQLSTATE=55039, DRIVER=4.
CawaSPb,
Спасибо за информацию. Доступность табличного пространства удалось восстановить. Но при попытке обратиться к данным таблицы выдаёт
Операция для таблицы "1" не разрешается по причине "BUH.M1020001".. SQLCODE=-668, SQLSTATE=57016, DRIVER=4.13.111
"
...
Рейтинг: 0 / 0
10.10.2013, 17:10
    #38423325
pvm12
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обращение к табличному пространству не разрешено.. SQLCODE=-290, SQLSTATE=55039, DRIVER=4.
Помогло
SET INTEGRITY FOR BUH.M1020001 ALLOW NO ACCESS IMMEDIATE CHECKED
...
Рейтинг: 0 / 0
10.10.2013, 17:11
    #38423333
pvm12
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обращение к табличному пространству не разрешено.. SQLCODE=-290, SQLSTATE=55039, DRIVER=4.
Видимо причиной возникновения этой ситуации действительно была команда
CALL SYSPROC.ADMIN_CMD( 'LOAD FROM .\default_BUH_M1020001_MB9__SQL31_cust.dat OF IXF METHOD P (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24) INSERT INTO BUH.M1020001 (ID_KOM, K360, H190, B691, B692, K556, DOLJCEX, A408, A409, K802, A628, A400, A759, H040, B140, H012, B296, P030, GOSUD, PR_FIZWORK, STRAH_TARIF, KOEF1, KOEF2, STRAH_SUM)' )

Ещё раз спасибо за помощь !
...
Рейтинг: 0 / 0
10.10.2013, 18:55
    #38423461
CawaSPb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обращение к табличному пространству не разрешено.. SQLCODE=-290, SQLSTATE=55039, DRIVER=4.
pvm12CawaSPb,
Спасибо за информацию. Доступность табличного пространства удалось восстановить. Но при попытке обратиться к данным таблицы выдаёт
Операция для таблицы "1" не разрешается по причине "BUH.M1020001".. SQLCODE=-668, SQLSTATE=57016, DRIVER=4.13.111
"
Дополнение небольшое. В случае ошибок со стороны DB2 нужно искать выданный SQLCODE.
Затем из командной строки спрашиваем:
Код: plaintext
db2 ? SQL668N
В ответ получаем детальное описание.

LOAD лучше поправить и добавить туда опцию NONRECOVERABLE или COPY YES согласно описанию:
http://pic.dhe.ibm.com/infocenter/db2luw/v9r7/topic/com.ibm.db2.luw.admin.cmd.doc/doc/r0008305.html
Автоматически преобразовывать все COPY NO (используемые "по умолчанию") можно с помощью переменной DB2_LOAD_COPY_NO_OVERRIDE (находится по доке).
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Обращение к табличному пространству не разрешено.. SQLCODE=-290, SQLSTATE=55039, DRIVER=4. / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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