Oracle Database 10g Product Family

Краткий справочник, чем же отличаются редакции Oracle Database, или на что направлена та или иная опция для версии 10g собран в статье
Oracle Database 10g Product Family


Читать дальше...

Интересная ссылка

Есть Очень интересные статьи, правда с большим количесвом полухакерских :) приемов. Но интересно :)


Читать дальше...

Solaris 64-bit 10.2.0.2 RDBMS server patchset error

Ниже оригинальная информация от Oracle:



You are being sent this email because you have downloaded the 10.2.0.2 RDBMS server patchset for Sun Sparc Solaris 64-bit from metalink.oracle.com. Some of you may have already been informed about this Mandatory Patch but this second Notification is due to some additional information being added to the alert.

Any customer who has installed or needs to install an Interim patch to a Solaris 64-bit 10.2.0.2 Database installation MUST read this.

Please note that the Solaris 64-bit 10.2.0.2 Patch 5117016 is a MANDATORY PATCH which is required to be installed before installing any other Interim Patches.

If other Interim patches are installed, including Critical Patch Updates (for example CPU July 2006), ALL MUST be rolled back BEFORE applying the mandatory patch. Further details on this issue can be found in ALERT Note 394933.1.

If another Interim patch is already installed and the mandatory patch is applied, the $ORACLE_HOME/lib/libserver10.a will be corrupt. Note: Rolling back any or all patches will NOT resolve the corruption. Details on resolving this corruption can be found in Note 396649.1.

Simple check: If $ORACLE_HOME/rdbms/lib/libserver10.a exists, the mandatory patch has probably not been installed. If you apply a patch and it does not fix your problem, this is probably the cause.


Читать дальше...

Где скачать oracle - опять не просто

Удивлен наличем у oracle отдельного сайта для Media Packs
http://edelivery.oracle.com

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

Наверно будет большая путаница - что-то на otn, что-то на edelivery....


Читать дальше...

Understanding Shared Pool Memory Structures

Вполне понятная статья аж 2005 года но с подробностями про 10gR2.
Несложная, для общего развития очень рекомендую.


Читать дальше...

How To Forecast Tuning Results

Написанная еще в 2004 году статья, в которой делается попытка показать, как рассчитать возможный эффект от оптимизации sql запросов. Мне кажется очень интересно почитать, хоть и не очень просто написан этот simple method, по мнению автора


Читать дальше...

Solaris, Wait For IO

Мне кажется это самое простое обяснение почему на Solaris на многопроцессорных машинах Wait For IO часто вводит в заблуждение

Whenever there are any blocked processes, all cpu idle time is treated as wait for I/O time! The vmstat command correctly includes wait for I/O in its idle value…”

Еще в В 1997 году

В Sun-Online описали, почему в многопроцессорной системе
cpu:wio может "врать"

http://sunsite.uakom.sk/sunworldonline/swol-08-1997/swol-08-insidesolaris.html


"Even one processor in biowait() could potentially cause all the processors on an MP system to show up as waiting for I/O"

Далее читать по тексту.

Резюме: необходимо обязательно мониторить систему с помощью vmstat
proc:b


Читать дальше...

measure logical I/O speed

Я полагаю что этот несложный на первый взгляд скрипт - очень полезный для понимания работы СУБД в операционной системе.

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

Я постараюсь измерить и опубликовать результаты.

Если кто-то видел уже готовые тесты - срочно напишите :)


Читать дальше...

Oracle Critical Patch Update

Следующий ожидается в октябре.

Может я что-то не допонял, но если Вы успели перейти на свеженький 9.2.0.8 - этот патч Вы не поставите. Толи уже исправлено, то ли еще не протестировано.


Читать дальше...

Oracle RAC: good & bad news

Blog раположенный на sun.com призывает не использовать RAC, а покупать процессоры
http://blogs.sun.com/dcb/entry/oracle_rac_s_secret

Сам же Oracle показывает счастливых пользователей:
http://dsvolk.msk.ru/oracle/rac/forester-On_RAC.pdf

Правда как всегда посередине - если Вы понимаете, как работает
Oracle RAC - используйте. Если нет - покупайте процессоры.


Читать дальше...

Top 10 Backup and Recovery best practices

Metalink Note:388422.1

Дешево и сердито. Хотя тема гораздо более сложная - начать вполне можно с этих 10 советов.


Читать дальше...

Tuning IBMAIX5L for an Oracle Database

Что я и говорил - все слова знакомы, а вот действия отличаются.
Все-таки unix-unix'у рознь. Нельзя оперировать понятиями - я знаю oracle или unix. Конкретные инкарнации - еще куда не шло, а все скопом - не бывает.


Читать дальше...

Excel

Оказывается что в состав Excel входит так называемый Пакет анализа.

Оказалось, очень полезная штука. Поспорили мы тут на днях, а имет ли отношение изменение параметра XXX к изменению загрузки cpu:sys.

Замеряли, до и после, все как надо.
Затем загнали sar в Excel, затем Анализ Данных, описательная статистика. Вот тебе и среднее, и стандатное отклонение, и стандартная ошибка, минимум, максимум - все сразу и мгновенно. Тут же видно, имеют ли два набора отклонения в рамках ошибок, или нет.
Если нет - значит эффект есть, иначе - погрешность измерений.

Средства, включенные в пакет анализа данных, доступны через команду Анализ данных меню Сервис. Если эта команда отсутствует в меню, в меню Сервис/Надстройки необходимо активировать пункт "Пакет анализа".

Очень рекомендую.


Читать дальше...

pga_aggregate_target mistery

