169 похожих чатов

Не админ Oracle, так по мелочи. есть Oracle Database 11g Release

11.2.0.4.0.
В ней по создавали кучи файлов данных tablespace по 32 гига каждый.

На сейчас провели частичную очистку таблиц в tablespace, теперь таблица объемом 200 гиг равна 24 гига, другие таблицы в tablespace все вместе не более 30 гигов.

Вопрос, как избавится от лишних файлов данных в tablespace ?

11 ответов

12 просмотров

Этот SQL попробуйте запустить. Сам по себе он ничего не меняет. Но в выводе его есть команды.

Ildar Garaev
Этот SQL попробуйте запустить. Сам по себе он ниче...

ну собственно про это Егор и говорил. один экстент в конце на hwm, дырка размером терабайт в середине - и без мува вы ничего с ней не сделаете

Kirill Leontev
ну собственно про это Егор и говорил. один экстент...

Да согласен. Но для начала надо оценить реалии.

Ildar Garaev
Да согласен. Но для начала надо оценить реалии.

я делал простой union по dba_extents и dba_free_space с сортировкой. там прямо визуально эти дыры видно.

Ildar Garaev
Поделитесь SQL запросом ?

как до компьютера доберусь

Я б ещё запланировал апгрейд до актуальной версии СУБД. Например, до 19c С 12 версии и выше появилось множество опций по онлайн-перемещению объектов. Не нужен даунтайм для проведения процедур по уменьшению места.

Ildar Garaev
Добрались?

добирался, отправить забыл 🤣 что-то типа такого (работает медленно): with all_space as ( select owner ||'.' || segment_name || nullif('.' || partition_name, '.') full_segment_name, tablespace_name, extent_id, owner, segment_name, partition_name, segment_type, file_id, block_id, blocks from dba_extents e union all select null, tablespace_name, null, null, null, null, null, file_id, block_id, blocks from dba_free_space ), contiguous_space as ( select s.tablespace_name, s.owner, s.segment_name, s.partition_name, s.segment_type, s.file_id, count(*) allocated_extents, min(s.block_id) first_block, sum(s.blocks) total_blocks from ( select s.*, sum(s.sog) over ( partition by s.tablespace_name, s.file_id order by s.block_id ) group_id from ( select s.*, decode( full_segment_name, lag(full_segment_name, 1, null) over ( partition by s.tablespace_name, s.file_id order by s.block_id ), 0, 1 ) sog from all_space s ) s ) s group by s.group_id, s.tablespace_name, s.owner, s.segment_name, s.partition_name, s.segment_type, s.file_id ) select * from contiguous_space --where tablespace_name = 'USERS' order by tablespace_name, file_id, first_block /

Похожие вопросы

Обсуждают сегодня

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
DS
8
Карта сайта