powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Управление памятью
60 сообщений из 60, показаны все 3 страниц
Управление памятью
    #33006789
Фотография StalkerS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может ли Оракл автоматически отдавать неиспользуемую память назад операционной системе, если система испытывает недостаток памяти ? Или этим заправляет только администратор ?
...
Рейтинг: 0 / 0
Управление памятью
    #33006856
AI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может. При завершении сеанса серверный процесс убивается, и занимаемая им память отдается в ОС.
...
Рейтинг: 0 / 0
Управление памятью
    #33006858
Фотография StalkerS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я имел ввиду такую ситуацию : предположим, под кэш отдано 128 метров. Сервер использует всю эту память, но сама операционка испытывает недостаток пямяти и постоянно свопиться, что влияет в том числе и на процесс Оракла. Может-ли Оракл почувствовать это и автоматически поделиться памятью ?
...
Рейтинг: 0 / 0
Управление памятью
    #33006881
Фотография stdio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StalkerSя имел ввиду такую ситуацию : предположим, под кэш отдано 128 метров. Сервер использует всю эту память, но сама операционка испытывает недостаток пямяти и постоянно свопиться, что влияет в том числе и на процесс Оракла. Может-ли Оракл почувствовать это и автоматически поделиться памятью ?Это надо переводить так: "может ли Oracle почувствовать, что администратор - разгильдяй и автоматически поделиться памятью?"

Ну и как ты думаешь? Какой ответ?
...
Рейтинг: 0 / 0
Управление памятью
    #33006889
Фотография StalkerS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>>Ну и как ты думаешь? Какой ответ?

Получается, ответ выглядит так : распределением занимается только админ.

Спасибо
...
Рейтинг: 0 / 0
Управление памятью
    #33007002
Фотография RA\/EN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почитай по управлению памятью в винде на уровне страниц.
Оракл, как ПРИЛОЖЕНИЕ, не лочит все свои буфера в памяти, и отдает, если они больше нужны другим.
Дурной привычки прочесывать без причины ВСЮ свою память, выталкивая ее в RAM, за ним не наблюдал.
Вполне нормально живет и работает, отожрав на 25 сессий (3 активных) около 1G SGA+PGA (по своей статиcтике), и при этом занимая в RAM около 150M. Просто ненужная память сбросилась в своп, и будет лежать там, пока не затребуется сессией.
Другое дело, если в настройках прописано лоченье SGA - тогда не отдаст.
...
Рейтинг: 0 / 0
Управление памятью
    #33007043
Фотография StalkerS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RAVEN
Оракл, как ПРИЛОЖЕНИЕ, не лочит все свои буфера в памяти, и отдает, если они больше нужны другим.

Каким образом он определяет, что память нужна кому-то другому ?
Вопрос в догонку: каким образом Оракл берет себе память из общесистемного пула ? Когда возникает потребность в дополнительных, скажем, 5 МВ, просто запрашивает их у системы ? А когда возвращает ?
RAVEN
Просто ненужная память сбросилась в своп

Какой смысл выталкивать данные в свопфайл, если есть доступная оперативка ?
...
Рейтинг: 0 / 0
Управление памятью
    #33007045
Yo!!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в 10ке есть автоматический тюнинг, задаешь максимальный размер SGA а он уже сам берет сколько надо в заданых пределах.
...
Рейтинг: 0 / 0
Управление памятью
    #33007057
Фотография StalkerS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>>а он уже сам берет сколько надо в заданых пределах

А когда отдает назад ?
...
Рейтинг: 0 / 0
Управление памятью
    #33007062
Yo!!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
StalkerS>>а он уже сам берет сколько надо в заданых пределах

А когда отдает назад ?

там все просто. при старте оракл жестко забирает память под буфера. их изменить можно командой alter system, автотюнинг это просто джоб который смотрит статистику и иногда выполняет alter system

http://www.oracle.com/technology/pub/articles/10gdba/week17_10gdba.html
...
Рейтинг: 0 / 0
Управление памятью
    #33007077
Фотография StalkerS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
там в статье вроде про деление памяти внутри адресного пространства Оракл между его компонентами. А меня интересовало именно взаимодействие сервера с операционной системой.

Т.е. задан верхний предел, в этом пределе сервер запрашивает себе память из общесистемного пула ? А если ему не весь обьем нужен, берет меньше ?
И все-таки, как он возращает память системе ? Положим, предел = 600 МВ. Через некоторое время серверу достаточно только 300 метров, остальные 300 метров возвращаются системе, или нет ?
...
Рейтинг: 0 / 0
Управление памятью
    #33007186
Yo!!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да оставит опереционке "лишние", у меня например сейчас 700 метров занято, хотя ораклу отдал 2.5 гига. но это имхо плохо, теперь жаба может отобрать у него память.
...
Рейтинг: 0 / 0
Управление памятью
    #33007557
Фотография StalkerS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хорошо, но как все-таки насчет моего первоначального вопроса ?
Предположим, есть гигабайт оперативки. Серверу задаем верхний предел в 700 метров. Сервер их все потребляет под свой внутренний кэш. Однако операционная система вдруг захотела, к примеру, 350 метров. Вопрос в том, отдаст-ли сервер 50 своих кровных мегобайт системе, что-бы не допустить ее свопинга ?
...
Рейтинг: 0 / 0
Управление памятью
    #33007894
Yo!!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нет конечно, взять или забрать решает ось, а не прикладуха. если ось решит то она у оракла ничего не спросит и свалит его в своп. а дальше уже идут навроты конкретной и к субд отношения имеет слабое.
...
Рейтинг: 0 / 0
Управление памятью
    #33008122
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StalkerS
Серверу задаем верхний предел в 700 метров. Сервер их все потребляет под свой внутренний кэш.

У Оракла есть структуры памяти SGA, и PGA. Под каждую пишется предел.
SGA - куда входит буферный кэш, в частности, является фиксированной. Поэтому речи об ее освобождении не идет. А PGA - другое дело. Там память используется серверными процессами, обслуживающими запросы. Там есть разные варианты. На 9 - ке можно задать верхний передел для всех сессий, но можно и для каждой. Кроме того, сессия может работать либо с выделенным сервером, либо с разделяемым. В случае выделенного по мере появления сессий берется память и освобождается по их завершении. В случае разделяекмого - указывается скока может быть серверных процессов на один диспечер. Там я не в курсе, всегда ли запущены все серверные. Но думаю память динамически выделяется и освобождается по мере работы. Есть еще стр-ра UGA. Она в случае выделенного входит в PGA, а разделяемого в SGA.
Т.е. SGA - фиксированная и не должна освобождаться, как я надеюсь. А PGA - динамическая.
У Оракла есть средства отслеживания здоровья БД за определенные периоды, на основе которых, можно понять завышено или наоборот занижено выделение памяти для его структур памяти.
Если под SGA длжно выделяться 400, а PGA - 300 из 700 Вами указанных, то я расчитываю, что 400 никогда не будет отдано. Потому что мне надо точно знать скока выполняются запросы у заказчика. А если там будет 200 вместо 400 в какой-то момент, а в какой-то 400, то это уже слишком. Хватит и того, что процессор кто-то левый может занять.
А серверны процесс, если недостаточно памяти - пусть лучше даст отказ на запрос, чем перейдет в своп. Пусть наращивают ресурсы. Из одной овчины семь шапок не сошешь.
Вообще сервер БД должен заниматься только БД у серьезного заказчика. Иначе доиграемся. Он будет свои телеги писать бесконечно.
...
Рейтинг: 0 / 0
Управление памятью
    #33009183
Фотография StalkerS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
более менее понятно. Вот оно - отличие тесно интегрированной с системой СУБД (это камень в огород кроссплатформенности ;).
MSSQL распоряжается памятью учитывая не только свои интересы, а очень динамично. Ему нет надобности указывать, типа жри не больше гигобайта. В Оракле, вы выделили память, а только потом пытаетесь определить, насколько удачно это получилось.
SQL-Server запрашивает память по мере необходимости, специальный механизм, lazywriter, регулярно обходит кэш и сбрасывает грязные страницы на диск, выкидывает из кэша ненужные планы запросов и т.д. Освободившаяся память отправляется в freelist, т.е. в дальнейшем может быть использована повторно. Но, если сервер видит, что операционка испытывает недостаток памяти, освободившаяся память идет не в freelist, а в общесистемный пул.
А интересно, в Оракл, если стоит гигобайт оперативной памяти, можно ему разрешить использовать, например, 950 метров ? И если он их все сожрет, как будет чувствовать себя система ?
Конечно, грамотный админ сумеет выделить память так, что-бы никого не обидить, только вот зачем ему заниматься той работой, которая может выполняться автоматически ?
...
Рейтинг: 0 / 0
Управление памятью
    #33009323
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник

