DECLARE
V_OLD_TABLESPACE VARCHAR2(100):='USERS';
V_NEW_TABLESPACE VARCHAR2(100):='TEMP';
BEGIN
FOR XX IN (
SELECT L.TABLE_NAME, L.COLUMN_NAME, L.INDEX_NAME
FROM USER_LOBS L, USER_SEGMENTS S
WHERE (S.SEGMENT_NAME=L.SEGMENT_NAME) AND (S.TABLESPACE_NAME=V_OLD_TABLESPACE)) LOOP
DBMS_OUTPUT.PUT_LINE('ALTER TABLE '||XX.TABLE_NAME||' MOVE LOB('||XX.COLUMN_NAME||')
STORE AS (TABLESPACE '||V_NEW_TABLESPACE||' INDEX '||XX.INDEX_NAME||'(TABLESPACE '||
V_NEW_TABLESPACE||' STORAGE (MAXEXTENTS UNLIMITED)));');
END LOOP;
END;
Пример результата работы данного скрипта:ALTER TABLE QUERY_TBL MOVE LOB(QUERY_TEXT) STORE ASПосле этого сделать rebuild индексов (в данном случае, в таблицах QUERY_TBL, QUERY_PARM_TBL,
(TABLESPACE TEST INDEX SYS_IL0000049532C00011$(TABLESPACE TEST
STORAGE (MAXEXTENTS UNLIMITED)));
ALTER TABLE QUERY_PARM_TBL MOVE LOB(QUERY_PARMS) STORE AS
(TABLESPACE TEST INDEX SYS_IL0000049553C00003$(TABLESPACE TEST
STORAGE (MAXEXTENTS UNLIMITED)));
ALTER TABLE OFS_ITEMS MOVE LOB(DATA) STORE AS (TABLESPACE TEST
INDEX SYS_IL0000177335C00011$(TABLESPACE TEST
STORAGE (MAXEXTENTS UNLIMITED)));
OFS_ITEMS).
Найдено на просторах www.sql.ru
среда, 31 марта 2010 г.
Перенос LOBSEGMENT и LOBINDEX в другой Tablespace.
Данный скрипт генерирует код, который нужно выполнить для переноса LOBSEGMENT и LOBINDEX в другой Tablespace.
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий