[ОТВЕТИТЬ]
16.03.2007 08:47
KOT
 
Доброго времени суток, ALL.
Прошу не злиться сильно, если немного офтопю. *17
Меня затерроризировали манагеры - отчеты медленно стали работать! *01
поскольку это не резко после чего, то произошло, значит планомерный рост базы.
Изадумался я о сервере.. на двух Xeon`ах(2,8), трех SCASI(raid0), и 1Gb ОЗУ, 10Гиговая база стала очень медленно откликаться, отчеты, что делались 1-5 минут, стали делаться 30мин.
напимер:
Менеджерские-Оборот предприятия 30мин.
Менеджерские-Доходность по товарам 30мин.
Причём,
Менеджерские-Реализация товаров <1мин.

а) Месяца 2 делаю расчёт статистики в Базовом медуле, стало на 10% полегче, но между 30 и 27 разница не большая.. *09
б) Оперативная память забита полностью. *10

Вопросы:
1)Что бы подойти к руководству и сказать:"мне надо денег, а именно 18т.р. на сервак" надо какие-то цифры взамен денег сообщить, типа: "Будет отчет выдавать за 10мин."
НО вот как оракл реагирует на размер ОЗУ не точно знаю, в общем-то понятно что чем больше тем круче, а поконкретнее может кто сказать?
2)Может ещё где покопать?
16.03.2007 09:00
OlegON
 
Оптимайзером ее, если сразу не поможет (после прочитки лога) - шифрованный лог на обменник, ссылку сюда. Заодно и конкретно скажи, что тормозит. Не оффтопишь, но читать не читаешь читай второй пункт. Некоторые отчеты с ростом базы в геометрической прогрессии увеличивают время выполнения, если готов с такой же скоростью ускорять свое железо - флаг в руки *04 , цифры ты не сообщишь, но память до 2х-3х лучше бы увеличить.
Покопать стОит в самом форуме.
16.03.2007 09:29
sevushka
 
1 Гб памяти пробовал, тормоза на 12 гиговой базе впечатляют. Но и больше 4 Гб памяти для маленьких баз просто бесполезно. Если у тебя оракл 9-ка, то там прямо в Enterprise management console есть в instance - configuration - memory кнопка advice, и там неплохо расписано, что будет, если память добавить и как надо добавленную память настроить. То есть мало просто плашки памяти воткнуть, надо еще в оракле поковыряться и сказать ему, как именно новую память использовать. В принципе до скольки увеличивать уже олегон сказал.
16.03.2007 14:40
reddevil
 
[quote="KOT"]Менеджерские-Оборот предприятия 30мин.
Менеджерские-Доходность по товарам 30мин.
Причём,
Менеджерские-Реализация товаров <1мин.

а) Месяца 2 делаю расчёт статистики в Базовом медуле, стало на 10% полегче, но между 30 и 27 разница не большая.. *09
б) Оперативная память забита полностью. *10

Мил человек ты бы еще привел параметры скоторыми отчеты выполняются и сколько рыл одновременно с базой работают, ибо на "2 Xeon`ах(2,8), трех SCASI(raid0), и 1Gb ОЗУ" при пользователях до 15 10г летать будет. ( про SCASI(raid0), воздержусь конечно)
17.03.2007 12:08
KOT
 
Спасибо, начинаю тюнинГ. *04

1.) Про алерт лог можно побольше, у меня есть один файл под эту маску, но он пуст! d:\oracle\odg\log\alert_dg.log

2.) О! у базы таблица INDEX 58Мб, по ходу индексы не вынесены, но я не знаю как их вынести, попробывал генератором, он ругается, я увеличил табличное пространство до 1024Мб, все равно не получется, говорит не могу создать временный.. таблицу кажется, это давно было, база не тормозила, но индексы ведь рекомендуется переносить в другую таблицу. Какой размер у этой таблицы должен быть если база 15Гб.
3.) Табличное пространство с запасом.
4.) Task Manager говорит нам, что oracle.exe грузит проц на 75% приблизительно. Оперативка под завязку все время.
5.) 15 юзеров, отчета (Менеджерские-Доходность по товарам) параметры:
на пару веток,
50-80 артикулов,
за месяц последний,
групировка по старшим группам,
считать мин.и макс. доходность/маржу.
доходность.
больше ничего.
6.)oracle 8.1.6
17.03.2007 12:21
Propil
 