>более менее понятно. Вот оно - отличие тесно интегрированной с системой СУБД (это камень в огород кроссплатформенности ;).



Када я отвечал, я знал, что это поиск камней в огород кроссплатформенности. А точнее в огород открытых технологий, поскольку переносимость БД на разные платформы важный признак таковых технолгий.
Но я не уверен, что это реальный камень в огород кросплатформенности, поскольку вряд ли такое управление памятью обусловленно кросплатфоменностью. Нет никаких трудностей на С выделять и освобождать память на многих платформах. И если надо, то, возможно, появится возможность выбирать фиксированная SGA или нет.
Я мог бы подкинуть Вам более подходящие аргументы такого рода в огород кросплатформенности. Но дело в том, кросплатформенность перевесит тысячи таких аргументов. Потому в литре эти аргументы практически не используются. Чаще они появляются как придумки в разных обоснованиях заинтересованных продвигать MS SQL решения фирм.

>Конечно, грамотный админ сумеет выделить память так, что-бы никого не обидить, только вот зачем ему заниматься той работой, которая может выполняться автоматически ?

Ну при установке БД Оракл сам выбирает исходя из размеров оперативки.
И в простых случаях - это прокатывает. Многие и не в курсах про Оракловые структуры памяти, используя его по несколько лет. И не тока разработчики, но и админы. А если не простые случаи, то тут уже не до других прог в оперативке - это уже какой-то критичный по ресурсам проект. Какие-нить сотни гигабайт с требованиями получать из них инфу в неск сек.
Кроме того, выбор оптимальной памяти не всегда есть задача чисто алгоритмическая. Нужно собирать статистику. Причем статистика статистике рознь. Например, если была закачка данных это одно, а если штатная работа другое. Плюс изменяющийся объем БД.
И на всю SGA никто не будет тратить всю оперативку, где тада будет PGA? А она динамическая. Базовая и пиковая - нормальный подход для использования ресурсов не тока в инфотехнологиях.
...
Рейтинг: 0 / 0
Управление памятью
    #33009390
Фотография StalkerS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfo
Но дело в том, кросплатформенность перевесит тысячи таких аргументов

Я по-моему, уже говорил, что кроссплатформенность - это плюс в основном чисто теоретический. Все равно Оракл стоит в большинстве случаев под юниксами. А система, ориентированная на одну платформу, берет все ее плюсы
vadiminfo
Ну при установке БД Оракл сам выбирает исходя из размеров оперативки.

Установка и реальная работа - две разные вещи. так что прокатывать будет и самом деле только в простых случаях.
vadiminfo
А если не простые случаи, то тут уже не до других прог в оперативке -

Дык другие проги в оперативке могут быть системными сервисами. Зажав их, обломаете и Оракл то-же, он ведь не в вакууме работает
...
Рейтинг: 0 / 0
Управление памятью
    #33009441
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StalkerS
Я по-моему, уже говорил, что кроссплатформенность - это плюс в основном чисто теоретический. Все равно Оракл стоит в большинстве случаев под юниксами. А система, ориентированная на одну платформу, берет все ее плюсы

Вы то может и говорили, но что это меняет? Есть общепризнанные вещи в инфотехнологиях. Неужели Вы верите, что кого-то в этом можно сегодня убедить? Время Эсэмэсок прошло. Кросплатформенность - это плюс практический и существенный. Оракл крутится на самых навороченных платформах. Вот у нас зарубежный заказчик потребовал, чтобы сервак крутился под OpenVMS. У нас все разработали практически на других платформах и у заказчика это работает. Эта система у нас крутится у разных заказчиков на 4-х платформах, включая Винды.
Ориентированность на одну платформу не гарантирует, как мы видим, взятия своего. Она, например, сама по себе никак не поможет блокировочнику ровняться с версионником.
Уверен, что будь MS SQL - кросплатформенным, Вы не искали доводов в пользу платформозависимых систем.

StalkerS
Установка и реальная работа - две разные вещи. так что прокатывать будет и самом деле только в простых случаях.

Не в самых простых, а простых в смысле отсутствия исключительных требований к ресурсам. Как правило, считается, что для большинства случаев, если специально коряво не настроили, настройками можно выиграть в общем не более 10% производительности. Основной выигрыш все равно
дает оптимизация логики приложения.
А там где нужны особые настройки, там уже врядли автоматизации хватит. Тут без интеллектуальных усилий не обойтись. Т.е. только алгоритмический способ, скорее всего, не поможет, а у нас же не системы искусственного интеллекта, чтобы обучаться.

StalkerS
Дык другие проги в оперативке могут быть системными сервисами. Зажав их, обломаете и Оракл то-же, он ведь не в вакууме работает

Системные сервисы - это не то, что должно быть ресурсоемким. По крайней мере, на серваке БД. Тогда такая ОС вообще для других целей предназначена, и родным СУБД тоже не поможет. Она им будет тока писать, про недопустимое обращение к памяти.
...
Рейтинг: 0 / 0
Управление памятью
    #33010130
Фотография Apex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне это все больше напоминает спор приверженцев Windows и Linux. Одни говорят: "Зачем думать? Все сделает компьютер", другие возражают: "Домохозяйкам думать и впрямь не надо, а мы думать обязаны."
-------------------------------------------------------
Автор благодарит алфавит за любезно предоставленные ему буквы.
...
Рейтинг: 0 / 0
Управление памятью
    #33011928
Фотография Fucker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Управление памятью
    #33012026
Фотография StalkerS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfo
Кросплатформенность - это плюс практический и существенный

Я уже обьяснял свою позицию :
Плюсы от кросплатформенности : можно не думать, куда ее поставят
Плюсы от некросплатформенности : более тесная интеграция с системой.
Каждый выбирает свой плюс ;)
vadiminfo
Ориентированность на одну платформу не гарантирует, как мы видим, взятия своего. Она, например, сама по себе никак не поможет блокировочнику ровняться с версионником.

Может и не гарантирует, зато много чего дает. А блокировочнику на версионника равняться надо только в определенных ситуациях, в других случаях, уже версионнику приходится равняться на блокировочник.
vadiminfo
А там где нужны особые настройки, там уже врядли автоматизации хватит. Тут без интеллектуальных усилий не обойтись. Т.е. только алгоритмический способ, скорее всего, не поможет

Не рассказывайте сказки. Если следовать вашим словам, то нам надо надевать шкуры, брать топоры и идти охотиться на мамонтов. Никакой техники, все вручную и надежно.
vadiminfo
Системные сервисы - это не то, что должно быть ресурсоемким.

Не так-уж и мало они потребляют. И априори заявлять, что оставив системе, положим, 50 МВ, и все будет в ажуре, довольно самонадеяно.
...
Рейтинг: 0 / 0
Управление памятью
    #33012030
Владимир Бегун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StalkerSПлюсы от некросплатформенности : более тесная интеграция с системой.Я не знаю как работает MS SQL Server, можно узнать как он интегрирован с MS
Windows -- например какие функциональные возможности OS он использует,
которые не использует Oracle на той же платформе? Каков выигрыш от
этого? В чём он выражается? Спасибо.
...
Рейтинг: 0 / 0
Управление памятью
    #33012153
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StalkerS
Плюсы от некросплатформенности : более тесная интеграция с системой.

Ну тада моя позиция: такой плюс, с одной стороны, говорит о недостатках ОС, так ее задача обеспечить всем приложениям максимальные возможности в силу ее основного назначения, с другой, - о сильной зависимости модулей системы СУБД от ОС. Это противоречит принципам модульной декомпозиции системы в целом. Теперь что-то поменять в ОС (пропатчить), можно ждать сюрпризов от СУБД?

StalkerS
А блокировочнику на версионника равняться надо только в определенных ситуациях, в других случаях, уже версионнику приходится равняться на блокировочник.

Думаю, что эти определенные ситуации, когда блокировочнику на версионника равняться надо, составляют практически все возможные ситуации, и другие ситуации носят скорее искусственный характер. И MS SQL рано или поздно полностью перейдет в версионники, если к тому времени не появится каких-то более эффективных моделей транзакций.

StalkerS
Не рассказывайте сказки. Если следовать вашим словам, то нам надо надевать шкуры, брать топоры и идти охотиться на мамонтов. Никакой техники, все вручную и надежно.

Вы в курсе, что есть задачи искусственного интеллекта? Это те что плохо поддаются алгоритмическуму решению. Для них разрабатывают всякие нейронные сети и проч. А наши компы - практически компы фон Неймана. Потому все еще нуждуются в естественном интеллекте при управлении.
К примеру, оптимизатор может не знать каких-то особенностей распределения данных по значениям, знание о которых может играть роль для выбора наиболее оптимального плана запроса. Ведь системе чтобы это "узнать" нужно не просто просканировать таблы, но и проанализировать значения (например мат статистику какую-то хотя бы провести). А разработчик может знать это еще до появления самих данных в БД.
А уж как Винды настраиваются, я в курсе - "Приложение обратилось к недопусимой область памяти" - все свободны.
Более того, нас учили в институте (сказки рассказывали), что любая прога обязана иметь ошибки. (на самом деле теория надежности исходит из обязательности отказов). Т.е. исходить надо из этого. И потому возможности ручнуго управления сложной системы (а СУБД считаются сложными) на многие случаи - всегда плюс.


StalkerS
Не так-уж и мало они потребляют. И априори заявлять, что оставив системе, положим, 50 МВ, и все будет в ажуре, довольно самонадеяно.

Хорошо, оставлю больше. Память не миллионы баксов стоит.
...
Рейтинг: 0 / 0
Управление памятью
    #33012436
Калина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторПолучается, ответ выглядит так : распределением занимается только админ.
А кто у вас вообще занимается настройкой сервера? Из ваших постов я делаю вывод, что админ - абсолютно лишняя штатная единица.
В моей организации - работа БД должна быть непрерывной , мне абсолютно неинтересны задачи на сервере, которые могут негативно сказаться на производительности БД , я не считаю, что БД поддерживающая бизнес процессы, должна делиться с какими-бы то нибыло приложениями своими ресурсами, для таких приложения есть отдельные сервера , кроме кривых рук администратора я вообще невижу ситуаций, когда система вдруг потребует от Oracle освободить память или выкинуть Oracle в своп.
...
Рейтинг: 0 / 0
Управление памятью
    #33014360
Владимир Бегун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Бегун StalkerSПлюсы от некросплатформенности : более тесная интеграция с системой.Я не знаю как работает MS SQL Server, можно узнать как он интегрирован с MS
Windows -- например какие функциональные возможности OS он использует,
которые не использует Oracle на той же платформе? Каков выигрыш от
этого? В чём он выражается? Спасибо.Не нужно искать конкретные имена функций ядра (документированные
или нет, неважно), моё любопытство удовлетворят хотя бы основные
функциональные элементы, которые использует MS SQL Server и не
использует Oracle на Windows. В чём она эта "интеграция"? Спасибо.
...
Рейтинг: 0 / 0
Управление памятью
    #33014373
Фотография StalkerS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Бегун
Я не знаю как работает MS SQL Server, можно узнать как он интегрирован с MS Windows -- например какие функциональные возможности OS он использует,

К примеру, тема этого топика. SQL-Server и операционная система, общаясь напрямую, вырабатывают разумную стратегию использования оперативной
памяти.
Далее, в SQl-Server есть такое понятие как Windows Authentication. Это означает, что пользователи имеют возможность подключаться к серверу без ввода дополнительных логинов и паролей к серверу, а на основе логинов операционной системы. Т.е. мне достаточно пройти аутентификацию при входе в Windows, и я автоматически получаю возможность подключения к SQL-Server (для этого, разумеется, надо сообщить серверу, что такой-то Windows-логин имеет такое право). Такая возможность позволяет не только упростить взаимодействие с сервером конечных пользователей (не надо 2 раза вводить логин с паролем), но и упростить администрирование. К примеру, достаточно указать серверу, что например Windows-группа "Бухгалтеры" имеет право на подключение к серверу и задать ей соответствующие привелегии в базе.ФСЕ !Теперь этой группой можно управлять (добавлять/удалять/временно отключать логины, управлять настройками типа длины пароля, срока его действия и прочей ботвы) напрямую в оснастке Windows, не внося никаких изменений на самом сервере.
Разумеется, если по каким-то причинам вы не желаете пользоваться такой возможностью, (например бухгалтеры вам мало денег насчитывают), то можно работать в mixed mode, т.е. заставит их напрямую указывать логин с паролем.

Интеграция с системным монитором. SQL-Server интегрирует туда свои счетчики, что позволяет контролировать его не только из встроенного Profiler'a, но и напрямую из системного монитора. Это удобно для комплексного анализа работы системы в целом.
Анологично, можно заставить SQL-Server Agent реагировать на оповещения операционной системы (рассылкой e-mail, запуском какой-нибудь хранимой процедуры и пр.)

Ну и дальше в том-же духе.

vadiminfo
Думаю, что эти определенные ситуации, когда блокировочнику на версионника равняться надо, составляют практически все возможные ситуации, и другие ситуации носят скорее искусственный характер

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

именно поэтому планы запросов можно править руками. Хотя мне кажется, что недалек тот день, когда эту возможность уберут за ненадобностью.
vadiminfo
А уж как Винды настраиваются, я в курсе - "Приложение обратилось к недопусимой область памяти" - все свободны.

Издеваетесь что-ли ? А сообщение segmentation fault вам ничего не говорит ?
vadiminfo
Более того, нас учили в институте (сказки рассказывали), что любая прога обязана иметь ошибки.
...
И потому возможности ручнуго управления сложной системы (а СУБД считаются сложными) на многие случаи - всегда плюс.

а вас не учили в институте, что любой человек тоже обязан иметь ошибки ?
Еще раз повторю : настройка управления памятью как раз есть, вот только пользоваться ей не нужно, за исключением случаев, когда нужна оптимизация под условия, о которых сервер не может знать. При штатной работе сервер все распределит сам, и получше, чем вы руками.
Калина
Из ваших постов я делаю вывод, что админ - абсолютно лишняя штатная единица

Где у меня такое написано ?
Калина
я не считаю, что БД поддерживающая бизнес процессы, должна делиться с какими-бы то нибыло приложениями своими ресурсами

какие бизнес приложения ? я говорил про память, необходимую для фунциклирования системы и системных сервисов
...
Рейтинг: 0 / 0
Управление памятью
    #33014379
Владимир Бегун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StalkerS[quot Владимир Бегун]
Я не знаю как работает MS SQL Server, можно узнать как он интегрирован с MS Windows -- например какие функциональные возможности OS он использует,

StalkerSК примеру, тема этого топика. SQL-Server и операционная
система, общаясь напрямую, вырабатывают разумную стратегию использования оперативной памяти.

Я не увидел довода в пользу MS SQL Server связки Windows.

StalkerSДалее, в SQl-Server есть такое понятие как Windows Authentication. Это означает, что пользователи имеют возможность подключаться к серверу без ввода дополнительных логинов и паролей к серверу, а на основе логинов операционной системы.

Подобное существует и в Oracle.

StalkerSно и упростить администрирование. К примеру, достаточно указать серверу, что например Windows-группа "Бухгалтеры" имеет право на подключение к серверу и задать ей соответствующие привелегии в базе.

Это иногда удобно.

StalkerSИнтеграция с системным монитором. SQL-Server интегрирует туда свои счетчики, что позволяет контролировать его не только из встроенного Profiler'a, но и напрямую из системного монитора. Это удобно для комплексного анализа работы системы в целом.

Согласен, такая штука есть и для Oracle.

StalkerSАнологично, можно заставить SQL-Server Agent реагировать на оповещения операционной системы (рассылкой e-mail, запуском какой-нибудь хранимой процедуры и пр.)

В Oracle есть возможности делать тоже самое используя другие средства.

StalkerSНу и дальше в том-же духе.
"Дух" понятен. Разговор превращается в беспредметный. Спасибо.
...
Рейтинг: 0 / 0
Управление памятью
    #33014405
Владимир Бегун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
60634.1 -- To be used as a guide for setting up basic O/S Authentication on Windows NT.
122515.1 -- Setup O/S Authentication Using Oracle Administration Assistant

Про мониторинг лень искать (я не работаю с Windows поэтому могу быть
не up to date с этими вещами).

Здесь есть кто-то, кто понимает работу ядра MS SQL Server и может
рассказать о концептуальных приемуществах использования MS SQL Server
на Windows платформе -- в ключе "интергации" database (kernel) - OS?
Код: plaintext
1.
2.
-- 
The statements and opinions expressed here are my
own and do not necessarily  represent those of Oracle.
...
Рейтинг: 0 / 0
Управление памятью
    #33014427
