powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Oracle 10g - как определить, что занимает место?
12 сообщений из 12, страница 1 из 1
Oracle 10g - как определить, что занимает место?
    #40125769
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть старый сервер на RHEL4 с Oracle 10g.
На сервере дисковая емкость примерно 800 ГБ, увеличить ее возможности нет (для бэкапов подключен диск по iSCSI, но использовать сетевой диск под базу я опасаюсь).
Как-то внезапно размер базы вырос гораздо больше, чем планировалось, сейчас база занимает 760 ГБ. Сегодня на диске закончилось место, кое-как я десяток гигабайт освободил, база сейчас работает, но это ненадолго.
При этом размер собственно данных меньше 60 ГБ, и год назад база суммарно занимала менее 300 ГБ, показывая стабильный рост менее 10 ГБ в год, так что я полагал, что с местом проблем не будет.
Характер работы с базой не менялся.
Единственное, что менялось — последние несколько недель не выполнялись бэкапы (полные + инкрементальные).
...
Рейтинг: 0 / 0
Oracle 10g - как определить, что занимает место?
    #40125772
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бэкап делался двойной, ночью запускался expdb, а через час запускался rman.
Несколько недель бэкап не делался, сейчас я диск iSCSI восстановил, запустил бэкап вручную.
Вот фрагмент вывода expdb:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Соединен с: Oracle Database 10g Release 10.2.0.4.0 - 64bit Production
Выполняется запуск "BILLING"."SYS_EXPORT_SCHEMA_04":  billing/********@billing DUMPFILE=billing_20220111.dmp LOGFILE=billing_20220111.log DIRECTORY=EXTRA_DUMP_DIR SCHEMAS=billing CONTENT=ALL 
Выполняется оценка с помощью метода BLOCKS...
Обрабатывается объект типа SCHEMA_EXPORT/TABLE/TABLE_DATA
Оценка итога с помощью метода BLOCKS: 51.39 GB
...
. . экспортировано "BILLING"."BM_SERVICE_MONEY"                21.68 GB 352611288 строк
. . экспортировано "BILLING"."RADACCT"                         15.91 GB 69501919 строк
. . экспортировано "BILLING"."BM_ACTION_LOG"                   1.851 GB 10362378 строк
. . экспортировано "BILLING"."BM_ADDRESS_OBJECT"               1.481 GB 26452887 строк
...
(остальные таблицы много места не занимают)
...
Рейтинг: 0 / 0
Oracle 10g - как определить, что занимает место?
    #40125774
Asmodeus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alibek B.
Есть старый сервер на RHEL4 с Oracle 10g.
На сервере дисковая емкость примерно 800 ГБ, увеличить ее возможности нет (для бэкапов подключен диск по iSCSI, но использовать сетевой диск под базу я опасаюсь).
Как-то внезапно размер базы вырос гораздо больше, чем планировалось, сейчас база занимает 760 ГБ. Сегодня на диске закончилось место, кое-как я десяток гигабайт освободил, база сейчас работает, но это ненадолго.
При этом размер собственно данных меньше 60 ГБ, и год назад база суммарно занимала менее 300 ГБ, показывая стабильный рост менее 10 ГБ в год, так что я полагал, что с местом проблем не будет.
Характер работы с базой не менялся.

Код: plsql
1.
select * from v$flash_recovery_area_usage;


Alibek B.
Единственное, что менялось — последние несколько недель не выполнялись бэкапы (полные + инкрементальные).
Выполнить резервное копирование? Или БД уже не очень нужна...

Ну и за одно - скрипт, которым делается rman-бэкап.
...
Рейтинг: 0 / 0
Oracle 10g - как определить, что занимает место?
    #40125781
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dba_segments.
...
Рейтинг: 0 / 0
Oracle 10g - как определить, что занимает место?
    #40125783
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Были технические сложности с iSCSI, из-за чего бэкап и не делался.
Сейчас их устранил, бэкап сделаю.

Asmodeus
select * from v$flash_recovery_area_usage;

Если запускать под sys, то все по нулям (CONTROLFILE, ONLINELOG, ARCHIVELOG, BACKUPPIECE, IMAGECOPY, FLASHBACKLOG).
Если запускать под пользователем, то выдается ошибка, что такая таблица не существует.

dmdmdm
dba_segments.

В TOAD есть пункт меню Database - Administer - Tablespaces.
Это не оно в итоге?
В dba_segments почти 8 тысяч строк, так сходу и не понять, как расходуется место.
...
Рейтинг: 0 / 0
Oracle 10g - как определить, что занимает место?
    #40125784
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Asmodeus
Ну и за одно - скрипт, которым делается rman-бэкап.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
connect target /; 

run {
allocate channel t1 type disk;

backup incremental level 0
    skip inaccessible
    filesperset 1000
    format '/extra/net/oracle/backup/bk_%s_%p_%t' database;
    sql 'alter system switch logfile';

sql 'alter system switch logfile';

backup
    filesperset 1000
    format '/extra/net/oracle/backup/al_%s_%p_%t'
    archivelog all delete input;

backup
    format '/extra/net/oracle/backup/cntrl_%s_%p_%t'
    current controlfile;

delete noprompt obsolete;
delete noprompt expired backup;

release channel t1;
}
Запускается с ключом nocatalog.
...
Рейтинг: 0 / 0
Oracle 10g - как определить, что занимает место?
    #40125793
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В TOAD информация по tablespace выглядит так.
Если округлять, то 87+53+32 ГБ, всего менее 200 ГБ.
Примерно так и должно было быть по моим предположениям.
Но на диске база занимает намного больше:
Код: plaintext
1.
2.
3.
4.
5.
$du -sh /u01/oradata/*
580G	/u01/oradata/arch
182G	/u01/oradata/billing
12K	/u01/oradata/check_indexes
8,0K	/u01/oradata/check_indexes2
...
Рейтинг: 0 / 0
Oracle 10g - как определить, что занимает место?
    #40125796
Asmodeus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alibek B.
В TOAD информация по tablespace выглядит так.
Если округлять, то 87+53+32 ГБ, всего менее 200 ГБ.
Примерно так и должно было быть по моим предположениям.
Но на диске база занимает намного больше:
Код: plaintext
1.
2.
3.
4.
5.
$du -sh /u01/oradata/*
580G	/u01/oradata/arch
182G	/u01/oradata/billing
12K	/u01/oradata/check_indexes
8,0K	/u01/oradata/check_indexes2

Сделайте бэкап, он уберет (судя по вашему скрипту). Внутрь БД смотреть нет смысла, когда почти 600 ГБ занято арклогами.
...
Рейтинг: 0 / 0
Oracle 10g - как определить, что занимает место?
    #40125798
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А не могли бы пояснить мне, что такое арклоги?
До недавнего времени сетевой том iSCSI /extra/net не был смонтирован и ресурс /extra/net/oracle не был доступен.
Я думал, что в этом случае скрипт архивации прерывается по ошибке и процесс архивации просто не начинается.
Соответственно, у меня должна быть просто база данных без бэкапа.
...
Рейтинг: 0 / 0
Oracle 10g - как определить, что занимает место?
    #40125806
Asmodeus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alibek B.
А не могли бы пояснить мне, что такое арклоги?
В процессе работы экземпляра кроме изменений в файлы данных оракл также пишет информацию в т.н. "оперативные журналы повторного выполнения", они же редулоги (они же - журналы транзакций). Для возможности восстановления в случае сбоев файлы редулогов оракл архивирует сам, если БД работает в режиме архивации (ARCHIVELOG), и получаются "архивные журналы повторного выполнения", или арклоги. Как-то так. Но лучше почитайте про архитектуру оракла.

Alibek B.
До недавнего времени сетевой том iSCSI /extra/net не был смонтирован и ресурс /extra/net/oracle не был доступен.
Я думал, что в этом случае скрипт архивации прерывается по ошибке и процесс архивации просто не начинается.
Соответственно, у меня должна быть просто база данных без бэкапа.
База данных без бэкапа, но арклоги таки копятся.
...
Рейтинг: 0 / 0
Oracle 10g - как определить, что занимает место?
    #40125809
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понял, спасибо.
Через пару часов бэкап завершится, место на диске должно освободиться.
...
Рейтинг: 0 / 0
Oracle 10g - как определить, что занимает место?
    #40125939
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, место, занимаемое арклогами, освободилось.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Oracle 10g - как определить, что занимает место?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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