Начиная с версии 9i свято верил, что pga_aggregate_target был сделан для того,
чтобы не уводить систему в swap, когда выставили слишком большое число sort_area_size.
Вроде бы Oracle не должен захватывать памяти, больше чем pga_aggregate_target.
И действительно, в 9i такого не встречалось.

Однако в 10.1 при выставленных 6 Gb памяти, Oracle спокойно отъедает 12gb !!!
Читаем документацию
"
total PGA allocated: This gives the current amount of PGA memory allocated by the instance. Oracle tries to keep this number less than the value of PGA_AGGREGATE_TARGET. However, it is possible for the PGA allocated to exceed that value by a small percentage and for a short period of time, when the work area workload is increasing very rapidly or when the initialization parameter PGA_AGGREGATE_TARGET is set to a too small value.
"
Ни фига себе "small percentage", в 2 раза !

В statspack видим

"warning: pga_aggregate_target was set too low for current workload, as this value was exceeded during this interval"

Оказывается, это сообщение появляется если за наблюдаемый период over allocation count из v$pgastat был > 0.

Ну а раз так, отхватим еще памяти.

Правда если посмотреть в PGA Memory Advisory, то 99.99% проходов уложились в Optimal Executions.
Типа со стороны Oracle все нормально, а то что это в swap'е это никого не волнует.

Выводы:
1. Oracle молодец, быстро успевает захватывать доп. память.
2. Бороться с этим эффектом похоже бесполезно, документация советует
"
If over-allocation occurs, you should increase the value of PGA_AGGREGATE_TARGET using the information provided by the advice view V$PGA_TARGET_ADVICE
"

Возможно (это догадка), что дело опять в параметрах _smm_max_size (_pga_max_size)
Don Burleson, ссылаясь на чужую статью
http://www.dba-oracle.com/oracle_news/2005_12_19_10g_release_changes.htm

Рассказывает что в 10gR2 поменяли внутренние лимиты на _smm_max_size.
Возможно эта работа началась еще в 10gR1.

И значит, если нет доп. памяти, увидев, что PGA растет такими темпами, есть активность swap,
надо зажимать _smm_max_size.


Читать дальше...

замерить скорость отчета

Для того чтобы замерить скорость отчета удобнее всего воспользоваться timex.

timex -opt sqlplus login/password @test.sql

Однако чтобы получить полные данные нужно включить accounting Solaris
root@sf2:/[518]# /etc/init.d/acct start


Важные дополнения:

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

Не забудьте выключить accountинг после эксперимента
root@sf2:/[519]# /etc/init.d/acct stop

И наконец, великий Adrian Cockcroft почти 7 лет назад рассказал
что анализ account эга позволяет сделать нам профиль нагрузки приложения !
http://www.sun.com/blueprints/1099/workload.pdf


Читать дальше...

Интересная ссылка

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


Читать дальше...

Recovery flowchart

http://examples.oreilly.com/unixbr/oracle.html


Читать дальше...

интересный блог

Интересны заметки про RAC, про поиск по документации


Читать дальше...

The Memory Structures from Tom Kyte's Expert Oracle 10g Edition

Безусловно очень интересная статья про структуры oracle.

В частности интереса тем, что проясняет в часности вопрос, может ли одна сессия использовать более 5% от pga_aggregate_target (если workarea_size_policy=auto)


Насколько я понял, в сессии выполняющей сериальный запрос каждая область сортировки будет не более 5%, в сессии выполняющей параллельный запрос 0.3 * PGA_AGGREGATE_TARGET / (number of parallel processes).

Еще раз, важно каждая область сортировки.

Понятно, что pga_aggregate_target аллокируется не сразу по старту экземпляра, а по мере необходимости.

В случае если число сессией возрастает, oracle старается увличить память pga до PGA_AGGREGATE_TARGET, одновременно зажимая лимиты для сессий. Tom приводит графики, как это происходит.

Что же делать если у нас есть сессия, отдельные области под сортировку которой нам бы хотелось сделать скажем под 100m ?

Tom Kyte
http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4950_P8_DISPLAYID:47466211228419

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



Дон Бурлесон утверждает, что это лимит устанлвиватся недокументированным параметром
_pga_max_size, но Tom показывает, что этот лимит назывется _smm_max_size.

Результирующая фраза:

"
No RAM sort may use more than _smm_max_size, which is expressed in Kilobytes as
a value.
"

Резюме.

Использовать workarea_size_policy=auto полезно, чтобы не приходилось следить за swap'ом.
Если у Вас есть сессии, которым надо много сортировать, лучше (и быстрее будет) для них вручную выставить sort_area_size и workarea_size_policy=manual, скажем в триггере on_logon.
Можете устанавливать недокументированные параметры _pga* и _smm*, но зачем тогда вообще пользоваться автоматическим механизмом ?




Интересно также прочитать Льюиса
http://www.jlcomp.demon.co.uk/untested.html
который как может костерит Дона Бурлесона :)))


Читать дальше...

Очень старая статья про механизмы предсказания Oracle

Oracle Magazine RE -- ??????/?????? 2004

становиться крайне полезной, если ее немного разбавить статьей
Cache Advice – what could it be doing?
http://www.jlcomp.demon.co.uk/Cache_advice.html

:)


Читать дальше...

Пожалуй наиболее полная статья про statspack

В этой статье рассказывается не только что такое statspack и какие возможности открываются при его регулярном использовании. Очень полезно прочитать.

http://www.wise-oracle.com
Графический интерфейс к statspack. Удобно наверно, пока не прбовал.

Единственное что не хватает во сех этих замечательных трудах - так это понимания что со всем этим делать.

Я думаю, что знаю ответ, поэтому и делаю продукт Jump-Jet.
Собираюсь его скоро открыть


Читать дальше...