[ОТВЕТИТЬ]
27.03.2012 08:53
ckadi
 
СМ1.026сп3, Oracle 10.2.0.4, база ЦО. Win2k3 enterprise sp2 x32, Core I7, 8гб озу, антивирусов нет.
До недавних пор перенос частичный+расчет укладывался в 1.5часа. Полную очистку аналитической бд производил. Сейчас расчет длится 4.5-5часов.
База хранится на 2х Western Digital "VelociRaptor" 10000 rpm, ОС на отдельном, бэкапы на отдельном. Users(5файлов по 5гб),temp (3гб+2гб+2гб), ... на 1м винте, на 2м индексы (8файлов по 5гб). Вчера в alerts.log обнаруживал 8 индексов, которые или часть которых unusable, alter index ... rebuilld; провел им.
Для Oracle EM в меню пуск не было ярлыка с момента установки (на чистую винду ставил месяца 2 назад, импорт дампа 8->10). http : //<ip>:1158/em не пашет. При попытке запустить службу OracleDBConsoledboffice выдается в журнале винды: Описание: Agent process exited abnormally during initialization.
Оптимайзер запрещен к исполнению руководством.
В ближайшее время планируется обновление версии СМ2к до актуальной. Но стоит ли, когда сейчас не все ладно с базой или наоборот поможет. Файлы табличных пространств подумываю изменить: бэкап, экспорт, удаление базы, создание базы с файлами не более 2гб, импорт, стоит ли?
Есть подозрение, что распределение памяти настроено не верно или что-то с табличными пространствами.
27.03.2012 09:00
OlegON
 
битые индексы ищут не в алерте... пока все написанное подходит для сочувствия, а не для анализа ситуации. OEM предлагаю забыть.
Если нужна оптимизация БД, могу предложить, а лечить по фотографии вряд ли получится. Из написанного видно, что что-то болит. Причем, не понятно, после чего.
27.03.2012 09:14
ckadi
 
В alerts.log не специально за индексами заглядывал, а в целом предупреждения глянуть.
Так правильно их искать:
SQL> select * from dba_indexes where STATUS='UNUSABLE';
строки не выбраны
SQL> select * from dba_ind_subpartitions where STATUS='UNUSABLE';
строки не выбраны
?
27.03.2012 09:16
OlegON
 
Да, правильно.
Oracle - вещь жутко крепкая. Индексы там просто так не разваливаются. А вот на вопрос "после чего" пока не видно ответа.
27.03.2012 10:01
ckadi
 
До перехода с 8 на 10 оракл сторонним человеком был написан скрипт AutoIt3 рассчитывающий себестоимость через назначенные задания винды: нажатие лкм в определенных координатах определенного "окна", ввод символов (логин\пасс), с определенными интервалами временными, остановка-запуск служб(почтовик). После перехода на 10й оракл не использовали данный скрипт. На прошлой неделе сис.админу оутсорсеру вменили в обязанности восстановление авто расчета себестоимости, он правил скрипт и выполнял его.
Больше ничего не известно мне, я только бэкапы делал+бывали жалобы о тормозах при принятии доков после расчета себестоимости (бух считала ручками) - гасил службы, ребут - помогало.
27.03.2012 10:08
OlegON
 
тогда кроме предложенного во втором сообщении мне предложить более нечего.
27.03.2012 10:14
ckadi
 
А то что собираемся обновить версию см2к до текущей? По идее несколько промежуточных версий установлено будет, генератор БД прогнан. Стоит ли при "болячке" обновляться?
27.03.2012 10:16
Mtirt
 
Для того, чтобы ответить на этот вопрос, надо понять, в чем состоит "болячка".
А по твоим сообщениям этого понять невозможно...
27.03.2012 10:22
akonev
 
Цитата:
ckadi ...Есть подозрение, что распределение памяти настроено не верно или что-то с табличными пространствами.
судя по "Win2k3 enterprise sp2 x32" без упоминания AWE, память у тебя используется не полностью. наверняка, можно заметно разогнать базу, добавив буферов.

из под sys'а:
select * from v$pgastat
select * from v$sgainfo

