oracle: statspack
Перенести схему PERFSTAT в другое табличное пространство.
Освободить место в существующем табличном пространстве.
Експорт/импорт схемы PERFSTAT.
-- создать tablespace куда хотим перенести
-- останавливаем job сбора статистики (выполняется от владельца джоба)
-- обязательно нужен commit
-- Сохраним на всякий случай сам джоб из какого нить девелопера
-- экспорт схемы
-- импорт схемы
Сохраняем скрипт создания юзера PERFSTAT со всеми грантами и прочим из какого нить девелопера в файл скажем perfstata_schema.sql
Будет что вроде приведённого ниже куска, если переносим в другой tablespace, то при импорте меняем DEFAULT TABLESPACE PERFSTAT_TBS в оператре CREATE USER PERFSTAT на тот tablespace, в который хотим его перенести, ну и не забыть создать сам tablespace.
-- удаляем полностью PERFSTAT, чтобы удалить все данные в схеме
-- создаём схему PERFSTAT, которую предварительно сохранили в perfstata_schema.sql
-- импорт
-- проверяем индексы
-- проверяем джоб
Перенести схему PERFSTAT в другое табличное пространство.
Освободить место в существующем табличном пространстве.
Експорт/импорт схемы PERFSTAT.
-- создать tablespace куда хотим перенести
CREATE TABLESPACE perfstat_tbs datafile '/u01/ORADATA/PERFSTAT/perfstat_01.dbf'
SIZE 5000m autoextend ON;
SIZE 5000m autoextend ON;
-- останавливаем job сбора статистики (выполняется от владельца джоба)
-- обязательно нужен commit
SELECT *
FROM user_jobs;
EXEC dbms_job.broken(jobno, TRUE);
COMMIT;
FROM user_jobs;
EXEC dbms_job.broken(jobno, TRUE);
COMMIT;
-- Сохраним на всякий случай сам джоб из какого нить девелопера
DECLARE
X NUMBER;
BEGIN
SYS.DBMS_JOB.SUBMIT
( job => X
,what => 'statspack.snap;'
,next_date => TO_DATE('01.01.4000 00:00:00','dd/mm/yyyy hh24:mi:ss')
,INTERVAL => 'trunc(SYSDATE+1/24,'HH')'
,no_parse => FALSE
,instance => 1
);
SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || TO_CHAR(x));
COMMIT;
END;
/
X NUMBER;
BEGIN
SYS.DBMS_JOB.SUBMIT
( job => X
,what => 'statspack.snap;'
,next_date => TO_DATE('01.01.4000 00:00:00','dd/mm/yyyy hh24:mi:ss')
,INTERVAL => 'trunc(SYSDATE+1/24,'HH')'
,no_parse => FALSE
,instance => 1
);
SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || TO_CHAR(x));
COMMIT;
END;
/
-- экспорт схемы
cd /backup_vol/oracle_backup
export NLS_LANG=AMERICAN_AMERICA.CL8ISO8859P5
exp perfstat@orcl FILE=perfstat_15_03_2012.dmp LOG=perfstat_15_03_2012.LOG owner=PERFSTAT-- импорт схемы
Сохраняем скрипт создания юзера PERFSTAT со всеми грантами и прочим из какого нить девелопера в файл скажем perfstata_schema.sql
Будет что вроде приведённого ниже куска, если переносим в другой tablespace, то при импорте меняем DEFAULT TABLESPACE PERFSTAT_TBS в оператре CREATE USER PERFSTAT на тот tablespace, в который хотим его перенести, ну и не забыть создать сам tablespace.
CREATE USER PERFSTAT
IDENTIFIED BY VALUES 'xxxxxxxxxxxxxx'
DEFAULT TABLESPACE PERFSTAT_TBS
TEMPORARY TABLESPACE TEMP
PROFILE DEFAULT
ACCOUNT UNLOCK;
....
IDENTIFIED BY VALUES 'xxxxxxxxxxxxxx'
DEFAULT TABLESPACE PERFSTAT_TBS
TEMPORARY TABLESPACE TEMP
PROFILE DEFAULT
ACCOUNT UNLOCK;
....
-- удаляем полностью PERFSTAT, чтобы удалить все данные в схеме
DROP USER PERFSTAT CASCADE;
-- создаём схему PERFSTAT, которую предварительно сохранили в perfstata_schema.sql
-- импорт
export NLS_LANG=AMERICAN_AMERICA.CL8ISO8859P5
imp perfstat@orcl file=perfstat_12_05_2011.dmp log=imp_perfstat_12_05_2011.log fromuser=PERFSTAT touser=PERFSTAT
imp perfstat@orcl file=perfstat_12_05_2011.dmp log=imp_perfstat_12_05_2011.log fromuser=PERFSTAT touser=PERFSTAT
-- проверяем индексы
SELECT index_name,status FROM dba_indexes WHERE owner='PERFSTAT';
-- проверяем джоб
SELECT * FROM user_jobs;