Фотография stdio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир БегунЗдесь есть кто-то, кто понимает работу ядра MS SQL Server и может
рассказать о концептуальных приемуществах использования MS SQL Server
на Windows платформе -- в ключе "интергации" database (kernel) - OS?Ну... Эта... Как его... Оно всё интегрировано... Одна же корпорация... Перформанс...
...
Рейтинг: 0 / 0
Управление памятью
    #33014452
Владимир БегунПро мониторинг лень искать (я не работаю с Windows поэтому могу быть
не up to date с этими вещами).

Помогу немного :)
Note:166598.1 Using NT Performance Monitor with Oracle 8i
...
Рейтинг: 0 / 0
Управление памятью
    #33014467
Yo!!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
автор Ну... Эта... Как его... Оно всё интегрировано... Одна же корпорация... Перформанс...

:)
...
Рейтинг: 0 / 0
Управление памятью
    #33014557
Фотография StalkerS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Бегун
Я не увидел довода в пользу MS SQL Server связки Windows.
...
Это иногда удобно

OK

Мне кажется, или те вещи, которые есть в Оракл, признаются нужными и полезными, а отсутствующие - автоматически ненужными, а аргументы неубедительными ?

Найти различия в работе ядра задача нетривиальная. Но они есть, иначе как обьяснить отставание 10g от mssql на виндовой платформе. Это видно по тестам tpc.
...
Рейтинг: 0 / 0
Управление памятью
    #33014587
Владимир Бегун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StalkerSМне кажется, или те вещи, которые есть в Оракл, признаются нужными и полезными, а отсутствующие - автоматически ненужными, а аргументы неубедительными ?
Довода не понял. Я спросил конкретную вещь. В ответ получил спискок
свойств предмета обсуждения. Обратным аргументом был списко свойств
(похожих) другого предмета обсуждения. Множества в той или иной мере
совпали. Да в MS SQL Server лучше сделана "интергация" инструментов
работы с MS Windows. Но я спрашивал о другом.

StalkerSНайти различия в работе ядра задача нетривиальная.
Довод принят. Поэтому я и спрашивал у тех кто знает. Чтобы не выслушивать
голословных утверждений об "интеграции".
StalkerSНо они есть, иначе как обьяснить отставание 10g от mssql на
виндовой платформе. Это видно по тестам tpc.
Это высказывание напоминает следущий диалог:

http://www.exler.ru/films/05-07-2000.htm
"
- Меня жена с тещей пытались засадить в психушку.
- За что?
- За принципы.
- Какие?
- Вон видишь суслика?
- Нет.
- И я не вижу. Но он ЕСТЬ!
"

Давай так, если тебе есть что сказать по "интеграции" database kernel -
OS -- я с удовольствием выслушаю, я готов узнать что-то новое и интересное.
Если нет... не нужно из пустого в порожнее перелевать твои собственные
"знания о предмете".
...
Рейтинг: 0 / 0
Управление памятью
    #33014659
Владимир Бегун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Взято из xls файлов (http://www.tpc.org/information/results_spreadsheet.asp)
Рассматривались только одинаковые (либо близкие) "железки" и OS:
TPC-CCompanySystemSpec. RevisiontpmC$/tpmCTotal Sys. CostCurrencyDatabase Software Operating System TP MonitorServer CPU Type# Server CPU'sCluster# Front EndsDate SubmittedAvailability DateUnisys Unisys ES7000 Aries 420 Enterprise Server 5.1309036.534.491384981US $ Microsoft SQL Server 2000 Enterprise Edition Microsoft Windows Server 2003 Datacenter Edition 64-bit Microsoft COM+ Intel Itanium2 1.5GHz 16N81/20/20041/30/2004Unisys Unisys ES7000 Aries 420 Enterprise Server 5.22914134.981448706US $ Oracle Database 10g Enterprise Edition Microsoft Windows Server 2003 Datacenter Edition 64-bit Microsoft COM+ Intel Itanium2 1.5GHz 16N85/11/200410/25/2004

TPC-HCompanySystemSpec. RevisionScale FactorQphHPrice Perf.($/QphH)Total Sys. CostCurrencyDatabase SoftwareOperating SystemCPU Type# CPU'sClusterDate SubmittedAvailability DateUnisys Unisys ES7000 Aries 420 Enterprise Server 2.110009853.367.93669239US $ Oracle Database 10g Enterprise Edition Microsoft Windows Server 2003 Datacenter Edition 64-bit Intel Itanium2 1500MHz 16N8/13/200411/30/2004Unisys Unisys ES7000 Aries 420 Enterprise Server 210005199.1119.12619308US $ Microsoft SQL Server 2000 Enterprise Ed. 64-bit Microsoft Windows Server 2003 Datacenter Edition 64-bit Intel Itanium2 1.5GHz 16N10/15/200310/15/2003
Мне слабо видиться возможность судить о тесной интеграции MS SQL Server
с MS Windows против Oracle на MS Windows базируясь только на результатах
этих тестов -- http://www.tpc.org/tpcc/faq.asp
...
Рейтинг: 0 / 0
Управление памятью
    #33014682
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StalkerS
мы с вами это уже обсуждали, повторяться ей-богу неохота

Тем более, мы тогда ничего не нашли особого в пользу блокировочника, не найдем и при повторе.

StalkerS
А сообщение segmentation fault вам ничего не говорит ?

Возможно, это лишний довод в пользу того, что ручное управление - это не то, от чего стоит отказываться раз и на всегда в наше время.

StalkerS
Еще раз повторю : настройка управления памятью как раз есть, вот только пользоваться ей не нужно, за исключением случаев, когда нужна оптимизация под условия, о которых сервер не может знать. При штатной работе сервер все распределит сам, и получше, чем вы руками.

При штатной работе вроде тоже нет строгой зависимости от увеличения памяти в выигрыше при использовании алгоритмов кеширования. Действительно, она может искать в большом объеме то, чего заведомо нет. Пусть лучше в меньшем ищет. Для выбора оптимальных размеров нужно собирать статистику во времени. Т.е. не тока сервер, но и компьютерная наука может еще не все знать, иначе бы давно сделали самый совершенный сервер.
А что касается операций, у которых такая зависимость просматривается, то там имеет место захват и освобождеение памяти (PGA).
Да и многие парни настройками вообще и памяти, в частности, не замарачиваются. Т.е. явная необходимость заниматься настройкой памяти не частое явление в жизни ораклиста.

StalkerS

а вас не учили в институте, что любой человек тоже обязан иметь ошибки ?

Так это одно и тоже - проги то челы пишут.

StalkerS
При штатной работе сервер все распределит сам, и получше, чем вы руками.


Смотря что за алгоритмы. И тем более хто писал их, ошибаясь. Нет строгой зависмости. Т.е. может случиться, что увеличение некоторых структур памяти на 50-100Мб и больше может дать и проигрыш в некоторых случаях, а выигрыш даст, наприме, тока увеличение на 1 Гб. Т.е. алгоритмы автоматизирующие могут оказаться сложными и временемкими, и требовать для своих вычислений статистики собранной за некоторое время. А в это время могла быть закачка данных - редкая опреация, которая однако всю статистику увела в другую сторону.

Иными словами Вы должны представить все алгоритмы, например, при кешировании и доказать, что есть успешные алгоритмы управления памятью, учитвающие все это. И выигрыш и все нужно в цифрах привести. Иначе утверждение в Вашем посту слишком сильное, хотя и льстящее успехам в области алгоритмов.

А так в общем случае, тоже повторю, что редко сталкивался со случаями када парни после того как настроили мастером все параметры по умолчанию, а то и выбрали чего для пробы (типа смутно догадываясь о чем их мастер спрашивает) при установке Оракла БД, и чтобы потом надо было настраивать память руками. Они часто просто не в курсах про структуры памяти. И думаю, Оракл бы еще посоревновался в производительности, не смотря на это.
И, надеюсь, Вы не будете говорить, что при установке MS SQL Server ничего непонятного непосвященным не надо выбирать, и он автоматически потом исправит, если выбрали не то что надо.

В литре не встречал ничего про недостатки Оракла при управлении памятью.
Скажите честно. Это Вы специально придумали такую проблему, чтобы разыграть? Сбить с толку? Чтобы потом смешнее было?
...
Рейтинг: 0 / 0
Управление памятью
    #33016830
Фотография StalkerS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Бегун
Мне слабо видиться возможность судить о тесной интеграции MS SQL Server с MS Windows против Oracle на MS Windows базируясь только на результатах

какие-то интересные у вас доводы. Привели 2 разных теста и сделали вывод.
В свете выяснения кто как работает на виндовой платформе, как раз более логично сравнивать работу систем на одинаковых тестах. В TPC-C есть сравнение mssql и oracle на одинаковых платформах, но с разными операционными системами.
В случае "Unisys ES7000 Aries 420 Enterprise Server" Оракл стоит на Windows, и отстает по тестам от mssql на 6%, в случае "HP Integrity Superdome", оракл уже на unix'e, и опережает mssql на 22%.

Можно-ли на основе этого сделать однозначный вывод о причинах ? Вряд-ли. Тут я с вами согласен. Зато можно сделать предположение с достаточно высокой степенью вероятности, что одна из причин этого - в платформе.

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

ладно, развели мы тут флейм не по теме.
vadiminfo
Тем более, мы тогда ничего не нашли особого в пользу блокировочника, не найдем и при повторе.

То, что вы пропускали мои ответы мимо ушей, не значит, что мы нашли какие-то доводы ;)
Хорошо, можно попробовать еще раз. Только на этот раз давайте так: дайте мне четкий и однозначный ответ на следующий вопрос - Согласны ли вы, что изменяющая данные транзакция создающая версии изменяемых данных, будет работать медленнее, чем аналогичная, но не создающая никаких версий ? (напомню, речь идет о Yukon).
Ответ просьба дать в виде "Согласен" или "Не согласен"

