Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 ORA-08102  [new]
Zepp
Member

Откуда:
Сообщений: 255
подскажите что делать?

я с радостью проделал бы это
DROP INDEX i_name ;
CREATE UNIQUE INDEX i_name ON t_name ;

но у меня индекс на primary key сломался.

можно конечно дропнуть этот ключ, при этом дропнутся все FK ссылающиеся на данный
потом пересоздать все ключи.

может есть другое решение?
16 окт 07, 15:55    [4800446]     Ответить | Цитировать Сообщить модератору
 Re: ORA-08102  [new]
tru55
Member

Откуда: СПб
Сообщений: 19790
а сделать DISABLE ?
16 окт 07, 16:00    [4800485]     Ответить | Цитировать Сообщить модератору
 Re: ORA-08102  [new]
Zepp
Member

Откуда:
Сообщений: 255
tru55
а сделать DISABLE ?


и что? табличка буит без PK?
16 окт 07, 16:02    [4800510]     Ответить | Цитировать Сообщить модератору
 Re: ORA-08102  [new]
tru55
Member

Откуда: СПб
Сообщений: 19790
проделай элементарный test и увидишь, что индекс пересоздастся
CREATE TABLE emp0 AS SELECT * FROM emp

ALTER TABLE emp0 ADD CONSTRAINT emp0_PK PRIMARY KEY (employee_id)

CREATE TABLE dep0  AS SELECT * FROM dept

ALTER TABLE dep0 ADD CONSTRAINT dep0_PK PRIMARY KEY (department_id)

ALTER TABLE emp0 ADD CONSTRAINT emp0_dep0_FK FOREIGN KEY (department_id) REFERENCES dep0(department_id)

SELECT *
FROM dba_indexes
WHERE (owner = 'TEST') AND
      (table_name IN ('EMP0', 'DEP0'))

SELECT *
FROM dba_constraints
WHERE (owner = 'TEST') AND
      (table_name IN ('EMP0', 'DEP0'))

      
ALTER TABLE emp0 DISABLE CONSTRAINT emp0_PK

-- здесь просмотр вышеуказанных представлений

ALTER TABLE emp0 ENABLE CONSTRAINT emp0_PK

-- здесь опять просмотр
16 окт 07, 16:25    [4800708]     Ответить | Цитировать Сообщить модератору
 Re: ORA-08102  [new]
Dimetrius7
Member

Откуда: Москва
Сообщений: 55
Zepp

но у меня индекс на primary key сломался.

А
alter index i_name rebuild
не подойдёт?
16 окт 07, 16:30    [4800752]     Ответить | Цитировать Сообщить модератору
 Re: ORA-08102  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18483
Dimetrius7
Zepp

но у меня индекс на primary key сломался.

А
alter index i_name rebuild
не подойдёт?
Подойдет, только предварительно надо сделать этот индекс UNUSABLE, чтоб при перестройке использовался не INDEX FULL SCAN, а TABLE FULL SCAN
17 окт 07, 03:30    [4802661]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить