Просторы интернета

19 Февраль 2015
Earlier
Чт, Янв 21, 2016
Имеем таблицы в двух схемах
create table MESSAGE
(
message_id INTEGER not null,
message_code VARCHAR2(128) not null,
message_name NVARCHAR2(256) not null,
message_type VARCHAR2(128) not null,
message_level [...]
Source: atyshenko.blogspot.com
Чт, Янв 14, 2016
С коллегой Сергеем Щукиным смотрели на проблему избыточной генерации трейсов типа Huge Trace Files Created Containing '—— Cursor Obsoletion Dump sql_id=%s —— (Doc ID 1955319.1) — где в соотвествии с рекомендациями, установка параметра _kks_obsolete_dump_threshold = 0 помогла отключить/избавиться от трейсов Но проблему High version count это не решило: Топовые запросы [...]
Source: iusoltsev.wordpress.com
Ср, Янв 13, 2016
Логичным развитием темы предыдущей заметки будет оценка вклада типа Oracle 12c Adaptive Soft Parse overhead на систему в целом через подсчёт доли в общем DB Time (через кол-во ASH rows) 'адаптивных запросов в момент между генерацией плана и началом выполнения запроса (sql_plan_hash_value > 0 AND sql_exec_id is null) Как-то так [...]
Source: iusoltsev.wordpress.com
Ср, Дек 30, 2015
A variation on Jonathan Lewis's SNAP_MY_STATS package to report the resource consumption of a unit of work between two snapshots. Designed to work under constrained developer environments, this version has enhancements such as time model statistics and the option to report on specific statistics. ***Update*** Now available in two formats: [...]
Source: www.oracle-developer.net
Пт, Дек 18, 2015
Процедура DBMS_SQLTUNE.CREATE_TUNING_TASK для конкретного SQL_ID игнорирует наличие SQL Profile для настраимоемого запроса: , в то время как запрос с существующим SQL Patch настройке не подлежит:) При этом список подсказок автоматически генерируемого SQL Profile, по крайней мере, с версии 12c, уже не ограничивается привычными корректирующими OPT_ESTIMATE: — т.е. SQL Tuning Advisor [...]
Source: iusoltsev.wordpress.com
Ср, Дек 16, 2015
Как бы решая проблему High Version Count находим пациента: Суммарный запрос по причинам нерасшаривания курсора указывает на Auto Reoptimization Mismatch(1) + Bind mismatch(25): Статистика выполнения запроса по PHV/INSTance_id показывает зоопарк, порождённый 12c Adaptive Features (Reoptimization, Adaptive Plan), 11g Adaptive Cursor Sharing и, возможно, Automatic Dynamic Sampling: К запросу никаких элементов [...]
Source: iusoltsev.wordpress.com
Вс, Ноя 15, 2015
Максим Филатов привлёк внимание к странным изменениям в приоритетах background процессов в Oracle 12c Например, на 12.1.0.2 OEL x86_64 release 6.4 доморощенным скриптом наблюдаю: — расширенный в 12c список процессов, которые должны запускаться с высоким приоритетом, однако на хосте вижу, что повышенный приоритет имеют лишь: — как это и было [...]
Source: iusoltsev.wordpress.com
Сб, Ноя 14, 2015
В предыдущей заметке фактически продублировал описание известного Bug 20476175 High VERSION_COUNT (in V$SQLAREA) for query with OPT_PARAM(‘_fix_control’) hint Баг этот, кроме случая использования подсказок OPT_PARAM(‘_fix_control’) непосредственно в теле запроса, обладает ещё одной неприятной особенностью — он 'работает также в случае применения этих подсказок через SQL Patch (и, подозреваю, через SQL [...]
Source: iusoltsev.wordpress.com
Вс, Ноя 08, 2015
Как бы продолжая тему багов/особенностей 12c, появился запрос с заметной долей Shared Pool Concurrency ожиданий в процессе выполнения с ASH мониторингом вида: — на этапах Hard/Soft Parse, доля которых для запроса составляла ~ 2/3 общего времени выполнения: Что отражалось в AWR: , на общем фоне запрос не потреблял каких-то экстраординарных [...]
Source: iusoltsev.wordpress.com
Сб, Ноя 07, 2015
Коллеги-разработчики с радостью сообщили, что наконец-то сломали 12-й Oracle обнаружили проблему, а Александр Шакура подготовил отличный тесткейс: В процессе обследования выяснилось, что: 1) ORA-01841 возникает только для 4-х значных форматов года (YYYY), включая Date Literal вида date’2015-09-01′ 2) Explain Plan возвращает ту же ошибку, при этом трейс оптимизатора драматически обрывается [...]
Source: iusoltsev.wordpress.com
Пт, Окт 30, 2015
После обновления на версию 12.1.0.2 обнаружился деградировавший запрос: — со ср.временем ~ 350 сек. при SLA/таймауте в 300 Из запроса заметно, что вероятной причиной деградации может быть использованная в процессе директива (SPD_Used), которую удалось запеленговать командой EXPLAIN PLAN: , расшифровать запросом: и отключить/запретить стандартной процедурой: После чего, правда, старый неудачный [...]
Source: iusoltsev.wordpress.com
Ср, Окт 28, 2015
С удивлением надлюдал поведение стандартного запроса приложения OEBS в условиях напряжённой адаптивной оптимизации (optimizer_features_enable = 12.1.0.2 and optimizer_adaptive_features=TRUE): — запрос по V$SQL_SHARED_CURSOR / V$SQL показывает набор динамично генерируемых планов с незначительными колебаниями ср.времени выполнения ELA_PER_EXEC, кроме последней строки: CHILD=6 на 2-м инстансе выполняется с PLAN_HASH_VALUE=1663364961 стоимостью 1373425052843 (что несколько превышает [...]
Source: iusoltsev.wordpress.com
Ср, Окт 21, 2015
Maximum Key Length

Such an error might crop up when a table index is being created in the database:

ORA-01450: maximum key length (6398) exceeded

Oracle documentation duly lists the cause and action to resolve this error:

Cause: The combined length of all the columns specified in a CREATE INDEX statement exceeded the maximum index length. [...]

Source: www.oratable.com
Сб, Окт 17, 2015
:)

And special thanks to all the great people who voted for me!
I want to list all voters for all nomenees in one page: http://orasql.org/odevchoice/all-the-voters.html

The query (using xt_http of course )

with finalists(category, userid, name) as ( -- [...]
Source: orasql.org
Пн, Окт 12, 2015

A couple days ago i created simple package for HTTPS/HTTP, but I’ve decided now to improve it:

Timeout parameter – it would be better to control connection time; Simple page parsing with PCRE regular expressions – to speed up and simplify page parsing, because if you want to get big [...]
Source: orasql.org
Вс, Окт 11, 2015
спорадичеки наблюдались нами с Леонидом Борчуком в процессе выполнения стандартного Concurrent Processing-а при отсутствии всякой информации в логах на apps-ах и следующими замечаниями в alert.log: — первый аргумент ошибки [kdBlkCheckError] и (*) сообщают о проблемах восстановления блока временного файла [515] табличного пространства TEMP (**) при выполнении стандартного DML в Global [...]
Source: iusoltsev.wordpress.com
Пт, Окт 09, 2015
:)

It’s very easy to get and analyze voters list using my new XT_HTTP package
We can get up-voters list by the URL: https://community.oracle.com/voting-history.jspa?ideaID=NNNN&start=0&numResults=1000

where NNNN is Idea ID from nomenee’s page.
For example my page – https://community.oracle.com/ideas/6901 so my voters page will be https://community.oracle.com/voting-history.jspa?ideaID=6901&start=0&numResults=1000
BTW, though this page [...]

Source: orasql.org
Пт, Окт 09, 2015
:)

I don’t like to import certificates, so i cannot use httpuritype for HTTPS pages and I decided to create package which will work with https as http.
It was pretty easy with java stored procedures
github/XT_HTTP
java source: xt_http.jsp create or replace and compile java [...]