По поводу алгоритмов и пр. Я, честно говоря, не совсем понимаю, что именно вы мне доказываете. То, что алгоритмы не могут быть совершенными ? Я с этим не спорил. То, что иногда надо руками указывать серверу, как себя вести, если сервер не может знать того, что знаете вы ? Все верно. То, что алгоритмы это зло, и их надо избегать ? Не соглашусь, впрочем и вы наверняка с этим спорить не будете.
Поэтому для меня странно, что вы так яростно спорите по поводу автоматической дележки памяти. Ну не нравиться, так установите все руками, и поработайте некоторое время. Больше чем убежден, что быстро убедитесь в необходимости отдать брозды правления обратно серверу.
Ведь я не спорю с тем, что сервер не всегда делает все правильно. Но почему вы не хотите принять, что в подавляющем большинстве случаев именно серверу виднее, и более того, на какие-то форс-мажорные обстоятельства он отреагирует, мягко говоря, побыстрее вас.
vadiminfo
и требовать для своих вычислений статистики собранной за некоторое время. А в это время могла быть закачка данных - редкая опреация, которая однако всю статистику увела в другую сторону.

;)
SQL-Server сам умеет обновлять статистику. Причем делает это тоже по не сильно простым алгоритмам. Такая опция включена по умолчанию, и ее тоже, как и в случае с памятью, трогать не рекомендуется. Хотя все равно можно обновить вручную.
При изменении значений в таблицах, сервер определяет, как сильно такие изменения влияют на статистику, и принимает соответствующие решения.
vadiminfo
Скажите честно. Это Вы специально придумали такую проблему, чтобы разыграть? Сбить с толку? Чтобы потом смешнее было?

Я всего-лишь разбираясь с принципами работы сервера с памятью, решил поинтересоваться, как с этим обстоят дела в Оракл, и задать один вопрос. Можете мне поверить, что обсуждать тесты tpc и машины Фон Неймана я не собирался. Но не сдержанный йа ;)
...
Рейтинг: 0 / 0
Управление памятью
    #33016896
Фотография Apex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StalkerS
Я всего-лишь разбираясь с принципами работы сервера с памятью, решил поинтересоваться, как с этим обстоят дела в Оракл, и задать один вопрос. Можете мне поверить, что обсуждать тесты tpc и машины Фон Неймана я не собирался. Но не сдержанный йа ;)

А что вас собственно удивляет? Да, вы спросили: "Может?" - вам ответили: "Не может." Вы недоумеваете: "Чё за отстой???", вам отвечают: "Никакого отстоя, на практике это не нужно."
...
Рейтинг: 0 / 0
Управление памятью
    #33016976
Фотография RA\/EN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мои 5 копеек...

Управление памятью надо изучать по книжкам об архитектуре Windows (в Unix - ПОЧТИ также, для просвещения рекомендую узнать, что такое Portable Operating System Interface (POSIX®) ).

Кросплатформенностью можно "меряться" в сегменте Enterprise, куда MSSQL слегка не дотягивает. Опять же, если у предприятия IT-система уровня Enterprise, но одна OS (копроративный стандарт) то тут кросплатформенность не применима.
Остальных случаях это, ето МАРКЕТИНГОВОЕ, а не ТЕХНОЛОГИЧЕСКОЕ преимужество.
Если выпустить DB под ZX-Spectrum, XENIX и Atari - будете ли Вы указывать ее кросплатформенность как преимущество? А вот на Мухозасиденских островах, где 3 компа, и на каждом одна из этих операционок - это ОГРОМНОЕ преимущество продукта. Особенно, если это офшор с многоярдовым оборотом (в день).
Так что кросплатформенность применима только к рынку и маркетингу, но не к технологиям.
...
Рейтинг: 0 / 0
Управление памятью
    #33017014
Владимир Бегун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StalkerS Владимир Бегун
Мне слабо видиться возможность судить о тесной интеграции MS SQL Server с MS Windows против Oracle на MS Windows базируясь только на результатах

какие-то интересные у вас доводы. Привели 2 разных теста и сделали вывод.

Я повторю свой оригинальный вопрос: "Я не знаю как работает MS SQL Server,
можно узнать как он интегрирован с MS Windows -- например какие
функциональные возможности OS он использует, которые не использует Oracle
на той же платформе?"

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

StalkerSВ свете выяснения кто как работает на виндовой платформе, как раз более логично сравнивать работу систем на одинаковых тестах. В TPC-C есть сравнение mssql и oracle на одинаковых платформах, но с разными операционными системами.

Мне неинтересно это делать. Я задал один вопрос -- ты развёл демагогию.

StalkerSВ случае "Unisys ES7000 Aries 420 Enterprise Server" Оракл стоит на Windows, и отстает по тестам от mssql на 6%, в случае "HP Integrity Superdome", оракл уже на unix'e, и опережает mssql на 22%.

Прочитай TPC FAQ, я не зря дал ссылку, прочитай и перечитай всё то что
ты написал.

StalkerSМожно-ли на основе этого сделать однозначный вывод о причинах ? Вряд-ли. Тут я с вами согласен. Зато можно сделать предположение с достаточно высокой степенью вероятности, что одна из причин этого - в платформе.

Ты не сказал ничего нового. Я спросил об этом пару дней назад, подчернув,
что мне не интересна демагогия и предположения -- ты занимаешься mssql --
объясни мне какая такая интеграция делает (не всегда, разумеется) mssql
сервер быстрее?

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

Я не делаю "жестких" выводов о недостатках или приемуществах, я выясняю то
что мне интересно, я задаю вопросы.

Пример с памятью... в каких ситуациях ядро RDBMS должно отдавать память
OS? По какой причине? Почему на сервере базы данных кроме RDBMS крутиться
что-то ресурсоёмкое? Это ресурсоёмкое run-away server side process? Почему
он не ограничен в потреблении ресурсов? Кто-то считал чего стоит такое
поведение сервера если более одного процесса начинают "memory race"? Почему
это выгодно? Насколько это адаптивно? Где об этом можно, кто делал такой
анализ? Вопросов больше чем ответов. Не нужно на них отвечать здесь, я не
уверен что ты знаешь ответы -- а читать о твоих догадках мне не интересно.
...
Рейтинг: 0 / 0
Управление памятью
    #33017059
Фотография StalkerS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Бегун
Мне неинтересно это делать
...
а читать о твоих догадках мне не интересно

А зачем вы вообще тогда участвуете в дискуссии, если вам ничего не интересно ?
Владимир Бегун
объясни мне какая такая интеграция делает (не всегда, разумеется) mssql сервер быстрее?

Про память пример вас не убеждает, полагаю, не убедит и сотня других причин, которые посидев с месяц в инете, можно накопать.
Владимир Бегун
Почему на сервере базы данных кроме RDBMS крутиться что-то ресурсоёмкое?

хотя-бы потому, что на компьютере может работать ДВА (и более) sql-server'a.
Владимир Бегун
Кто-то считал чего стоит такое поведение сервера если более одного процесса начинают "memory race"? Почему это выгодно? Насколько это адаптивно?

принимается во внимание ряд факторов, типа Life Expectancy страниц. В частности, это напрямую влияет на обьем памяти, который сервер оставляет операционке. И почитать об этом и многом другом можно у Кален Дилейни. Только зачем ? Вас это не в чем не убедит.