оптимайзер был значительно доработан, в том числе по вашим проблемам. попробуй поднять копию базы (супермажная лицензия не нужна, достаточно оракловой базы) и погонять по ней недельку оптера. сначала в постоянном MT. потом, когда большие "старые" таблицы оптимизируются - в рабочем режиме: MT на 3-4 часа ночью. посмотри по логам, как часто получается подключаться, случается ли, что в МТ+1час не отработался.

по моим наблюдениям, если у базы мало памяти (1-1.5Г) она может начать подтормаживать после запуска на ней оптера в постоянном режиме. выделение доступного максимума проблему снимает.
27.03.2012 10:24
ckadi
 
Пробовал отбирать инвалидные объекты - строки не выбраны ().
Если подскажете как куда копнуть, что проверить, то исполню и выложу результаты.
27.03.2012 10:25
akonev
 
в любом случае, тормоз - не болячка. биться за скорость до обновления не стоит. только если память поправить из самых общих соображений.

1) проверить валидность базы.
2) проверить выделение памяти
3) обновиться
4) разбираться со скоростью
27.03.2012 10:31
akonev
 
кстати! у вас же большая база только офисная. вполне можно на одну базу разориться на оптер и не париться за частоту подключений. он присмотра только на запуске требует неделю-две на больших базах. когда один-два раза по всем таблицам проедет - шуршит себе тихонько и не мешает никому. знай только ошибки от него просматривай по утрам, да в монитор поглядывай: нет ли чего красненького
27.03.2012 10:34
ckadi
 
SQL> select * from v$pgastat;
NAME VALUE UNIT
---------------------------------------------------------------- ---------- ------------
aggregate PGA target parameter 418381824 bytes
aggregate PGA auto target 313003008 bytes
global memory bound 83676160 bytes
total PGA inuse 75076608 bytes
total PGA allocated 104047616 bytes
maximum PGA allocated 495371264 bytes
total freeable PGA memory 0 bytes
process count 65
max processes count 77
PGA memory freed back to OS 0 bytes
total PGA used for auto workareas 4431872 bytes
maximum PGA used for auto workareas 109241344 bytes
total PGA used for manual workareas 0 bytes
maximum PGA used for manual workareas 82751488 bytes
over allocation count 0
bytes processed 3,1942E+10 bytes
extra bytes read/written 2328931328 bytes
cache hit percentage 93,2 percent
recompute count (total) 15223
19 строк выбрано.

SQL> select * from v$sgainfo;
NAME BYTES RES
-------------------------------- ---------- ---
Fixed SGA Size 1298280 No
Redo Buffers 7090176 No
Buffer Cache Size 58720256 Yes
Shared Pool Size 1174405120 Yes
Large Pool Size 8388608 Yes
Java Pool Size 8388608 Yes
Streams Pool Size 0 Yes
Granule Size 8388608 No
Maximum SGA Size 1258291200 No
Startup overhead in Shared Pool 50331648 No
Free SGA Memory Available 0
11 строк выбрано.
Незарегистрированный оптимайзер с месяц назад запускался с интервалом 30мин, отработать у него получалось пару раз в сутки максимум. Платить за регистрацию не хочет руководство, поэтому имею что имею.
27.03.2012 10:36
akonev
 
Buffer Cache Size 58 720 256 Yes
странно, что она вообще шевелится. 58 метров в буферах, остальное с диска.
27.03.2012 10:41
ckadi
 
Цитата:
Andrew_Konev в любом случае, тормоз - не болячка. биться за скорость до обновления не стоит. только если память поправить из самых общих соображений.

1) проверить валидность базы.
2) проверить выделение памяти
3) обновиться
4) разбираться со скоростью
1) = сделать "эталон" в подчиненной заведомо рабочей\... и сравнить с эталоном в ЦО?
27.03.2012 10:42
akonev
 
Цитата:
ckadi SQL> ...
Незарегистрированный оптимайзер с месяц назад запускался с интервалом 30мин, отработать у него получалось пару раз в сутки максимум. Платить за регистрацию не хочет руководство, поэтому имею что имею.
секционирование FFMAPREP выключал? если нет, то имей в виду, что оптер секции на два месяца вперед только делает. если вовремя не запустить хоть один раз в MT - первого числа рассчет ТД встанет по ошибке на загрузке.
27.03.2012 10:51
ckadi
 
