powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Летят индексы
18 сообщений из 18, страница 1 из 1
Летят индексы
    #32224402
vovan1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При восстановлении базы выдается ошибка

Invalid insert or update value(s): object columns are
constrained - no 2 table rows can have duplicate column values.
attempt to store duplicate value (visible to active transactions) in unique index "RDB$PRIMARY45".

Хотя на самом деле это поле является первичным ключом, и запрос
select Id
from Specs
group by Id
having count(Id)>1
возвращают пустую выборку

Помогите восстановить базу
...
Рейтинг: 0 / 0
Летят индексы
    #32224522
Фотография Dnico
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну если судить по сообщению, то в некой таблице, которая имеет уникальный
индекс есть дубликаты.

С этой проблемой скорее всего можно справиться, если восстанавливать базу без активации индексов. Параметр -i утилиты gbak.

Успехов !
...
Рейтинг: 0 / 0
Летят индексы
    #32224523
Фотография Dnico
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
P.S. Совсем забыл ...

Правда потом нужно найти и удалить эти самые дубликаты, а уж потом включить индексы.
...
Рейтинг: 0 / 0
Летят индексы
    #32224751
vovan1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во первых дубликаты находятся в таблице Specs поле Id (RDB$PRIMARY45)
но выборка на дубликаты
select Id
from Specs
group by Id
having count(Id)>1

получается пустая, следовательно дубликаты отсутствуют

Во-вторых как активизировать СИСТЕМНЫЕ индексы. Запрос типа
alter index INDEX1 active выдает ошибку
...
Рейтинг: 0 / 0
Летят индексы
    #32224754
srf2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 vovan1:
при выборке используй plan natural
...
Рейтинг: 0 / 0
Летят индексы
    #32224768
vovan1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в смысле выборку сделать:
select Id
from Specs
group by Id
having count(Id)>1
PLAN (SPECS natural)
...
Рейтинг: 0 / 0
Летят индексы
    #32224824
vovan1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не верю свом глазам обнаружело 3 дубликата. Спасибо за совет.
При выборке
select *
from Specs
where Id=1
выдается одна запись
а при выборке
select *
from Specs
where Id=1
plan (Specs natural)
выдается две
Наверное нужно удалить ту которая не вышла в первой выборке.
P.S. Теперь объясните пожалуйста в результате чего могут быть дублирующие Id.
...
Рейтинг: 0 / 0
Летят индексы
    #32224952
srf2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
из-за чего... сервак упал или еще что...
...
Рейтинг: 0 / 0
Летят индексы
    #32225021
vovan1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На таблицу Specs удалил дублирующие Id
При помощи IBExpert забакапил. При попытке рестора выдало ошибку:
gbak: committing data for table OPERS
IBE: Unsuccessful execution caused by system error that does not preclude successful execution of subsequent statements.
invalid transaction handle (expecting explicit transaction start).

IBE: Restore completed

Нифига не понимаю????
...
Рейтинг: 0 / 0
Летят индексы
    #32225088
Фотография Dnico
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А база восстановилась полностью или нет?
...
Рейтинг: 0 / 0
Летят индексы
    #32225121
vovan1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да нет не полностью, там еще вроде должны выдаваться сообщения типа
RESTORING PRIVILEGIES SYSDBA
go home.....
...
Рейтинг: 0 / 0
Летят индексы
    #32225147
Фотография Dnico
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Видимо что-то со структурой стало. Обычно после сбоев такое случается.
Можно попробовать gfix попускать ... может поможет.
...
Рейтинг: 0 / 0
Летят индексы
    #32225163
vovan1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я в IBExpert видел команду "Проверка базы", может она может чем-то помочь?
...
Рейтинг: 0 / 0
Летят индексы
    #32225172
Фотография Dnico
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да. Это как раз при помощи gfix и делается.
...
Рейтинг: 0 / 0
Летят индексы
    #32225188
vovan1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И что она по идее должна восстановить структуру базы до нормального состояния? И если да, то какие для этого надо установить флаги в IBExpert при восстановлении?
...
Рейтинг: 0 / 0
Летят индексы
    #32225213
Фотография Dnico
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй указать

Validate Database

Validate Full

А потом, если возникнут неисправимые ошибки

Mend Database - Для удаления испорченных записей
...
Рейтинг: 0 / 0
Летят индексы
    #32225283
vovan1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, вечером буду пробовать
...
Рейтинг: 0 / 0
Летят индексы
    #32225367
Фотография Alexey Kovyazin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
парни, идем на ibase.ru и используем "Поиск" для нахождения на оном полной и исчерпывающей статьи по восстановлению БД.
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Летят индексы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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