that's all. I'm not going to talk to person who doesn't respect other people. Sorry for possible sintax mistakes, I'm not cool american guy like some people here.
...
Рейтинг: 0 / 0
Управление памятью
    #33017065
StalkerSthat's al...
...
Рейтинг: 0 / 0
Управление памятью
    #33017163
Владимир Бегун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ISBN: 0735609985Part II Architectural Overview
Chapter 3 SQL Server Architecture

Managing Memory

One of the major goals of SQL Server 2000 was to scale easily from a laptop
installation on Windows 98 to an SMP server running on Windows 2000 DataCenter
Server. This ability to scale requires a robust policy for managing memory. By default,
SQL Server 2000 adjusts its use of system memory to balance the needs of other
applications running on the machine and the needs of its own internal components.
These other applications can include other instances of SQL Server running on the
same machine.


When determining the optimal amount of memory to dynamically allocate to SQL
Server, the memory manager strives to keep at least 4 MB of memory completely free
and available for the operating system, but it might try to keep more available. The
amount of free space reserved for the operating system is partially determined by the
average life expectancy of a page in cache. The memory manager determines a Life
Expectancy value that indicates how many seconds, on average, a page stays in
cache if it isn't referenced at all. Performance Monitor has a counter that allows you
to view the current Life Expectancy value. That value is of course only an estimate,
and it's based on the speed at which the lazywriter checks for referenced pages and
the total amount of memory available. (I'll talk about the lazywriter later in this
section.) If the average Life Expectancy of a page is small, the memory manager tries
to keep the reserve memory at about 4 MB to increase the amount of memory
available to SQL Server. If the average Life Expectancy increases, the space reserved
for the operating system increases to up to 10 MB and the total memory for SQL
Server decreases. All instances of SQL Server on a single machine tend to work
toward the same reserve value and a similar Life Expectancy value.

As an alternative to dynamically computing the total amount of memory, you can
configure SQL Server to use a fixed amount of memory.
Whether memory
allocation is fixed or dynamically adjusted, the total memory space for each instance
is considered one unified cache and is managed as a collection of various pools with
their own policies and purposes. Memory can be requested by and granted to any of
several internal components.

источник тот же

SQL Server Configuration Settings

....
min server memory and max server memory By default, SQL Server automatically
adjusts the total amount of the memory resources it will use. However, you can use
the min server memory and max server memory configuration options to take manual
control. The default setting for min server memory is 0 (MB), and the default setting
for max server memory is 2147483647. If you use the sp_configure stored
procedure to change both of these options to the same value, you basically take full
control and tell SQL Server to use a fixed memory size. This mimics the memory
configuration behavior prior to SQL Server 7.
You can also use SQL Server
Enterprise Manager to set a minimum and maximum value for memory, using the
Memory tab of the SQL Server Properties dialog box (shown in Figure 17-2). To bring
up the dialog box, right-click on the name of your server and then choose
Properties.


TPC Benchmark™ C Full Disclosure Report/Unisys ES7000 Aries 420 Enterprise Server (16P)
using Microsoft SQL Server 2000 Enterprise Edition (64-bit) on
Microsoft Windows Server 2003, Datacenter Edition for 64-bit Itanium-based Systems
nameminimummaximumconfig_valuerun_valuemax server memory (MB)4 2147483647126000126000min server memory (MB)0 214748364700



TPC Benchmark™ H Full Disclosure Report/Unisys ES7000 Aries 420 Enterprise Server using
Microsoft SQL Server 2000 Enterprise Edition 64-bit on Microsoft Windows
SQL Server 2000 Enterprise Edition 64-bit Parameter Settings
nameminimummaximumconfig_valuerun_valuemax server memory (MB)4 21474836476200062000min server memory (MB)021474836476000060000

TPC-H is an ad-hoc, decision support benchmark.
Summary
The TPC Benchmark™H (TPC-H) is a decision support benchmark. It consists of a
suite of business oriented ad-hoc queries and concurrent data modifications. The
queries and the data populating the database have been chosen to have broad
industry-wide relevance. This benchmark illustrates decision support systems that
examine large volumes of data, execute queries with a high degree of complexity, and
give answers to critical business questions.

The performance metric reported by TPC-H is called the TPC-H Composite
Query-per-Hour Performance Metric (QphH@Size), and reflects multiple aspects of
the capability of the system to process queries. These aspects include the selected
database size against which the queries are executed, the query processing power
when queries are submitted by a single stream, and the query throughput when
queries are submitted by multiple concurrent users. The TPC-H Price/Performance
metric is expressed as $/QphH@Size.

Владимир Бегунмоё любопытство удовлетворят хотя бы основные функциональные элементы,
которые использует MS SQL Server и не использует Oracle на Windows. В чём
она эта "интеграция" Каков выигрыш от этого? В чём он выражается?

Отвечаю сам себе:

- интергация -- активная работа с OS. Моё подозрение -- подход может быть неээфективным при пиковых нагрузках
- выигрыш - неопределён, зависит от использования прочих приложений
- выражается в to scale easily from a laptop installation on Windows 98 to
an SMP server running on Windows 2000 DataCenter Server.


Я думаю что "светлая цель" иметь на сервере другие приложения, которые
имеют требования к потреблению памяти, заставляющие ядро базы отдавать
её обратно может вызвать справедливаое недоуменее. Думаю не только у
меня одного.

ISBN: 0735609985./The SQL Server Kernel and Interaction with the Operating System

The SQL Server kernel is responsible for interacting with the operating system. It's a
bit of a simplification to suggest that SQL Server has one module for all operating
system calls, but for ease of understanding, you can think of it in this way. All
requests to operating system services are made via the Win32 API and C run-time
libraries. When SQL Server runs on Windows NT/2000, it runs entirely in the Win32
protected subsystem. Absolutely no calls are made in Windows NT/2000 Privileged
Mode; the calls are made in User Mode. This means that SQL Server cannot crash the
entire system, it cannot crash another process running in User Mode, and other such
processes cannot crash SQL Server. SQL Server has no device driver-level calls, nor
does it use any undocumented calls to the operating system. If the entire system
crashes (giving you the so-called "Blue Screen of Death") and SQL Server happens to
have been running there, one thing is certain: SQL Server did not crash the system.
Such a crash must be the result of faulty or incompatible hardware, a buggy device
driver operating in Privileged Mode, or a critical bug in the Windows NT/2000 operating
system code (which is doubtful).

Competitors have occasionally, and falsely, claimed that SQL Server must have
special, secret hooks into the operating system. Such claims are likely the result of
SQL Server's astonishing level of performance. Yes, it is tightly integrated with the
operating systems on which it runs. But this integration is accomplished via
completely public interfaces—there are no secret "hooks" into the operating system.
Yes, the product is optimized for Windows NT/2000. That's SQL Server's primary
platform. But other products could also achieve this level of optimization and
integration if they made it a chief design goal. Instead, they tend to abstract away
the differences between operating systems. Of course, there's nothing wrong with
that. If Microsoft had to make sure that SQL Server could run on 44 different
operating systems, it might also take a lowest-common-denominator approach to
engineering. To do anything else would be almost impossible. So although such an
approach is quite rational, it is in direct conflict with the goal of fully exploiting all
services of a specific operating system. Since SQL Server runs exclusively on
Microsoft operating systems, it intentionally uses every service in the smartest way
possible.

A key design goal of both SQL Server and Windows NT is scalability. The same binary
executable files that run on notebook computer systems run on symmetric
multiprocessor super servers with loads of processors. Windows NT/2000 is an ideal
platform for a database server because it provides a fully protected, secure, 32-bit
environment. The foundations of a great database server platform are preemptive
scheduling, virtual paged memory management, symmetric multiprocessing, and
asynchronous I/O. The operating system provides these, and SQL Server uses them
fully. The SQL Server engine runs as a single process on Windows NT/2000. Within
that process are multiple threads of execution. The operating system schedules each
thread to the next processor available to run one.

Да, речь везде и у всех о всё том же scalability... делимся ресурсами активно
общаясь с OS -- это тоже решение, лучше оно или хуже можно выяснить только
действительно запуская несколько MS SQL Server instances на одной машине
меняя workload можно ещё и в игрушки поиграть...

Я не понимаю почему нельзя было просто дать все эти ссылки в начале разговора, но разводить демагогию...
...
Рейтинг: 0 / 0
Управление памятью
    #33017168
Владимир Бегун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/architec/8_ar_sa_40vt.asp
...
Рейтинг: 0 / 0
Управление памятью
    #33017199
Владимир Бегун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://blogs.msdn.com/slavao/archive/category/9005.aspx -- очень хорошая подборка.