KOT, файла три по 2 гига в индексном табличном пространстве для начала создай - для переноса туда индексов с помощью генератора
Перенос можно и с помощью оптимайзера сделать

Думаю алерт-лог имеется ввиду этот:
\ORACLE\admin\имя_базы\bdump\имя_базыALRT.LOG
17.03.2007 12:22
OlegON
 
Задавай вопросы последовательно. Сейчас сам же и запутаешься.
1) \Oracle\Admin\имя базы\bdump\ по умолчанию
2) Смысл выносить есть, если у тебя несколько дисков. Индексы в таблицу не выносятся. "Кажется" в отношении описания ошибки неприменим. Есть ошибка - приводи полностью. Индексы, как правило, составляют половину от базы или даже чуть больше.
3) С запасом? Т.е. там свободного места 100Гб?
4) В какие моменты? Как в этот момент загружен винт?
5) Это сколько записей по smdocuments и smspec? Юзера хором запускают отчеты, все 15?
17.03.2007 15:51
KOT
 
1) dbyuzhALRT.LOG найден, очень большой 45Мб, его надо периодически убивать, да?
Я только начал изучать Оракл в деталях, ничего особенного не увидел в логе вот он (2,120,591 байт)
2)Дисков 3, но они в raid0, кстати перед raid5 приимущество только в переносе документов (на 11% быстрее).
3) За термины "кажется" извиняюсь, больше не буду.
4) Ламерский вопрос: есть ли смысл разносить базу на диски, выносить индексы, если рэйд и так одновременно все диски использует для решения задачи?
5)Запас:
users01 1.9/2Гб
users02 1,5/2Гб
users03 1,2/2Гб
users04 0,9/2Гб
users05 1,8/2Гб
**************итого: 2,7Гб свободно
index01 0.008/58Мб
**************итого: не используется
RBS01 259/520Мб
**************итого: 50% свободно
system01 125/350Мб
system02 10/350Мб
**************итого: 80% свободно
TEMP01 0,63/4Гб
**************итого: 85 % свободно
TOOLS01 0.008/12Мб
**************итого: тут я не знаю.
6) про загруженность винта я в рабочий день засеку, в выходные нет юзверей.
7)
Цитата:
сколько записей по smdocuments и smspec?
это если для "чайника" как звучит?
8) Количество пользователей:
6-7человек хором с 9.00 до 15.00 отчеты запускают интенсивно
3 оператора ценники печатают иногда (можно сказать раз в 15 минут кто нибудь из них)

P.S.
ДайБог нервов, всем отвечающим. Если б я знал, я б не спрашивал *16 Спасибо.
17.03.2007 18:45
baggio
 
озвучь свое SGA
сколько озу
Скалько отданор Oracle
Сколько Block Buffer
Сколько Shared Pool Size
З.Ы. при такой загрузке очень похоже что статистика не собрана...
З.Ы.Ы. выложи init_имя_базы.ora
проблем и ошибок в систем и впликейшен логах нет? может райд или один из винтов умирает?
протести smart ...
17.03.2007 20:36
OlegON
 
Пока выходные, прогони оптимайзера с параметром optimize и выложи лог на какой-нибудь обменник. Шифрованный.
18.03.2007 10:04
Mtirt
 
Цитата:
2)Дисков 3, но они в raid0, кстати перед raid5 приимущество только в переносе документов (на 11% быстрее).
Вся база? Мне становится страшно....
18.03.2007 10:09
Mtirt
 
Что касается свободного места, Для работы в принципе хватит, для работы оптимайзера может и не хватить. Ем нужно столько же свободного места, сколько занимают данные.
Рекомендую добавить в Users перед запуском оптимайзера.
21.03.2007 12:47
KOT
 
//Спасибо за совет, Mtirt. *04
//olegon, на выходных была ревизия, а у нас она похожа на фарс-мажёрно стихийное бедствие, поскольку считаем все за один раз ночью, а потом днями пересчитываем ту чушь, что сонные раздолбаи насчитали и что не насчитали. *01 Лог выложу, как только этот кошмар кончится.
baggio, скажу сразу, я тока учусь, вот select * from v$sga:

Fixed Size 70580
Variable Size 182087680
Database Buffers 506339328
Redo Buffers 77824

ОЗУ - 1Гб
################################
initDBYUZH.ora
################################
db_name = "DBYUZH"

instance_name = DBYUZH

service_names = DBYUZH

db_files = 1024

