|
|
|
Летят индексы
|
|||
|---|---|---|---|
|
#18+
При восстановлении базы выдается ошибка 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 возвращают пустую выборку Помогите восстановить базу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2003, 19:57 |
|
||
|
Летят индексы
|
|||
|---|---|---|---|
|
#18+
Ну если судить по сообщению, то в некой таблице, которая имеет уникальный индекс есть дубликаты. С этой проблемой скорее всего можно справиться, если восстанавливать базу без активации индексов. Параметр -i утилиты gbak. Успехов ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2003, 08:46 |
|
||
|
Летят индексы
|
|||
|---|---|---|---|
|
#18+
P.S. Совсем забыл ... Правда потом нужно найти и удалить эти самые дубликаты, а уж потом включить индексы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2003, 08:48 |
|
||
|
Летят индексы
|
|||
|---|---|---|---|
|
#18+
Во первых дубликаты находятся в таблице Specs поле Id (RDB$PRIMARY45) но выборка на дубликаты select Id from Specs group by Id having count(Id)>1 получается пустая, следовательно дубликаты отсутствуют Во-вторых как активизировать СИСТЕМНЫЕ индексы. Запрос типа alter index INDEX1 active выдает ошибку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2003, 11:23 |
|
||
|
Летят индексы
|
|||
|---|---|---|---|
|
#18+
2 vovan1: при выборке используй plan natural ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2003, 11:27 |
|
||
|
Летят индексы
|
|||
|---|---|---|---|
|
#18+
в смысле выборку сделать: select Id from Specs group by Id having count(Id)>1 PLAN (SPECS natural) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2003, 11:35 |
|
||
|
Летят индексы
|
|||
|---|---|---|---|
|
#18+
не верю свом глазам обнаружело 3 дубликата. Спасибо за совет. При выборке select * from Specs where Id=1 выдается одна запись а при выборке select * from Specs where Id=1 plan (Specs natural) выдается две Наверное нужно удалить ту которая не вышла в первой выборке. P.S. Теперь объясните пожалуйста в результате чего могут быть дублирующие Id. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2003, 12:00 |
|
||
|
Летят индексы
|
|||
|---|---|---|---|
|
#18+
из-за чего... сервак упал или еще что... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2003, 13:10 |
|
||
|
Летят индексы
|
|||
|---|---|---|---|
|
#18+
На таблицу 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 Нифига не понимаю???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2003, 13:38 |
|
||
|
Летят индексы
|
|||
|---|---|---|---|
|
#18+
А база восстановилась полностью или нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2003, 14:09 |
|
||
|
Летят индексы
|
|||
|---|---|---|---|
|
#18+
Да нет не полностью, там еще вроде должны выдаваться сообщения типа RESTORING PRIVILEGIES SYSDBA go home..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2003, 14:33 |
|
||
|
Летят индексы
|
|||
|---|---|---|---|
|
#18+
Видимо что-то со структурой стало. Обычно после сбоев такое случается. Можно попробовать gfix попускать ... может поможет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2003, 14:45 |
|
||
|
Летят индексы
|
|||
|---|---|---|---|
|
#18+
Я в IBExpert видел команду "Проверка базы", может она может чем-то помочь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2003, 14:57 |
|
||
|
Летят индексы
|
|||
|---|---|---|---|
|
#18+
Да. Это как раз при помощи gfix и делается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2003, 15:04 |
|
||
|
Летят индексы
|
|||
|---|---|---|---|
|
#18+
И что она по идее должна восстановить структуру базы до нормального состояния? И если да, то какие для этого надо установить флаги в IBExpert при восстановлении? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2003, 15:14 |
|
||
|
Летят индексы
|
|||
|---|---|---|---|
|
#18+
Попробуй указать Validate Database Validate Full А потом, если возникнут неисправимые ошибки Mend Database - Для удаления испорченных записей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2003, 15:23 |
|
||
|
Летят индексы
|
|||
|---|---|---|---|
|
#18+
Спасибо, вечером буду пробовать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2003, 16:25 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=32224522&tid=1580169]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
178ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
66ms |
get tp. blocked users: |
1ms |
| others: | 236ms |
| total: | 524ms |

| 0 / 0 |