Source: orasql.org
Ср, Сен 30, 2015
При выполнении DBMS_MVIEW.REFRESH(…, ‘C’, ATOMIC_REFRESH=>FALSE) можно видеть ожидание pipe get, что ожидаемо и описано в Complete Refresh Of Materialized View Hangs On Pipe Get (Doc ID 1193294.1), где, среди прочих 'смелых решений|solutions (удалять индексы перед обновлением, запретить job-ы на системном уровне, не использовать NONATOMIC REFRESH), рекомендуют использовать dbms_jobs вместо dbms_scheduler [...]
Source: iusoltsev.wordpress.com
Вс, Сен 27, 2015
К большому сожалению заметил, что механизм Parallel Statement Queuing для случая parallel_degree_policy = MANUAL, так красиво задуманный и описанный, например, в How to Achieve Parallel Statement Queuing for an SQL When PARALLEL_DEGREE_POLICY=MANUAL (Doc ID 1902069.1) в новой версии СУБД по-прежнему не работает надёжно Собственно, практическое наблюдение: — все PX процессы [...]
Source: iusoltsev.wordpress.com
Сб, Сен 26, 2015
I've been selected as a finalist in the 2015 Oracle Database Developer Choice Awards...! September 2015 [...]
Source: www.oracle-developer.net
Чт, Сен 17, 2015
Буквально сегодня в блоге Steven Feuerstein началось означенное голосование , где в первой секции SQL можно заметить нашего товарища и коллегу по цеху Саяна Малакшинова / Sayan Malashinov, и немедленно проголосовать за этого высококвалифицированного специалиста, отзывчивого профессионала и активного участника RUssian Oracle User Group!Filed under: Oracle [...]
Source: iusoltsev.wordpress.com
Вс, Сен 13, 2015
Выполняя запросы к GV$ обзорам в кластере, нередко можно получить: — при втором и последующих выполнениях Разработчики по этому поводу — How To Diagnose ORA-12850 Could Not Allocate Slaves On All Specified Instances(Doc ID 1350377.1): In case you know the SQL that caused the ORA-12850, experienced DBAs/developers can purge the [...]
Source: iusoltsev.wordpress.com
Вс, Июл 26, 2015
В процессе совместного с Евгением Калининым тестирования с целью стандартизации/оптимизации времени выполнения запроса посчастливилось наблюдать диво дивное нечасто встречающееся событие: выполнение одного запроса очевидно затягивалось по причине периодической инвалидации используемого курсора, следом генеровался новый курсор (с новым планом) и начинал выполняться с начала, при этом со стороны запускающего приложения выполнение [...]
Source: iusoltsev.wordpress.com
Сб, Июл 25, 2015
В предыдущей заметке 12c: Automatic Dynamic Statistics я сослался на документ поддержки Dynamic Sampling Level Is Changed Automatically in 12C (Doc ID 2002108.1), рекомендующий в качестве метода отключения ADS использовать подсказку на следующем примере: Disabling Dynamic Statistics ADS can be disabled but setting optimizer_dynamic_sampling to 0 either with a parameter [...]
Source: iusoltsev.wordpress.com
Ср, Июл 15, 2015
Для одного из запросов внезапно сработал Statistics Feedback, что в V$SQL отразилось следующим образом: — т.е. 29.06 в 12:45 запрос выполнялся с нормальным планом 2108937779, а при следующем выполнении в 30.06 в 15:07 под действием FEEDBACK_STATISTIC=Y с новым планом 3773907172 наблюдается затянувшееся выполнение, что в принципе не является чем-то необычным, [...]
Source: iusoltsev.wordpress.com
Вт, Июл 14, 2015
Разочаровал способ реализации в Oracle killer-фичи версии 11g — Deduplicate LOB через обычный странный UNIQUE индекс, который значительно ограничивает возможности транзакционного использования, в частности, конкурентного заполнения таблицы дублирующими LOB-амиFiled under: Блокировки, Oracle Tagged: LOB, Oracle 11g new features [...]
Source: iusoltsev.wordpress.com
Ср, Июл 08, 2015

This post is just a compilation of the links to other people’s articles and short descriptions about new SQL PLAN OPERATIONS and HINTS with a couple little additions from me.


OPERATION_NAME Description Links JSONTABLE EVALUATION [...]
Source: orasql.org
Вс, Июл 05, 2015
:)

As you know, since 11.2 “relies_on” clause was deprecated and oracle tracks dependencies at runtime now.
Test function and tables create or replace function f_without_deps(p_tab varchar2) return varchar2 as res varchar2(30); begin execute immediate 'select '''||p_tab||''' from '||p_tab||' where rownum=1' into res; return res; end; / create table a as [...]

Source: orasql.org
Вс, Июл 05, 2015

Recently I showed simple example how result_cache works with non-deterministic functions and observed strange behaviour: a function gets fired once in the normal query, but twice with the result_cache hint.
Moreover, only third and subsequent query executions return same cached results as second query execution.
I didn’t want to investigate [...]

Source: orasql.org
Комментирование отключено.