External Memory pressure: RM and Buffer Pool

From SQLOS perspective Buffer Pool is a single page allocator - extensively used
memory manager. External memory pressure is signaled by Windows. RM wakes up
and broadcasts corresponding notification to clerks. Upon receiving the notification BP
recalculates its target commit, amount of physical memory BP is allowed to consume.
Keep in mind that target commit can't be lower than configuration parameter
specified through sp_configure min server memory and can't be higher of max server
memory. If new target commit is lower than currently committed buffers, BP starts
shrinking until external physical memory pressure disappears. During this process BP
tries to decommit or in case of AWE free physical memory back to OS. Remember
that in SQL2000 BP didn't react to physical memory pressure when running in AWE mode.


Вот интересное замечание:
http://www.windowsitpro.com/Articles/Print.cfm?ArticleID=37890
Enabling AWE has no effect if your server has less than 4GB of RAM. By default,
Windows is limited to 4GB of physical memory. However, by leveraging Physical
Address Extensions (PAE), Win2K AS can support 8GB of memory, and Windows
Datacenter Server can support 64GB. You invoke PAE by including the /PAE switch in
the boot.ini file. However, each 32-bit process usually has access to only 2GB of
address space. To let processes allocate more physical memory than can be
addressed by the 2GB of address space, Microsoft created AWE. These extensions
permit the allocation and use of up to the amount of physical memory the OS
supports.

Most people use AWE in conjunction with the /PAE switch to let SQL Server take
advantage of physical memory greater than 4GB. Using AWE without /PAE lets SQL
Server access as much as 4GB of physical memory. With AWE enabled, SQL Server by
default allocates almost all memory during startup , leaving 256MB or less free. This
memory is locked and can't be paged out. Consuming all available memory can prevent
other applications or SQL Server instances from starting. I strongly recommend that
you use the max server memory option with AWE enabled to ensure that some
memory exists for other SQL Server applications or instances.
Т.е. деталек не меньше, чем при настройке работы Oracle.
...
Рейтинг: 0 / 0
Управление памятью
    #33017202
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StalkerS
То, что вы пропускали мои ответы мимо ушей, не значит, что мы нашли какие-то доводы ;)

Я их не пропускал. Просто они не показались мне достаточными, для обоснования. И я высказывал сомнения.


StalkerS
Согласны ли вы, что изменяющая данные транзакция создающая версии изменяемых данных, будет работать медленнее, чем аналогичная, но не создающая никаких версий ? (напомню, речь идет о Yukon).

Почему тада в Юникон? Берите выше - в Клиппере. Там модель транзакций еще проще. А серьезно, то смотрю тесты. Ведь и у блокировочника транзакции не просто записывают данные. Ведь мы БД создаем не тока для того, чтобы занять персонал изменениями данных, чтобы они, например, не лазили по инету от безделья. Вот смотрю толстую книгу: подсистемы обработки транзакций (для блокировочников как я понимаю):
Диспечер транзакций, Планировщик (Диспечер блокировок), Диспечер восстановлений, Диспечер буфферов - все высокоуровневые модули. У Оракла нет неоходимости в таком Диспечере блокировок, он инфу о блокировках записывает в блоки данных. Неужели Вы думаете, что в Оракле дураки сидят, и ничего не придумали для компенсации, если в чем уступают?
Вы хотите, чтобы я отвечал Согласен, Не согласен про что-то отвлеченное? Про какие-то предположения о работе механизмов транзакций. А потом сказать, что это были не предрположения? К сожалению, меня то можно перехитрить, но этого не достаточно чтобы выяснить реальное положение.
Зато в плане моделей транзакций версионник выигрывает однозначно. И это более существенно. Что толку от скорости, даже если она и есть (что не факт), если она просто ждет читающего не известо скока и ничего изменить не может. или меняет, а читающий читает грязные данные? Ведь одна из архиважных функций СУБД - управление параллельным доступом. А Вы по сути пытались сказать, что иногда параллельный доступ не нужен (пишушие транзакции тоже читают) и тада блокировочник лучше. Но тада может СУБД там не нужно?
StalkerS
Я, честно говоря, не совсем понимаю, что именно вы мне доказываете. То, что алгоритмы не могут быть совершенными ?

Нет. Что они могут быть: не известны, сложны для решения некоторых задач. И не доказать, потому что это известно с третьего курса. Это Вам я предлагал доказывать.
Вот кеширование. Известно, что там имеет значение число попаданий. Если система показывает 99% - то увеличение объема, считается ничего не даст.
Вот провели какую-то редкую операцию и показатель сбился на 45%. А потом стали обычно работать, т.е. так что показатель придет к 99%. Т.е. увеличение ничего не даст. Но пока еще в стаитстике прописано 45%. Система тада что должна делать? Увеличивать память? Или ждать? Скока ждать? Мы то знаем, что это ничего не даст. Более того она начитает с диска лишнего, что не понадобится более одного раза, но искать должна и нужное в большем объеме. Это простенький пример. Там наверняка есть и что-то еще.
Там где известно, что увеличение дает выигрыш, там управляется как Вы сказали. И с кешем бы управлялось так бы, потому что в выделении и освобождении памяти нет никаких сложностей в большинстве ОС.
Т.е. я Ваше якобы преимущество по управлению памяти у Эскуэля Сервера пока не могу без всяких сомнений принять. Они все еще не очевидны.
Нужны дополнительные аргументы от Вас.
Зато имеет значение сама структура памяти. Но я не говорю, что она у MS SQL хуже или проще. Потому все про эти структуры давно известно.
А в литре я не видел сведений от таких преимуществах. А мы их с Вами найдем? Что-то пока не верится.
...
Рейтинг: 0 / 0
Управление памятью
    #33018076
Ораклоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Короче, товарищ StalkerS в своём крестовом походе во утверждение славы имени МS и БГ лично, а также в доказательство несомнненнейшего и полного преимущества SQL Server-а над Oracle опять сел в лужу. Мы сейчас как?.. Говорим о серьёзных производственных системах или о однопользовательских БД на лептопе с 64Мб памяти "для тестирования своей гениальности в сиквелписательстве"?..
"Блокировщик быстрее версионщика", "зачем нам выставлять параметры памяти - MS сама всё сделает", "n серверов и m процессов то и дело 'без всякого вмешательства человека' кроящие несчастные мегабайты памяти налево и направо и админ, занимающийся в основном смахиванием пыли с клавиатуры с умилением взирающий на эту картину" - это явные признаки такого подхода и предположу кощунство - МS SQL, наверное, действительно круче подходит для такого случая - представляете - он всегда резервирует системе 4МБ (!) памяти - а может даже и больше! (дядюшка Билл наставительно колышет пальцем и добавляет: "и всё это в полностью автоматическом режиме").
Ни одно из этих утверждений и фич не имеет ни малейшего смысла на производственном сервере БД. В системах оперативной отработки транзакций, блокировщики sucks. Точка. Во всех системах, с которыми я работаю сервер БД - это сервер БД, ничего более, ничего менее. Точка. Если мне не хватает памяти, я её не делю - я её покупаю. Точка.
...
Рейтинг: 0 / 0
Управление памятью
    #33018205
Фотография Ryaz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
+ 2,5 коп.
Пока что, по-моему, некоторые вещи отсутствуют в Oracle, в отличии от MS SQL.
Естественно для NT платформы.

1. У меня не получилось заставить работать без сбоев тестовый экземпляр Oracle
с более высоким приоритетом процесса oracle.exe. (ноту читал, просто проверил ;-)) )

2. Заставить работать Oracle на определённом процессоре.
В MS не пробовал, но у них, по крайней мере, заявлено.

Думаю это к ядру относится.


Отсутствует у Oracle интеграция с MS AD. (впрочем с open_ldap тоже)
(можно там помухлевать конечно, но я веду речь про "прямую" интеграцию)
(читать про OID не надо отсылать, читал, знаю)
Это уже не ядро, просто такой для нас недостаток присутствовал.

---

В основном это неудобства. Не считаю это грандиозным недостатком.
Больше ничего шибко хорошего для себя в MS SQL не нашёл.
Возможно плохо искал (быстро наскучило, если честно, да и более чем второстепенный он у нас сервер БД).

ЗЫ. Сильно сомневаюсь в отсутствии использования недокументированных
фич OS. Очень сильно.

ЗЫЫ. я понимаю что не про память, но по-моему, разговор давно уже ушёл в сторону.

--

я

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
Управление памятью
    #33018368
DimaR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так что ORACLE_AFFINITY не работает,
я не пробовал, но интересно?
...
Рейтинг: 0 / 0
Управление памятью
    #33018849
