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

19 Февраль 2015
Earlier
Пт, Сен 24, 2021
Things to Consider to Avoid Database Performance Problems on 19c (Doc ID 2773012.1) Things to Consider to Avoid SQL Performance Problems on 19c (Doc ID 2773715.1) Things to Consider to Avoid Prominent Wrong Result Problems on 19C Proactively (Doc ID 2606585.1) Things to Consider to Avoid SQL Plan Management (SPM) [...]
Source: iusoltsev.wordpress.com
Вс, Сен 12, 2021
Image

One of the easiest ways is to use diagnostic events:

alter session set events 'sql_trace {callstack: fname xctend} errorstack(1)'; [...]
Source: orasql.org
Вс, Сен 12, 2021
Image

One of the easiest ways is to use diagnostic events:

alter session set events 'sql_trace {callstack: fname xctend} errorstack(1)'; [...]
Source: orasql.org
Вт, Сен 07, 2021

You may know that some applications generate queries with bind variables' names like :1 or :”1″, and neither SQL*Plus nor SQLCl support such variables:

SQLPlus:

SQL> var 1 number; SP2-0553: Illegal variable name "1".

SQLCL:

SQL> var 1 number; ILLEGAL Variable Name "1"

So we can't run such queries as-is, but, obviously, we can wrap them [...]

Source: orasql.org
Вт, Сен 07, 2021

You may know that some applications generate queries with bind variables' names like :1 or :”1″, and neither SQL*Plus nor SQLCl support such variables:

SQLPlus:

SQL> var 1 number; SP2-0553: Illegal variable name "1".

SQLCL:

SQL> var 1 number; ILLEGAL Variable Name "1"

So we can't run such queries as-is, but, obviously, we can wrap them [...]

Source: orasql.org
Пт, Авг 27, 2021
Наблюдали с коллегами красивое: при "мягком (без рестарта инстансов) switchover с использованием dgmgrl большая часть планов выполнения, во-первых, изменились не в лучшую сторону по сравнению со стабильными и, во-вторых, планы стали бесценными:) dbms_sqldiag.dump_trace благодаря добавленному в свежеобновлённую 19.10 улучшению Bug 31130156 Event 10053 Trace Improvement to Dump Details When and [...]
Source: iusoltsev.wordpress.com
Чт, Авг 12, 2021

I know 2 “special” exceptions that can't be processed in exception handler:

“ORA-01013: user requested cancel of current operation” “ORA-03113: end-of-file on communication channel”

Tanel Poder described the first one (ORA-01013) in details here: https://tanelpoder.com/2010/02/17/how-to-cancel-a-query-running-in-another-session/ where Tanel shows that this error is based on SIGURG signal (kill -URG):

-- [...]
Source: orasql.org
Чт, Авг 12, 2021

I know 2 “special” exceptions that can't be processed in exception handler:

“ORA-01013: user requested cancel of current operation” “ORA-03113: end-of-file on communication channel” and + “ORA-00028: your session has been killed” from Matthias Rogel

Tanel Poder described the first one (ORA-01013) in details here: [...]

Source: orasql.org
Чт, Июн 17, 2021
С квалифицированной помощью Алексея Спиричева по проблеме Instance restarts with ORA-07445 [kjcipctxfreereqlist] получили рекомендацию по установке Bug 31985738 — ORA-600:internal error code, arguments: [kjci_complete:invalid_req] (Doc ID 31985738.8) На 3-й неделе тестирования создаётся впечатление, что патч кроме указанной решает набор проблем типов KJSC (Kernel lock management RAC global Stats?) и KJCI [...]
Source: iusoltsev.wordpress.com
Сб, Май 29, 2021

Got an interesting question today in RuOUG:

Some very simple PL/SQL procedures usually are completed within ~50ms, but sometimes sporadically longer than a second. For example, the easiest one from these procedures:

create or replace PROCEDURE XXXX ( P_ORG_NUM IN number, p_result OUT varchar2, p_seq OUT number ) [...]
Source: orasql.org
Сб, Май 29, 2021

Got an interesting question today in RuOUG:

Some very simple PL/SQL procedures usually are completed within ~50ms, but sometimes sporadically longer than a second. For example, the easiest one from these procedures:

create or replace PROCEDURE XXXX ( P_ORG_NUM IN number, p_result OUT varchar2, p_seq OUT number ) [...]
Source: orasql.org
Пт, Май 28, 2021

@tracefile_read_last_by_mask filemask [regexp] [ignore_regexp]
– finds last trace by filemask and filters rows by regexp and filters out rows by ignore_regexp:

@ tracefile_by_mask.sql [mask] – finds and shows last 10 trace files by mask

[...]

Source: orasql.org
Пт, Май 28, 2021

@tracefile_read_last_by_mask filemask [regexp] [ignore_regexp]
– finds last trace by filemask and filters rows by regexp and filters out rows by ignore_regexp:

@ tracefile_by_mask.sql [mask] – finds and shows last 10 trace files by mask

[...]

Source: orasql.org
Чт, Май 20, 2021

Oracle diagnostic events is a great feature, but unfortunately poorly documented and nonintuitive, so it's difficult to remember all events/actions/parameters and even read its internal documentation using oradebug. So I decided to compile its internal doc as a more convenient html-version (http://orasql.org/files/events/) and make a cheat [...]

Source: orasql.org
Чт, Май 20, 2021

Oracle diagnostic events is a great feature, but unfortunately poorly documented and nonintuitive, so it's difficult to remember all events/actions/parameters and even read its internal documentation using oradebug. So I decided to compile its internal doc as a more convenient html-version (https://orasql.org/files/events/) and make a cheat [...]