Цитата:
Andrew_Konev секционирование FFMAPREP выключал? если нет, то имей в виду, что оптер секции на два месяца вперед только делает. если вовремя не запустить хоть один раз в MT - первого числа рассчет ТД встанет по ошибке на загрузке.
не трогал, практически с дефолтными настройками оптимайзер был, архивлог выкл

SGA size 125мб+- - может его увеличить? Такое видел: alter system set sga_target = <размер в байтах(?)>;
buffer caсhe как увеличить?

Сравнил с эталоном(подчиненная бд) структуру бд в адм.модуле: Чего то совсем грустно.
27.03.2012 11:19
akonev
 
в параметрах оптера проверь DontUseFFMAPREP. если там "no". то или ffmaprep обратно из партиций собирать, или делать новые руками или иногда оптера все-таки запускать.

Maximum SGA Size 1 258 291 200
из них
Shared Pool Size 1 174 405 120
Buffer Cache Size 58 720 256

автомат распределения памяти имеет дурную привычку не возвращать то, что он однажды забрал под Shared Pool

maximum PGA allocated 495 371 264 - нафига ему столько понадобилось, я понять не могу, но меньше ты ему дать не можешь.

совсем грубо:
1 258 291 200 - sga
495 371 264
300 000 000 - условно на прочие внутренние нужды экземпляра

подобрались к 2G. я так понимаю, /3GB в boot.ini включен?
27.03.2012 12:09
akonev
 
Цитата:
ckadi SGA size 125мб+- - может его увеличить? Такое видел: alter system set sga_target = <размер в байтах(?)>;
buffer caсhe как увеличить?

Сравнил с эталоном(подчиненная бд) структуру бд в адм.модуле. Чего то совсем грустно.
Да вроде ничего катастрофичного не видать.
Все нежно и аккуратно можно привести в соответствие. Только пошагово и с бэкапами.

Сначала все-таки
alter system set sga_max_size=XXXX scope spfile;
с предварительным бэкапом и последующим рестартом базы.

но вот этот самый XXXX сначала надо тщательно просчитать. чтобы не вылезать за 2.7G на виндовый процесс с учетом того, что PGA ты сверху ограничить не можешь: если он захочет расти и не сможет - экземпляр грохнется. но так или иначе, метров 500 ты запросто можешь прирезать дополнительных.

а потом можно уже на ходу разбираться с sga_target, он динамический.

если захочется вылезти за 2.7 - тогда сложнее. или включать AWE или перебираться на x64 или вообще переезжать на линукс. я свой офис, как временный вариант, перевел на AWE и прирезал 3.5Г буферов через окно 700М. пока все счастливы.
27.03.2012 12:57
ckadi
 
В boot.ini /3GB не было ключа. Сейчас добавил, вечером, когда база практически не будет использоваться ребутнусь, гляну результат. Oracle.exe чуть меньше 1.3гб озу использует и 1.4гб свопа сейчас.

sga_max_size как высчитывается таки? 2,7GB озу на процесс, вычесть PGA неконтролируемые по макс размеру, допустим ХХХХ=600мб сделать норм или и больше можно, 1-1.5гб?
27.03.2012 13:13
Vovantus
 
Цитата:
ckadi В boot.ini /3GB не было ключа. Сейчас добавил, вечером, когда база практически не будет использоваться ребутнусь, гляну результат.
у меня на одном из магазинов на серваке 2003 после установки этого ключа начал глючить сервер терминалов. курил-курил инет на эту тему, так и не смог найти решения, пришлось отключить взад.

на остальных везде всё работает без глюков с этим параметром.
27.03.2012 15:51
ckadi
 
С ключом /3GB стало еще хуже, в том числе oracle 400мб озу использует, 1.6гб своп. Убрал ключ - стало 200мб озу, 1.4гб своп.
С сегодняшнего утра жалобы на очень долгое проведение документов еще появились у сотрудников.

Еще вспомнил, что в районе пятницы обнаруживал, что время системное сбито => обесточивание + севшая CMOS батарейка скорей всего. Если со сбитым временем с базой работали, то какие последствия?
27.03.2012 19:49
Propil
 
хорошего мало - дата создания документов "поплыла"
Надо перепроверять все созданные. Проблемы с актами переоценки.
27.03.2012 20:54
ckadi
 
