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

19 Февраль 2015
Earlier
Сб, Фев 16, 2019

Compare the results of the following query with the clause “fetch first 2 rows only”

with t1(a) as (select * from table(odcinumberlist(1,3))) ,t2(a,b) as (select * from table(ku$_objnumpairlist( [...]
Source: orasql.org
Сб, Фев 16, 2019

Everyone knows that rownum in inline views blocks many query transformations, for example pushing/pulling predicates, scalar subquery unnesting, etc, and many people use it for such purposes as a workaround to avoid unwanted transformations(or even CBO bugs).

Obviously, the main reason of that is different calculation of rownum:

If we pull the [...]

Source: orasql.org
Вт, Фев 05, 2019

Just short note: If your imported Oracle Linux image hangs on boot in the Oracle cloud, just set GRUB_DISABLE_UUID=”true” in /etc/default/grub

[...]
Source: orasql.org
Вс, Дек 30, 2018

Three interesting myths about rowlimiting clause vs rownum have recently been posted on our Russian forum:

TopN query with rownum “fetch first N rows only” is always faster than rownum “SORT ORDER BY STOPKEY” stores just N top records during sorting, while “WINDOW SORT PUSHED RANK” sorts all input and [...]
Source: orasql.org
Пт, Дек 14, 2018
С Иваном Постниковым наблюдали/разбирали нечасто встречаемое ожидание library cache load lock, в течение заметного времени наблюдавшееся у ряда сессий 2-го инстанса: , содержимое ROW_WAIT_OBJ# не очень полезно: , судя по пустым SQL_EXEC_START / SQL_EXEC_ID запросы/курсоры находятся в процессе погрузки в Library Cache (на что указывает и название ожидания длительностью SECONDS_IN_WAIT [...]
Source: iusoltsev.wordpress.com
Пн, Дек 10, 2018
До обновления 12.1 -> 12.2 запрос удовлетворительно (SLA, timeouts,…) быстро выполнялся по плану: , с использованием OJPPD — Old-stype (non-cost-based) Join Predicate Push-Down (*) высокоизбирательного условия ("INVOICE.CLIENT_ID) в обзор (**) вида UNION-ALL PARTITION (***) с последующим быстрым индексным доступом (****) В версии 12.2, похоже, что-то существенно изменилось, OJPPD в процессе [...]
Source: iusoltsev.wordpress.com
Пт, Дек 07, 2018

Recently I had to install the patch for fixing cross-platform PDB transport bug onto the docker images with Oracle, so these are easy way how to do it:

1. create directory “patches” and create “install_patches.sh”:

#!/bin/bash unzip -u ./*.zip CURDIR=`pwd` for D in *; do if [ -d "${D}" ]; [...]
Source: orasql.org
Вт, Ноя 20, 2018
Pagination Queries in Oracle: Analytics, Row Limiting Clause

Pagination is the process of dividing query results (typically on a user interface) into discrete pages, where each page contains a smaller/more manageable number of rows. In classic offset pagination, each page shows a fixed count of rows [...]

Source: www.oratable.com
Вт, Ноя 20, 2018
Pagination Queries in Oracle: Analytics, Row Limiting Clause

Pagination is the process of dividing query results (typically on a user interface) into discrete pages, where each page contains a smaller/more manageable number of rows. In classic offset pagination, each page shows a fixed count of rows [...]

Source: www.oratable.com
Вт, Окт 09, 2018
Conditional unique index on multiple columns

When we need to enforce uniqueness on a combination of table columns *only if* a certain condition is true, Oracle helps us implement this using a function-based index.

What is a Function-Based Index?

A function-based index is created on the value of [...]

Source: www.oratable.com
Вт, Окт 09, 2018
Conditional unique index on multiple columns

When we need to enforce uniqueness on a combination of table columns *only if* a certain condition is true, Oracle helps us implement this using a function-based index.

What is a Function-Based Index?

A function-based index is created on the value of [...]

Source: www.oratable.com
Ср, Окт 03, 2018
Java Stored Procedures in Oracle

Some solution requirements are best addressed with Java code in the Oracle database. This article shows you use cases where Java methods in Oracle are useful, how Oracle lets you store Java methods and how they can be called from PL/SQL.

Java [...]
Source: www.oratable.com
Ср, Окт 03, 2018
Java Stored Procedures in Oracle

Some solution requirements are best addressed with Java code in the Oracle database. This article shows you use cases where Java methods in Oracle are useful, how Oracle lets you store Java methods and how they can be called from SQL [...]

Source: www.oratable.com
Ср, Сен 05, 2018
Джойны - это запросы, комбинирующие строки из нескольких таблиц, представлений или материализованных представлений, которые перечислены в секции FROM запроса.

INNER JOIN
Inner join или просто join возвращает только те строки из двух таблиц, которые удовлетворяют условию указанному в ON:

SELECT
s.id,
s.supplier_name,
[...]
Source: OracleForBeginners
Ср, Сен 05, 2018
Джойны - это запросы, комбинирующие строки из нескольких таблиц, представлений или материализованных представлений, которые перечислены в секции FROM запроса.

INNER JOIN
Inner join или просто join возвращает только те строки из двух таблиц, которые удовлетворяют условию указанному в ON:

SELECT
s.id,
s.supplier_name,
[...]
Source: OracleForBeginners
Пн, Сен 03, 2018
REGEX to Split String into Rows

A typical scenario that involves splitting a comma-separated string into rows:

in a UI-driven query, the user would enter a list of IDs into an input box, and the application should retrieve details for the input list of IDs

The [...]

Source: www.oratable.com
Пн, Сен 03, 2018
REGEX to Split String into Rows

A typical scenario that involves splitting a comma-separated string into rows:

in a UI-driven query, the user would enter a list of IDs into an input box, and the application should retrieve details for the input list of IDs

The [...]

Source: www.oratable.com
Пт, Авг 17, 2018
Заметно замедлившайся рутинная операция обновления matview в версии Oracle 12.2 указывала, что выполняющая обновление сессия помимо необходимых и понятных операций DELETE+INSERT значительную часть времени проводила в дублирующих общую статистику DBMS_STATS подсчётах Cardinality всех подряд странного набора matview нашей базы: — при этом для некоторых matview Cardinality вычислялась с двойной точностью [...]
Source: iusoltsev.wordpress.com
Пт, Авг 17, 2018
Поскольку некоторые инструменты разработки генерируют связанные переменные вида :"1", :"2",.., а некоторые классы запросов могут по факту вытолнятся только на Readonly Standby, не присутствуя на Primary ни в каком виде, для фиксации/оптимизации плана бывает необходимо каким-то образом поместить такой запрос (sql_id) в Primary Shared Pool, что можно сделать стандартным способом [...]
Source: iusoltsev.wordpress.com
Пн, Авг 06, 2018
Post image for How to Install and Configure SQL*Plus Instant Client on Windows

GUI tools like TOAD and SQL Developer are all fine, but those who have cut their teeth on SQL*Plus will not do without the good old command-line interface. And so, a message like the one below [...]

Source: www.oratable.com
Пн, Авг 06, 2018
Post image for How to Install and Configure SQL*Plus Instant Client on Windows

GUI tools like TOAD and SQL Developer are all fine, but those who have cut their teeth on SQL*Plus will not do without good old command-line interface. And so, a message like the one below makes [...]

Source: www.oratable.com
Пт, Июн 15, 2018
Скачок Load Average на обеих нодах: high_LA_06062018.png был спровоцирован частым выполнением запроса со стабильным, но не очень удачным планом 4125831042: , причём относительно высокая доля ожиданий класса Concurrency — колонка CCWAITS_PER_EXEC (соответствующая DBA_HIST_SQLSTAT.CCWAIT_DELTA/EXECUTIONS_DELTA) относилась к рекурсивным (*) / вызываемым из используемой в запросе PL/SQL функции запросам(**), на что косвенно указывает [...]
Source: iusoltsev.wordpress.com
Пт, Июн 01, 2018
Евгений Калинин обнаружил запрос, факт успешности выполнения которого неожиданно зависел от использования/неиспользования столбцов Inline view(*) а качестве параметров PLSQL_FUNCTION, и худшем случае завершавшийся простой ошибкой: , возникавшей на этапе построения плана, обрывая трассировку где-то в районе Query Transformation — в данном случае трейс заканчивался упоминанием OJE(Outer Join Elimination) Соответствующая трассировка [...]
Source: iusoltsev.wordpress.com
Чт, Май 17, 2018
В докуметации Database Initialization Parameters for Oracle E-Business Suite Release 12 (Doc ID 396009.1) определённо(*) рекомендуется отключить адаптивные фичи: — как указано, чтобы использовать "чистый CBO, т.о. блокируя избыточную генерацию планов и общую нестабильность (см., например, 12c: адаптивная оптимизация и CBO), что и было давно выполнено на уровне системы: , [...]
Source: iusoltsev.wordpress.com
Вс, Мар 25, 2018
При выполнении ALTER TABLE DROP CONSTRAINT случился TM — library cache deadlock распределённого (RAC) вида, отразившийся в ASH следующим образом: где: 1) стартовые условия (session_id,session_serial#) in ((4460,16750)) относятся к сессии, выполняющей DDL sql_id='7kpzqksdg4wu8′ и ожидающей TM-блокировки на целевой пользовательской таблице MY.PAYMENT_Z, при этом столбец DATA_OBJECT_P1RAW отражает название ASH.CURRENT_OBJ#, либо приведённое [...]
Source: iusoltsev.wordpress.com
Ср, Мар 21, 2018
По причине ошибки ORA-00600: Internal Error Code, Arguments: [qmxtcsxmlt:xmltype] (Doc ID 2079499.1), характерной для использования функции XMLAgg в бд состояния MOUNTED (standby or non-standby), переписал скрипт ASH_IO_WAITS.SQL для поиска наиболее активных в WAIT_CLASS-ах ‘User I/O‘ и ‘System I/O‘ процессов/запросов на STANDBY и прочих MOUNTED системах Например, при замедлившемся накате standby [...]
Source: iusoltsev.wordpress.com
Пт, Мар 09, 2018
Всплеск нагрузки на IO подсистему: сопровождался, по нашим с Дмитрием Якубеней наблюдениям, дисбалансом в отчёте AWR — совершенно незначительные цифры пользовательской нагрузки (*): никак не коррелировали с Total (MB) нагрузкой AWR IO Profile (**): , основная часть которой была сосредоточена в районе Redo Read (***) Подходящее ожидание log file sequential [...]
Source: iusoltsev.wordpress.com
Сб, Фев 24, 2018
В процессе тестирования с Максимом Филатовым Patch 20933264: OUT-OF-PLACE COMPLETE REFRESH NOT USING DIRECT LOAD IN POPULATING OUTSIDE TABLE наблюдали следующее воспроизводимое поведение: После чего SYS.SNAP_REFOP$ содержит три операции: — первая из которых (INSERT INTO "SCOTT.EMP_SNAPSHOT2″) кажется не очень подходящей для исправленной патчем опции out_of_place => TRUE Трейс 10046 показывает, [...]
Source: iusoltsev.wordpress.com
Чт, Фев 22, 2018
— живой и интересный! Несколько иллюстраций к рассказанному Александром: Список используемых/наблюдаемых в системе опций подсказки RESULT_CACHE: Franck Pachot. RESULT_CACHE hint expiration options — тесты недокументированных опций: SNAPSHOT — гарантированное /независимое от DML/ время хранения/валидности Result Cache SHELFLIFE — гарантированное время инвалидации кэша в секундах, логично применяемое для кэширования системных объектов [...]
Source: iusoltsev.wordpress.com
Пн, Фев 19, 2018
DML Error Logging DBMS_ERRLOG

When you have an enormous load of data to copy/merge from one table to another, you are probably concerned about:

Performance: How fast can the program copy/merge all the data? Exception handling: How well does the program deal with [...]
Source: www.oratable.com
Комментирование отключено.