control_files = ("d:\oracle\oradata\DBYUZH\control01.ctl", "d:\oracle\oradata\DBYUZH\control02.ctl", "d:\oracle\oradata\DBYUZH\control03.ctl")

open_cursors = 100
max_enabled_roles = 30
db_file_multiblock_read_count = 8

db_block_buffers = 61809

shared_pool_size = 168780800

large_pool_size = 614400
java_pool_size = 0
job_queue_interval = 600
job_queue_processes = 10

log_checkpoint_interval = 10000
log_checkpoint_timeout = 1800

processes = 160

parallel_max_servers = 5

log_buffer = 32768
##################################
###################################
user_dump_dest = d:\oracle\admin\DBYUZH\udump

db_block_size = 8192

remote_login_passwordfile = exclusive

os_authent_prefix = ""

distributed_transactions = 10
compatible = 8.1.0
sort_area_size = 65536
sort_area_retained_size = 65536
###################################

Диски на днях буду менять на новые, потому, что их гарантия 3 года,
а они не останавливаясь крутяться 3 года (seagateSCASI). *04 конечно не выкину, пойдут на резервный сервер, но доверия к ним тает. Если диски собраны в рэйд их ведь не протестить, система видит ОДИН диск, а не три!?
21.03.2007 15:50
reddevil
 
db_block_buffers = 61809 * db_block_size = 8192 +
shared_pool_size = 168780800 =675128128 при 1гб ОЗУ это прямая дорога с своп, начни с этого.
21.03.2007 15:51
reddevil
 
потом нахрена 3! управляющих файла на одном физическом диске?
21.03.2007 15:54
reddevil
 
потом

Цитата:
select t.table_name, t.last_analyzed, t.num_rows
from all_tables t
where t.table_name in ('FFMAPREP', 'SMSPEC');
и

Код:
select count(*) from ffmaprep
результат сюда
21.03.2007 15:56
reddevil
 
тьфу мля теги перепутал
21.03.2007 15:57
bob
 
3 упр. файла на одном диске наверняка у многих находятся, потому что по умолчанию при создании базы они прописываются на один диск, а знания Оракла на момент создания базы у многих очень небольшие. Ну а потом уже лень переносить (или другие какие то причины).
21.03.2007 16:03
reddevil
 
Цитата:
bob 3 упр. файла на одном диске наверняка у многих находятся, потому что по умолчанию при создании базы они прописываются на один диск, а знания Оракла на момент создания базы у многих очень небольшие. Ну а потом уже лень переносить (или другие какие то причины).
железобетонно)))

все остальные парметры тогда тож наверно стоит по умолчанию оставить)))

не совсем по теме, но может тогда проще администроование БД на аутсорсинг отдать?
(Если че могу предложить сови услуги по свердловской и смежным областям :) )
а потему в идеале для всех страждущих было бы еще вот такую штуку к вопросу прикладывать



если для 8i то там немножко не так, но если поискать можно и для 8 найти
22.03.2007 14:38
KOT
 
Код:
select t.table_name, t.last_analyzed, t.num_rows 
from all_tables t 
where t.table_name in ('FFMAPREP', 'SMSPEC');
SMSPEC 22.03.2007 7:16:29 6780025
FFMAPREP 22.03.2007 10:56:47 5162345


ЭТО ОТСТУПЛЕНИЕ ОТ ТЕМЫ, НО ЕСЛИ НИ О ЧЕМ НЕ СКАЖЕТ ИНФА, ПРОПУСТИМ ЕЁ:
это на время статистики похоже, я её запускал сегодня утром раненько(с января, интервал 7 дней, в базовом модуле).
пришли менеджеры, и обноружили что не идет сумма продаж по кассовым документам и по отчёту оборотной ведомости, сильно не идет,
помидоры:
11,302кг - оборотная ведомасть
39,950кг - кассовый документ
кассы нормально выгрузились,
рассчеты нормально прошли,
журна винды без ошибок,
я в шоке, потому, что причины нет расхождения,
причём разницу отдельно по кассам (продажа помидор каждой кассой)сравнил, нет совпадения, значит не с выгрузкой кассы связано точно *10
провел рассчёты аналитические, данные стали сходиться, потом опять статистику рассчитал (на последнюю дату)

Код:
select count(*) from ffmaprep
TOAD в sql запросе застревает на ffmaprep и не дает данных.
что-то не так в синтаксисе?
22.03.2007 16:41
KOT
 
1) reddevil,
Цитата:
db_block_buffers = 61809
*
db_block_size = 8192
+
shared_pool_size = 168780800
=
675128128
при 1гб ОЗУ это прямая дорога с своп, начни с этого.
shared_pool_size=268435456 (1/4Гб)
+
db_block_size=8192
*
db_block_buffers=32768
=
536870912 это дарога из свопа, так? (хочется быть уверенным, перед
тюнингом инишки)
2) reddevil,
раз контрольные файлы не обязательны, как убрать лишние, не подскажите? (ибо raid сам диски рулит и разносить базу по дискам не видиться необходимым) ?
22.03.2007 20:51
KOT
 
Должно оставаться по меньшей мере два управляющих файла.
1. Остановите базу данных.
2. Выйдите из SQL*DBA.
3. Отредактируйте параметр CONTROL_FILES в файле параметров базы данных, удалив из него старое имя управляющего файла.
4. Вызовите SQL*DBA.
5. Перезапустите базу данных.
6. Физически удалите файл.
23.03.2007 06:58
OlegON
 
Цитата:
KOT
Код:
select count(*) from ffmaprep
TOAD в sql запросе застревает на ffmaprep и не дает данных.
что-то не так в синтаксисе?
Так вразнобой писали, я запутался кто кому отвечает и остались ли вопросы. Вот это вот смущает. Сделай
Код:
analyze table ffmaprep validate structure cascade
только учти, что табличка здоровая, винтом покрутит некоторое время...
23.03.2007 08:17
reddevil
 
Цитата:
shared_pool_size=268435456 (1/4Гб)
- народ ну где вы этой ереси про 1/4 физической начиталисс? Ну для 15 пользователей начани с 80мб потом если понадобиться добавляй.
Цитата:
Должно оставаться по меньшей мере два управляющих файла.
НА РАЗНЫХ физ учстройствах, ибо если твой рейд0 (не дай бох конечно) рассыпиться то сдохнут ОБА, посему зачемуплодит лишний ввод/вывод?
про буфер - согласен
23.03.2007 08:19
reddevil
 
Цитата:
KOT Должно оставаться по меньшей мере два управляющих файла.
1. Остановите базу данных.
2. Выйдите из SQL*DBA.
3. Отредактируйте параметр CONTROL_FILES в файле параметров базы данных, удалив из него старое имя управляющего файла.
4. Вызовите SQL*DBA.
5. Перезапустите базу данных.
6. Физически удалите файл.
можно спросить в какой реликвии вы это читаете, SQL*DBA - он же в 7 версии был?
23.03.2007 08:26
Mtirt
 
Цитата:
reddevil народ ну где вы этой ереси про 1/4 физической начиталисс? Ну для 15 пользователей начани с 80мб потом если понадобиться добавляй.
В руководстве системного администратора по СМ2000.

Цитата:
6.15. Задайте следующие параметры:
Block Size установите равным 8192;
Shared Pool Size установите равным ~ 1/4 физической памяти сервера в байтах (но не более 150 Мб);
Block Buffers (количество блоков Oracle) установить такого размера, чтобы выполнялось соотношение (но не более 60 000 блоков):
Block Buffers х Block Size ~ 1/4 физической памяти
23.03.2007 08:41
reddevil
 
вобшем корректируй параметры и пробуй, была бы база подобных размеров я б сказал как шевелиться но себестоимость только в офисе расчитывается %) а так 7лям в ffmaprep не цифра даже для 15 пользователей. Отчеты за месяц должнв максимум минут 5-10 выполняться.
23.03.2007 08:47
Mtirt
 
Правда еще вопрос, нет ли у него очереди к дискам большой...
Просто raid0 из 3-х винтов это как-то вообще странно для меня.
23.03.2007 08:56
OlegON
 
Цитата:
reddevil
Цитата:
Должно оставаться по меньшей мере два управляющих файла.
НА РАЗНЫХ физ учстройствах, ибо если твой рейд0 (не дай бох конечно) рассыпиться то сдохнут ОБА, посему зачемуплодит лишний ввод/вывод?
Не согласен. Бывали случаи, когда не по вине диска один из контрольников сдыхал. ХЗ почему, питание рубанули или еще что. Даже тут на форуме было подобное, кажется. Так что все таки голосую за "не менее 2х", даже если речь идет об одном диске/рейде. Можно пересоздать, не спорю. Но скопировать проще для тех, кто спрашивает, сколько их должно быть.


Опции темы


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

 

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