Source: orasql.org
Вс, Апр 25, 2021
select title, short_url from v$blog where pubDate>=systimestamp - interval '5' month; with v$blog as ( select title ,to_timestamp_tz(pubDate,'DY, dd mon yyyy hh24:mi:ss TZR') pubDate ,short_url [...]
Source: orasql.org
Вс, Апр 25, 2021
select title, short_url from v$blog where pubDate>=systimestamp - interval '5' month; with v$blog as ( select title ,to_timestamp_tz(pubDate,'DY, dd mon yyyy hh24:mi:ss TZR') pubDate ,short_url [...]
Source: orasql.org
Чт, Апр 08, 2021

This document is my attempt to bring together the available options that can be used to determine the root cause of an issue in order to create a roadmap to help support engineers narrow down the cause of concern.

It is a living document and will be edited and amended as [...]

Source: orasql.org
Чт, Апр 08, 2021

This document is my attempt to bring together the available options that can be used to determine the root cause of an issue in order to create a roadmap to help support engineers narrow down the cause of concern.

It is a living document and will be edited and amended as [...]

Source: orasql.org
Пн, Мар 29, 2021
Продолжая про event, при разборе неприятной проблемы ORA-600 [532] leads to ORA-700 [ksepop:1 ksepop recursion ] аналитик поддержки с оговорками* рекомендовал в целях диагностики установить: , что (после применения параметра/рестарта) приводит и интересному эффекту в части использования PL/SQL, %rowtype и EXECUTE IMMEDIATE с IN OUT параметрами (**): При смене порядка [...]
Source: iusoltsev.wordpress.com
Пн, Мар 29, 2021
В начале месяца Алексей Фролов (Спортмастер) на семинаре RuOUG рассказал о непростом пути обновления на версии 19c В дополнение к теме имеется любопытный опыт работы с Bug 31888148 — ORA-1555 is not reported in alert log after RU 19.4.0.0.0 (Doc ID 31888148.8), к счастью, уже поправленном в современных версиях: В [...]
Source: iusoltsev.wordpress.com
Чт, Янв 07, 2021

I created this simple service a couple of years ago. It's pretty simple, small and intuitive Python app, so you can easily modify it to suit your own needs and run on any platform: https://github.com/xtender/pySync

[...]
Source: orasql.org
Ср, Дек 23, 2020

Obviously we can format/beautify SQL or PL/SQL code using external tools, but sometimes it would be more convenient to format it directly in database, for example if we want to see few different sql_text's from v$sqlarea. And thanks to Oracle SqlCL and [...]

Source: orasql.org
Пт, Дек 11, 2020

Write a pure SQL query with PL/SQL that stop after :N seconds, where :N is a bind variable.

My solution with v(start_hsecs, delta, flag) as ( select hsecs as start_hsecs, 0 as delta, 1 as flag from v$timer union [...]
Source: orasql.org
Вс, Сен 27, 2020
Если в версии 12.1 проблем с TO_NUMBER, агрегатными функциями и параллельным выполнением запроса не наблюдалось: SQL Monitoring Report: , то в версии 19.5 неожиданно стабильно получаем DOP Downgrade 100% (*) при том же плане выполнения (**) При этом строки ASH более длительного запроса с аналогичной проблемой показывают, что на этапе [...]
Source: iusoltsev.wordpress.com
Вт, Сен 15, 2020

You can add also any information from v$rtsm_sql_plan_monitor if needed

create or replace function px_session_info return varchar2 parallel_enable as vSID int; res varchar2(30); begin vSID:=userenv('sid'); select to_char(s.server_group,'fm000') ||'-'||to_char(s.server_set,'fm0000') [...]
Source: orasql.org
Пт, Авг 28, 2020
По следам недавнего успешного "краудсорсингового решения проблемы в телеграм-группе @RuOUG Собственно, моей была только формулировка проблемы: а не сталкивался ли кто с нерабочим partition pruning в 19.5 при использовании в качестве предикатов значений функций? в 12.1 всё работало( Антон подтвердил, а Саян Малакшинов — тут же предложил рабочее решение: [xtender] [...]
Source: iusoltsev.wordpress.com
Вс, Июн 28, 2020

I've just released new version of my Simple Android Oracle Client.

New features:

Supported Oracle versions: 11.2, 12.1, 12.2, 18, 19, 20. SQL Templates: now you can save and load own script templates Server output (dbms_output) Export results as JSON, CSV and HTML files (long tap on results) Copy results to the Clipboard as JSON [...]
Source: orasql.org
Пн, Май 11, 2020
Обратил внимание, что в стандартном автоматически созданном (Sql Tuning Advisor) SQL Profile на фоне многочисленных корректирующих OPT_ESTIMATE лишь иногда (нечасто) проскакивают хинты типа TABLE_STATS / INDEX_STATS / COLUMN_STATS: , фиксирующие текущую статистику таблиц, столбцов и индексов: Это выглядит странно, учитывая что "основной для SQL Profile хинт OPT_ESTIMATE: применяется в большинстве [...]
Source: iusoltsev.wordpress.com
Вт, Апр 21, 2020
Столкнулись с проблемой, подготовил простой тесткейс на данных схемы HR В SR отправил, но, возможно, я упустил что-то очевидное или кто-то уже сталкивался, или есть идеи и/или время/желание поэкспериментировать Запрос: в версии 12.1.0.2 выдаёт простой и быстрый план: с преобразованием VIEW PUSHED PREDICATE и операцией TABLE ACCESS BY INDEX ROWID [...]
Source: iusoltsev.wordpress.com
Комментирование отключено.