2200Мб делал SGA max size - не завелась база, 1700Мб сделал SGA max size - завелась:
SQL> select * from v$sgainfo;
NAME BYTES RES
-------------------------------- ---------- ---
Fixed SGA Size 1299820 No
Redo Buffers 7086080 No
Buffer Cache Size 58720256 Yes
Shared Pool Size 1174405120 Yes
Large Pool Size 8388608 Yes
Java Pool Size 8388608 Yes
Streams Pool Size 0 Yes
Granule Size 8388608 No
Maximum SGA Size 1786773504 No
Startup overhead in Shared Pool 50331648 No
Free SGA Memory Available 528482304
Не изменился Buffer Cache Size :unsure:
27.03.2012 22:02
OlegON
 
Цитата:
ckadi 1700Мб сделал SGA max size - завелась
это когда один в базе? а то как хором подключатся, как накернится все это хозяйство... я на стандартной винде х32 больше 1200 предпочитаю не давать. Спишь спокойнее.
28.03.2012 05:45
akonev
 
Ну не столько у него народу в офисе. 1.7 не должно навернуть базу

Цитата:
С ключом /3GB стало еще хуже, в том числе oracle 400мб озу использует, 1.6гб своп. Убрал ключ - стало 200мб озу, 1.4гб своп.
вот это все где смотрим? и что в конце концов написано? а то ты меня сильно озадачишь, если вышел за 1,7G на процесс без /3GB

на серваке же кроме оракла и сервисов супермажных нет ничего?

буфера сами не должны вырасти. ты пока поменял только максимально доступный размер SGA. но не сказал, под что его использовать. первое можно только с рестартом базы сделать, второе - на ходу.

пока не делай ничего, последи за размером PGA. условный предел помнишь. если к 600 начнет приближаться - разгоняй юзеров и уменьшай SGA на сто метров
28.03.2012 05:59
ckadi
 
До ключа /3GB примерно 1.4гб озу + 1.5гб свопа oracle.exe занимал. Win2k3 же Enterprise - все 8 гб озу видит, pae. Или ограничение х32 винды 1.7гб озу(или озу+своп) на процесс по дефолту? А с ключом /3GB лимит до 3Гб увеличивается?
Ничего.
Командой alter system set db_cache_size = ХХХ scope=spfile; задам же минимальный размер Buffer Cache Size?
28.03.2012 06:03
akonev
 
... в общем задача в том, чтобы вместе они за 2.3 не выходили

а тем временем про sga_target почитай. как почитаешь - увеличивай его до макс_сга. если не решишь на ручное управление переходить. но вот это пока не нада однозначно.
28.03.2012 06:30
akonev
 
Цитата:
ckadi До ключа /3GB примерно 1.4гб озу + 1.5гб свопа oracle.exe занимал. Win2k3 же Enterprise - все 8 гб озу видит, pae. Или ограничение х32 винды 1.7гб озу(или озу+своп) на процесс по дефолту? А с ключом /3GB лимит до 3Гб увеличивается?
Ничего.
Командой alter system set db_cache_size = ХХХ scope=spfile; задам же минимальный размер Buffer Cache Size?
1.7 озу + своп. и с /3gb не 3 получается реально, а 2.7

pae - отдельная песня. его надо отдельно в boot.ini включать, он позволит ораклу пользовать дополнительную память, но только для буферов и только через окно в рамках тех же 2.7
для этого надо включить awe, но это означает однозначный отказ от автомата управления памятью. а для этого тебе надо хотя бы неделю помониторить размеры буферов, которые автомат выставляет. лучше две. и зацепить какой-нибудь период массовой отчетности.
28.03.2012 11:19
ckadi
 
alter system set sga_target=1690m; сделал, ибо SGA max size 1700Mb. Буфер кэш сайз остался 58Мб, может задать минимальное значение Buffer cache size допустим 80мб? с помощью alter system set db_cache_size = 80M scope=spfile;
До вмешательства моего SGA max size 1200Мб был.

Пользователи на тормоза жалуются с полудня вчера - в то время ни ключами в бут.ини, ни изменением параметров памяти не занимался. На использование зарегеного оптимизатора раскачиваю руководство. Переход на вин2к3 планирую на выходных.


Опции темы


Часовой пояс GMT +3, время: 09:21.

 

Форум сделан на основе vBulletin®
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.