powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Пересоздать табличное пространство Rollback
10 сообщений из 10, страница 1 из 1
Пересоздать табличное пространство Rollback
    #39493919
mbm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mbm
Гость
Ситуация:
Oracle 8.1.7.0.0
файл данных RBS01.DBF имеет размер 31,9 Гб
В результате не получается сделать холодную копию (просто не хватает дискового пространства для архивации).

Процент использования табличного пространства стремится к нулю:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
select tablespace_name, sum(sizes) razmer, sum(occupied) zanyato,
       sum(free) svobodno, round(sum(persent)/count(*),2) procent
  from (SELECT t.tablespace_name, t.status,
               ROUND((MAX(d.bytes)/1024/1024)-(SUM(decode(f.bytes,NULL,0,f.bytes))/1024/1024),2)+ROUND(SUM(decode(f.bytes,NULL,0,f.bytes))/1024/1024,2) as sizes,
               ROUND((MAX(d.bytes)/1024/1024)-(SUM(decode(f.bytes,NULL,0,f.bytes))/1024/1024),2) as occupied,
               ROUND(SUM(decode(f.bytes,NULL,0,f.bytes))/1024/1024,2) as free,
               ROUND((ROUND((MAX(d.bytes)/1024/1024)-(SUM(decode(f.bytes,NULL,0,f.bytes))/1024/1024),2) /
                     (ROUND((MAX(d.bytes)/1024/1024)-(SUM(decode(f.bytes,NULL,0,f.bytes))/1024/1024),2) +
                      ROUND(SUM(decode(f.bytes,NULL,0,f.bytes))/1024/1024,2) )
                     )*100,3) as persent,
               t.initial_extent, t.next_extent, t.min_extents,
               t.max_extents, t.pct_increase, SUBSTR(d.file_name,1,80)
          FROM DBA_FREE_SPACE f , DBA_DATA_FILES d , DBA_TABLESPACES t
          WHERE t.tablespace_name=d.tablespace_name 
                AND f.tablespace_name(+)=d.tablespace_name
                AND f.file_id(+) = d.file_id
                and t.tablespace_name='RLBK'
        GROUP BY t.tablespace_name, d.file_name, t.initial_extent, t.next_extent, t.min_extents, t.max_extents, t.pct_increase, t.status)
group by tablespace_name
order by procent desc, razmer


Результат:
TABLESPACE_NAMERAZMERZANYATOSVOBODNOPROCENTRLBK32765100.0132664.990.31
Есть у кого-то пошаговая инструкция для пересоздания табличного пространства Rollback?
...
Рейтинг: 0 / 0
Пересоздать табличное пространство Rollback
    #39493977
Фотография Aliona
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делайте бэкап на сетевой диск.

Вы уверены, что Вам будет хватать TS Rollback меньшего размера?
...
Рейтинг: 0 / 0
Пересоздать табличное пространство Rollback
    #39493997
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Пересоздать табличное пространство Rollback
    #39494018
mbm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mbm
Гость
Aliona...Вы уверены, что Вам будет хватать TS Rollback меньшего размера?
Общий вес всей базы (без веса ролбека) равен 7,18 Гб.
Я недавно пришла сюда на работу и обратила внимание, что dba, который создавал базу, творил все табличные пространства с параметром хранения: AUTOEXTEND и MAXSIZE 32767M.
По моим личным соображениям кто-то что-то запустил, что вызвало стремительный рост ролбэка, это что-то явно оборвалось из-за невозможности дальнейшего расширения табличного пространства.
Теперь имеем огромный датафайл, который реально не используется.
Может реально СЖАТЬ табличное пространство до исходного размера в 520 Мб и 8-ми сегментов отката (вместо текущих 25)?
...
Рейтинг: 0 / 0
Пересоздать табличное пространство Rollback
    #39494033
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А чем вам не подходит озвученное на AskTom?
https://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:7288797200014 just create the new tablespace.
create new rbs's in it.
offline the old ones.
drop them.
drop the tablespace.
...
Рейтинг: 0 / 0
Пересоздать табличное пространство Rollback
    #39494049
mbm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mbm
Гость
Viewer,
Ваше сообщение увидела после того, как писала ответ Aliona.
Я себе приблизительно всё так и представляла.
Единственное, что меня смущает, что в моём init.ora:
Код: plsql
1.
#rollback_segments = (RBS0, RBS1, RBS2, RBS3, RBS4, RBS5, RBS6, RBS7, RBS8, RBS9, RBS10, RBS11, RBS12, RBS13, RBS14, RBS15, RBS16, RBS17, RBS18, RBS19, RBS20, RBS21, RBS22, RBS23, RBS24)


Ведь если строка начинается с "#", то параметр отключён, или я что-то путаю?
...
Рейтинг: 0 / 0
Пересоздать табличное пространство Rollback
    #39494186
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, # - это знак комментария, данная строка файла параметров при запуске базы не обрабатывается. Возможно вы смотрите не тот init.
По второй моей ссылке попадёте в раздел доки "Managing Rollback Segments". Там практически всё, что вам нужно. В частности можете проверить фактическое наличие rollback segments. в системе.
...
Рейтинг: 0 / 0
Пересоздать табличное пространство Rollback
    #39494203
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
P.S.
Вы не указали тип вашей OS
The name of the parameter file varies depending on the operating system .
See your Oracle operating system specific documentation for the default locations and filenames for these parameter files.
Oracle8 i 8.1.7 Documentation
Oracle8i Installation Guide for..... Initialization Parameter File
The starter database contains one database initialization parameter file located in
(Windows)
the $ORACLE_BASE/admin/<db_name>/pfile directory
(Linux)
the ORACLE_BASE\ADMIN\DB_NAME\PFILE directory:
...
Рейтинг: 0 / 0
Пересоздать табличное пространство Rollback
    #39494396
mbm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mbm
Гость
ViewerP.S.
Вы не указали тип вашей OS
Sorry, Windows 2000 Service Pack 4 .
Я просмотрела оба:
автор$\oracle\admin\orcl\pfile\initorcl.ora
$\oracle\ORCL\initorcl.ora
И в обоих строка с сегментами отката заремлина.
Кроме того, селект:
Код: plsql
1.
2.
3.
4.
select name, type, value
  from v$parameter 
  where name like '%rollback%' 
        or name like '%undo%'


Даёт результат:
NAMETYPEVALUEgc_rollback_locks20-128=32!8REACHtransactions_per_rollback_segment35max_rollback_segments337rollback_segments2fast_start_parallel_rollback2LOW
Может после создания нового табличного пространства и сегментов в нём, стоит выполнить:
Код: plsql
1.
alter system set rollback_segments=(RBS01, RBS02, RBS03, RBS04, RBS05, RBS06, RBS07, RBS08); 

?
...
Рейтинг: 0 / 0
Пересоздать табличное пространство Rollback
    #39494455
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы всё же рекомендовал использовать запросы (ссылка была) из документации по вашей версии Oracle
http://docs.oracle.com/cd/A87860_01/doc/server.817/index.htm
Снизу вверх ещё терпимо, а вот сверху вниз - рулетка (<name like '%undo%'> в вашей версии ещё не было)
...и - alter альтером, а в init.ora прописать не забудьте.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Пересоздать табличное пространство Rollback
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]