Фотография Fucker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ryaz... У меня не получилось... Заставить работать Oracle...То, что у кого-то что-то не получилось, вовсе не означает, что заявленная Oracle функциональность не работает.

Note:219498.1 Oracle Architecture in Windows NT/2000/XP

Fucker

PS: Какое счастье, что я уже не DBA и мне не надо заниматься всякой фигней
...
Рейтинг: 0 / 0
Управление памятью
    #33019126
Фотография StalkerS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfo
Вы хотите, чтобы я отвечал Согласен, Не согласен про что-то отвлеченное?

;)
ладно, я сдаюсь, закрыли тему. Могу вам посоветовать почитать статью про версионность в Yukon (и перестаньте называть его Юникон, это Юкон !) на сайте microsoft, мне лень искать ссылку на статью, тем более сомневаюсь, что будете ее читать. Но если захотите, то без труда сами ее там разыщите. По возникшим вопросам всегда можете обращаться на форум по mssql, и можете не опасаться, что вам там начнут обзывать ламером и орать, что Оракл - полный сакс. А то мы с вами можем тут до бесконечности толочь воду в ступе, а у меня со временем сейчас полные вилы.

Про память по вышеназванным причинам тоже предлагаю закруглиться. И тоже могу посоветовать почитать статью по распределению памяти, что-бы вам перестало казаться, что используются примитивные алгоритмы, проигрывающие ручной настройке. Может в Оракл и не дураки сидят, только вот microsoft тоже не идиотов набирает на работу.
и вообще сегодня пятница, нужно было пиво пить, теперь вот придется завтра отдуваться сразу за два дня

ладно, всех высказавших конструктивные мысли благодарю за потраченное время
...
Рейтинг: 0 / 0
Управление памятью
    #33019152
Yo!!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да это же бот ! типа новая рекламная инициатива мс - бот немного туповат, неспособен прочесть ответ, но велеколепно генерирует всякую хрень на заданую тему :) (причем сильно напоминает скрепку из офиса)
...
Рейтинг: 0 / 0
Управление памятью
    #33019186
Владимир Бегун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Может в Оракл и не дураки сидят, только вот microsoft тоже не идиотов набирает на работу."

Аргумент! Шедевр. Распечатал. Повесил в кубике. Дружбе крепнуть!
...
Рейтинг: 0 / 0
Управление памятью
    #33019250
Фотография Ааз
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет

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

2. Моя ЛЮБИМАЯ ТЕЩА как-то говорила (к сожалению, про меня ;-)) -
"А-а-а-... мальчик из провинции. Слаще сорковки ничего не ел..."
Теща дествительно любимая. За 20+ лет женатости мне проще найти общий язык с тещей, чем с женой. ГЫЫЫ

3. Тема давно превратилась в ПТ (см.п2). Но что отрадно - Володя Бегун впервЫе на моей памяти, в этом форуме не сорвался на размазывание и плющенье, а очень таки политкорректно отбился от аргументов супостатов ;-). И даже перетерпел повторения и тыканье мордом... +++++

4. Маздай (ака все, что выходит от мелкософта) - отстой. ТЧК. (см.п.2). "Дети Мелкософта". Ничего кроме "Visual ???" не видели (см.п.2). Как работают компьютеры - не знают... Дети мелкософта... мля... Жаль их. Но и помогать им не хоцца. Преодолевшим барьер и заинтересовавшимся IT - респект и содействие.

Сорри за пьяный базар. ... Но наболело.

Всего
--
Andrei Kriushin (Oracle8/8i/9i OCP DBA), RDTEX J.S.C.
Disclaimer: Opinions are of my own and not necessar(-il)y...
...
Рейтинг: 0 / 0
Управление памятью
    #33019251
Фотография Ааз
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ааз"сорковка"==="морковка";-)
Всего
...
Рейтинг: 0 / 0
Управление памятью
    #33019279
Владимир Бегун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsql90/html/sql2k5snapshotisol.asp
Version store is held in memory and TempDB. The dba must ensure that TempDB is
optimized for increased i/o bandwidth based on the version store workload—TempDB
database size must also be monitored (especially if the application has long running
transactions), SQL Server has supported dba-friendly percentage and absolute
database and log autogrow settings for many releases, but these are obviously
constrained by the physical availability of disk space.

This can lead to long version chains in SQL Server. The version store keeps a full
copy of the data row that saves the expense of reconstructing the row when it is
accessed by another transaction.


The integrated SQL Server Agent event management and job scheduling sub-system
can be programmed to react automatically to an out of physical space condition and
corrective action (such as forcing rollback of any transaction contributing to version
store space usage).


Мне всегда было интересно, как в новой версии MS SQL Server a.k.a. Yukon
обстоит дело с обработкой длинных типов данных, как то, VARCHAR, CLOB, NCLOB
BLOB, LONG. Согласно тому что написано выше сервер с успехом может
копировать длинные строки в version store и заниматься этим всю оставшуюся
жизнь под сильной нагрузкой. Просто интересно.

Если там не написано вранья то для:

CREATE TABLE tbl(id NUMBER, dob DATE, firstname ..., lastname, ... photo BLOB, comments VARCHAR2(4000));

вот это:

UPDATE table
SET status = :status
WHERE id = :id
/

Скопирует в version store мою фотогеничный физиономию, все комментарии и
всю информацию из сегментов индексов для данной строки -- хотя я никого об
этом не просил.

Кто-то может подтвердить так ли это? Если это так, то на чём хочет выиграть MS?
На том что в Oracle дорого сделать cr? Или на том что версионирование в
Oracle заточено под производительность, а не под теорию (отсюда вся критика
уровней изоляции транзакций)? Или в том что в Oracle алгоритм update
многопроходный? Кто видел Yukon под живой hybrid нагрузкой с версионированием,
скажем 500-1000 oltp сессий, 10-20 batch processing тех же данных, и пусть до
10 какой-нибудь online аналитики (данные теже)?
...
Рейтинг: 0 / 0
Управление памятью
    #33019285
Фотография Ааз
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет

Мои 2 копейка:
1. Володя, ты таки оценил аудиторию этого форума как достойную для обсуждения. Класс. Вот этои есть твой качественный ответ.
+++++. Сорри за мои оценки. Наплюй и забудь. Эти оценки - не для тебя! Ты свою цену сам знаешь ))).

Ясень пень, я полез проверять)))

2. Возрождается (я надеюсь) дух relcom.comp.dbms.oracle и fido7.ru.rdbms.oracle. В новом месте...
3. Не ленивые - гляньте какие проблемы мы ТОГДА РЕШАЛИ (hint - фильруйте по макисальной дате 2001 год ;-)))

Всего
--
Andrei Kriushin (Oracle8/8i/9i OCP DBA), RDTEX J.S.C.
Disclaimer: Opinions are of my own and not necessar(-il)y...
...
Рейтинг: 0 / 0
Управление памятью
    #33019312
Владимир Бегун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир БегунКто-то может подтвердить так ли это?
Дочиталось до "Upgrade Issues" -- там есть объяснение для LOB.
Для всех остальных типов данных, я так понимаю (нужно подтверждение),
будет копироваться вся строка со всеми вытекающими.

Вообщем-то, на мой взгляд, там ничего алгоритмически нового нет --
вроде бы найде-но наиболее эффективное решение для конкретной
реализации ядра (но не знаю MS SQL достаточно хоррошо чтобы судить
об этом). Можно только поблагодарить разработчиков ядра и сказать
что хорошо продумали как эффективно сделать версионирование в той
системе где его ждали очень много лет. С теоретической точки зрения
(из того что я увидел в этом документе) MS SQL будет решать вопросы
аномалий существующие в Oracle. Вопрос лишь в том, даст ли это
существенный выигрыш на практике при той реализации, которая была
выбрана?

Кто ответит на оставшиеся вопросы -- что показывают тесты?
...
Рейтинг: 0 / 0
Управление памятью
    #33019338
Фотография Ааз
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Владимир Бегун:

Володя, спасибо, что по по моему пьяному бреду проезжать не стал...

Всего.
...
Рейтинг: 0 / 0
Управление памятью
    #33019375
АазВолодя, ты таки оценил аудиторию этого форума как достойную для обсуждения. Класс.
Присоединяюсь. Спасибо за грамотные, качественные посты. Качественно. Красиво. Сдержанно ;)

Заодно хочу извиниться за свое неадекватное поведение и допущенную грубость. Володя знает за что.
...
Рейтинг: 0 / 0
60 сообщений из 60, показаны все 3 страниц
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Управление памятью
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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