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

Откуда: Kazan
Сообщений: 984
вот попытался написать скрипт для ребилда индексов, чтобы переместить их в другое табличное пространство, написал следующее

create or replace procedure rebuild_index is


name1 ALL_INDEXES.index_name%TYPE;

CURSOR c_LinkE IS
SELECT index_name FROM ALL_INDEXES
WHERE owner='PARUS' and tablespace_name='USERS';
--order by ;
begin
OPEN c_LinkE;
  LOOP
    FETCH c_LinkE INTO name1;
    EXIT WHEN c_LinkE%NOTFOUND;
    BEGIN
   DBMS_UTILITY.EXEC_DDL_STATEMENT
      ('alter index name1 REBUILD TABLESPACE INDX');
     END;
   END LOOP;
CLOSE c_LinkE;

return;

end rebuild_index;
/

выдает ошибку следующую ora-01418 specified index does no exist ну а дальше ряд вытекающей из этого ругани на dbms_utility
8 июн 07, 10:43    [4246327]     Ответить | Цитировать Сообщить модератору
 Re: Поможите со скриптом!!!  [new]
Takurava
Member

Откуда:
Сообщений: 1776
badm
      ('alter index name1 REBUILD TABLESPACE INDX');/

Может так?
      ('alter index '||name1||' REBUILD TABLESPACE INDX');/
или даже так
      ('alter index PARUS.'||name1||' REBUILD TABLESPACE INDX');/
8 июн 07, 10:47    [4246346]     Ответить | Цитировать Сообщить модератору
 Re: Поможите со скриптом!!!  [new]
badm
Member

Откуда: Kazan
Сообщений: 984
To Takurava, спасибо, последней подсказкой воспользовался и все отработало, еще раз спасибо!!!
8 июн 07, 10:54    [4246404]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить